Browse Source

Replace existing popover/modal menu with sliding menu (close #9045)

Felix Paul Kühne 12 years ago
parent
commit
9bf7a6a763

+ 2 - 1
AspenProject/VLCAboutViewController.m

@@ -9,6 +9,7 @@
 //
 
 #import "VLCAboutViewController.h"
+#import "VLCAppDelegate.h"
 #import "UIBarButtonItem+Theme.h"
 
 @implementation VLCAboutViewController
@@ -46,7 +47,7 @@
 
 - (IBAction)goBack:(id)sender
 {
-    [self.navigationController popViewControllerAnimated:YES];
+    [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
 }
 
 - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType

+ 2 - 1
AspenProject/VLCAppDelegate.h

@@ -10,6 +10,7 @@
 
 #import "VLCDropboxTableViewController.h"
 #import "VLCHTTPUploaderController.h"
+#import "GHRevealViewController.h"
 
 @class VLCPlaylistViewController;
 @class PAPasscodeViewController;
@@ -24,7 +25,7 @@
 
 @property (nonatomic, strong) UIWindow *window;
 
-@property (nonatomic, strong) UINavigationController *navigationController;
+@property (nonatomic, strong) GHRevealViewController *revealController;
 
 @property (nonatomic, retain) NSDate *nextPasscodeCheckDate;
 

+ 7 - 4
AspenProject/VLCAppDelegate.m

@@ -59,11 +59,14 @@
     self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
 
     _playlistViewController = [[VLCPlaylistViewController alloc] init];
+    UINavigationController *navCon = [[UINavigationController alloc] initWithRootViewController:_playlistViewController];
+    [navCon loadTheme];
 
-    self.navigationController = [[UINavigationController alloc] initWithRootViewController:_playlistViewController];
-    [self.navigationController loadTheme];
+    _revealController = [[GHRevealViewController alloc] initWithNibName:nil bundle:nil];
+    _revealController.sidebarViewController = [[VLCMenuViewController alloc] initWithNibName:nil bundle:nil];
+    _revealController.contentViewController = navCon;
 
-    self.window.rootViewController = self.navigationController;
+    self.window.rootViewController = self.revealController;
     [self.window makeKeyAndVisible];
 
     VLCMediaFileDiscoverer *discoverer = [VLCMediaFileDiscoverer sharedInstance];
@@ -250,7 +253,7 @@
 {
     // TODO add transition animation, i.e. fade
     self.nextPasscodeCheckDate = [NSDate dateWithTimeIntervalSinceNow:300];
-    self.window.rootViewController = self.navigationController;
+    self.window.rootViewController = self.revealController;
 }
 
 - (void)PAPasscodeViewController:(PAPasscodeViewController *)controller didFailToEnterPasscode:(NSInteger)attempts

+ 1 - 1
AspenProject/VLCDropboxTableViewController.m

@@ -134,7 +134,7 @@
         _currentPath = [_currentPath stringByDeletingLastPathComponent];
         [self _requestInformationForCurrentPath];
     } else
-        [self.navigationController popViewControllerAnimated:YES];
+        [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
 }
 
 #pragma mark - Table view data source

+ 2 - 1
AspenProject/VLCHTTPDownloadViewController.m

@@ -10,6 +10,7 @@
 
 #import "VLCHTTPDownloadViewController.h"
 #import "VLCHTTPFileDownloader.h"
+#import "VLCAppDelegate.h"
 #import "UIBarButtonItem+Theme.h"
 
 @interface VLCHTTPDownloadViewController ()
@@ -57,7 +58,7 @@
 
 - (IBAction)goBack:(id)sender
 {
-    [self.navigationController popViewControllerAnimated:YES];
+    [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
 }
 
 - (IBAction)downloadAction:(id)sender

+ 2 - 1
AspenProject/VLCMenuViewController.h

@@ -18,6 +18,7 @@
 @property (strong, nonatomic) IASKAppSettingsViewController *settingsViewController;
 @property (strong, nonatomic) VLCSettingsController *settingsController;
 
+@property (strong, nonatomic) IBOutlet UIButton *allFilesButton;
 @property (strong, nonatomic) IBOutlet UIButton *aboutButton;
 @property (strong, nonatomic) IBOutlet UIButton *openNetworkStreamButton;
 @property (strong, nonatomic) IBOutlet UIButton *downloadFromHTTPServerButton;
@@ -27,7 +28,7 @@
 @property (strong, nonatomic) IBOutlet UILabel *httpUploadServerLocationLabel;
 @property (strong, nonatomic) IBOutlet UIButton *dropboxButton;
 
-- (IBAction)dismiss:(id)sender;
+- (IBAction)showAllFiles:(id)sender;
 - (IBAction)openAboutPanel:(id)sender;
 - (IBAction)openNetworkStream:(id)sender;
 - (IBAction)downloadFromHTTPServer:(id)sender;

+ 13 - 28
AspenProject/VLCMenuViewController.m

@@ -39,13 +39,6 @@
 
 @implementation VLCMenuViewController
 
-- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
-{
-    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
-
-    return self;
-}
-
 - (void)dealloc
 {
     [_reachability stopNotifier];
@@ -56,13 +49,8 @@
 {
     [super viewDidLoad];
 
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {
-        UIBarButtonItem *dismissButton = [UIBarButtonItem themedDoneButtonWithTarget:self andSelector:@selector(dismiss:)];
-        dismissButton.width = 80.;
-        self.navigationItem.titleView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"menuCone"]];
-        self.navigationItem.rightBarButtonItem = dismissButton;
-        [(UIScrollView *)self.view setContentSize:self.view.bounds.size];
-    }
+	self.view.frame = CGRectMake(0.0f, 0.0f, kGHRevealSidebarWidth, CGRectGetHeight(self.view.bounds));
+	self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight;
 
     [self.aboutButton setTitle:NSLocalizedString(@"ABOUT_APP", @"") forState:UIControlStateNormal];
     [self.openNetworkStreamButton setTitle:NSLocalizedString(@"OPEN_NETWORK", @"") forState:UIControlStateNormal];
@@ -84,8 +72,9 @@
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(netReachabilityChanged:) name:kReachabilityChangedNotification object:nil];
 }
 
-- (CGSize)contentSizeForViewInPopover {
-    return [self.view sizeThatFits:CGSizeMake(320, 800)];
+- (void)viewWillAppear:(BOOL)animated
+{
+    self.view.frame = CGRectMake(0.0f, 0.0f,kGHRevealSidebarWidth, CGRectGetHeight(self.view.bounds));
 }
 
 - (void)netReachabilityChanged:(NSNotification *)notification
@@ -100,18 +89,9 @@
     }
 }
 
-- (void)_hideAnimated:(BOOL)animated
+- (IBAction)showAllFiles:(id)sender
 {
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
-        VLCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
-        [appDelegate.playlistViewController.addMediaPopoverController dismissPopoverAnimated:YES];
-    } else
-        [self dismissViewControllerAnimated:animated completion:NULL];
-}
-
-- (IBAction)dismiss:(id)sender
-{
-    [self _hideAnimated:YES];
+    [self _presentViewController:[(VLCAppDelegate*)[UIApplication sharedApplication].delegate playlistViewController]];
 }
 
 - (IBAction)openAboutPanel:(id)sender
@@ -195,7 +175,12 @@
             viewController.navigationItem.rightBarButtonItem = doneButton;
         }
     } else {
-        [self.navigationController pushViewController:viewController animated:YES];
+        UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController];
+        [navController loadTheme];
+
+        GHRevealViewController *ghVC = [(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController];
+        ghVC.contentViewController = navController;
+        [ghVC toggleSidebar:NO duration:kGHRevealSidebarDefaultAnimationDuration];
     }
 }
 

+ 1 - 1
AspenProject/VLCOpenNetworkStreamViewController.m

@@ -85,7 +85,7 @@
 
 - (IBAction)goBack:(id)sender
 {
-    [self.navigationController popViewControllerAnimated:YES];
+    [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
 }
 
 - (IBAction)openButtonAction:(id)sender

+ 3 - 19
AspenProject/VLCPlaylistViewController.m

@@ -16,6 +16,7 @@
 #import "UINavigationController+Theme.h"
 #import "NSString+SupportedMedia.h"
 #import "VLCBugreporter.h"
+#import "VLCAppDelegate.h"
 
 @implementation EmptyLibraryView
 @end
@@ -300,6 +301,7 @@
 
 - (void)initMenuViewController
 {
+    return;
     VLCMenuViewController *menuViewController = [[VLCMenuViewController alloc] initWithNibName:nil bundle:nil];
     UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:menuViewController];
     [navigationController loadTheme];
@@ -310,25 +312,7 @@
 
 - (IBAction)leftButtonAction:(id)sender
 {
-    if (self.menuViewController == nil) {
-        [self initMenuViewController];
-    }
-
-    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
-        self.menuViewController.contentSizeForViewInPopover = self.menuViewController.view.frame.size;
-        if (self.addMediaPopoverController == nil) {
-            self.addMediaPopoverController = [[UIPopoverController alloc] initWithContentViewController:self.menuViewController];
-            self.addMediaPopoverController.delegate = self;
-        }
-
-        if (self.addMediaPopoverController.popoverVisible)
-            [self.addMediaPopoverController dismissPopoverAnimated:YES];
-        else
-            [self.addMediaPopoverController presentPopoverFromBarButtonItem:self.navigationItem.leftBarButtonItem
-                                                   permittedArrowDirections:UIPopoverArrowDirectionUp
-                                                                   animated:YES];
-    } else
-        [self.navigationController presentViewController:self.menuViewController animated:YES completion:NULL];
+    [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
 }
 
 /* deprecated in iOS 6 */

+ 1 - 1
AspenProject/VLCSettingsController.m

@@ -46,7 +46,7 @@
 - (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender
 {
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)
-        [self.viewController.navigationController popViewControllerAnimated:YES];
+        [[(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController] toggleSidebar:![(VLCAppDelegate*)[UIApplication sharedApplication].delegate revealController].sidebarShowing duration:kGHRevealSidebarDefaultAnimationDuration];
     else
         [self.viewController.navigationController dismissModalViewControllerAnimated:YES];
 }

+ 68 - 24
Resources/VLCMenuViewController.xib

@@ -2,7 +2,7 @@
 <archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="8.00">
 	<data>
 		<int key="IBDocument.SystemTarget">1296</int>
-		<string key="IBDocument.SystemVersion">12F17</string>
+		<string key="IBDocument.SystemVersion">12F33</string>
 		<string key="IBDocument.InterfaceBuilderVersion">3084</string>
 		<string key="IBDocument.AppKitVersion">1187.39</string>
 		<string key="IBDocument.HIToolboxVersion">626.00</string>
@@ -37,12 +37,12 @@
 			</object>
 			<object class="IBUIScrollView" id="322809953">
 				<reference key="NSNextResponder"/>
-				<int key="NSvFlags">274</int>
+				<int key="NSvFlags">276</int>
 				<array class="NSMutableArray" key="NSSubviews">
 					<object class="IBUIButton" id="233942944">
 						<reference key="NSNextResponder" ref="322809953"/>
 						<int key="NSvFlags">290</int>
-						<string key="NSFrameSize">{320, 60}</string>
+						<string key="NSFrame">{{0, 64}, {260, 60}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
 						<reference key="NSNextKeyView" ref="306241553"/>
@@ -82,9 +82,10 @@
 					<object class="IBUIButton" id="306241553">
 						<reference key="NSNextResponder" ref="322809953"/>
 						<int key="NSvFlags">290</int>
-						<string key="NSFrame">{{0, 64}, {320, 60}}</string>
+						<string key="NSFrame">{{0, 128}, {260, 60}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="136452396"/>
 						<string key="NSReuseIdentifierKey">_NS:9</string>
 						<reference key="IBUIBackgroundColor" ref="937037271"/>
 						<bool key="IBUIOpaque">NO</bool>
@@ -102,7 +103,7 @@
 					<object class="IBUIButton" id="665933893">
 						<reference key="NSNextResponder" ref="322809953"/>
 						<int key="NSvFlags">290</int>
-						<string key="NSFrame">{{0, 259}, {320, 60}}</string>
+						<string key="NSFrame">{{0, 323}, {260, 60}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
 						<reference key="NSNextKeyView" ref="1021636329"/>
@@ -123,7 +124,7 @@
 					<object class="IBUIButton" id="1021636329">
 						<reference key="NSNextResponder" ref="322809953"/>
 						<int key="NSvFlags">290</int>
-						<string key="NSFrame">{{0, 323}, {320, 60}}</string>
+						<string key="NSFrame">{{0, 387}, {260, 60}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
 						<string key="NSReuseIdentifierKey">_NS:9</string>
@@ -143,7 +144,7 @@
 					<object class="IBUIButton" id="502729697">
 						<reference key="NSNextResponder" ref="322809953"/>
 						<int key="NSvFlags">290</int>
-						<string key="NSFrame">{{0, 195}, {320, 60}}</string>
+						<string key="NSFrame">{{0, 259}, {260, 60}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
 						<reference key="NSNextKeyView" ref="665933893"/>
@@ -171,7 +172,7 @@
 							<object class="IBUIImageView" id="643865985">
 								<reference key="NSNextResponder" ref="136452396"/>
 								<int key="NSvFlags">290</int>
-								<string key="NSFrameSize">{320, 63}</string>
+								<string key="NSFrameSize">{260, 63}</string>
 								<reference key="NSSuperview" ref="136452396"/>
 								<reference key="NSWindow"/>
 								<reference key="NSNextKeyView" ref="342130383"/>
@@ -183,7 +184,7 @@
 							<object class="IBUISwitch" id="854423543">
 								<reference key="NSNextResponder" ref="136452396"/>
 								<int key="NSvFlags">289</int>
-								<string key="NSFrame">{{208, 5}, {94, 27}}</string>
+								<string key="NSFrame">{{148, 5}, {94, 27}}</string>
 								<reference key="NSSuperview" ref="136452396"/>
 								<reference key="NSWindow"/>
 								<reference key="NSNextKeyView" ref="800651050"/>
@@ -203,7 +204,7 @@
 							<object class="IBUILabel" id="342130383">
 								<reference key="NSNextResponder" ref="136452396"/>
 								<int key="NSvFlags">290</int>
-								<string key="NSFrame">{{20, 8}, {195, 21}}</string>
+								<string key="NSFrame">{{20, 8}, {135, 21}}</string>
 								<reference key="NSSuperview" ref="136452396"/>
 								<reference key="NSWindow"/>
 								<reference key="NSNextKeyView" ref="854423543"/>
@@ -225,7 +226,7 @@
 							<object class="IBUILabel" id="800651050">
 								<reference key="NSNextResponder" ref="136452396"/>
 								<int key="NSvFlags">290</int>
-								<string key="NSFrame">{{20, 37}, {280, 21}}</string>
+								<string key="NSFrame">{{20, 37}, {220, 21}}</string>
 								<reference key="NSSuperview" ref="136452396"/>
 								<reference key="NSWindow"/>
 								<reference key="NSNextKeyView" ref="502729697"/>
@@ -252,7 +253,7 @@
 								<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
 							</object>
 						</array>
-						<string key="NSFrame">{{0, 128}, {320, 63}}</string>
+						<string key="NSFrame">{{0, 192}, {260, 63}}</string>
 						<reference key="NSSuperview" ref="322809953"/>
 						<reference key="NSWindow"/>
 						<reference key="NSNextKeyView" ref="643865985"/>
@@ -260,10 +261,32 @@
 						<reference key="IBUIBackgroundColor" ref="937037271"/>
 						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
 					</object>
+					<object class="IBUIButton" id="197466448">
+						<reference key="NSNextResponder" ref="322809953"/>
+						<int key="NSvFlags">290</int>
+						<string key="NSFrameSize">{260, 60}</string>
+						<reference key="NSSuperview" ref="322809953"/>
+						<reference key="NSWindow"/>
+						<reference key="NSNextKeyView" ref="233942944"/>
+						<string key="NSReuseIdentifierKey">_NS:9</string>
+						<reference key="IBUIBackgroundColor" ref="937037271"/>
+						<bool key="IBUIOpaque">NO</bool>
+						<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
+						<int key="IBUIContentHorizontalAlignment">0</int>
+						<int key="IBUIContentVerticalAlignment">0</int>
+						<string key="IBUINormalTitle">Media Library</string>
+						<reference key="IBUIHighlightedTitleColor" ref="878206399"/>
+						<reference key="IBUINormalTitleColor" ref="937037271"/>
+						<reference key="IBUINormalTitleShadowColor" ref="1025413593"/>
+						<reference key="IBUINormalBackgroundImage" ref="181125913"/>
+						<reference key="IBUIFontDescription" ref="886215057"/>
+						<reference key="IBUIFont" ref="388488631"/>
+					</object>
 				</array>
-				<string key="NSFrameSize">{320, 383}</string>
+				<string key="NSFrameSize">{260, 447}</string>
 				<reference key="NSSuperview"/>
 				<reference key="NSWindow"/>
+				<reference key="NSNextKeyView" ref="197466448"/>
 				<string key="NSReuseIdentifierKey">_NS:9</string>
 				<object class="NSColor" key="IBUIBackgroundColor">
 					<int key="NSColorSpace">3</int>
@@ -407,6 +430,15 @@
 					</object>
 					<int key="connectionID">75</int>
 				</object>
+				<object class="IBConnectionRecord">
+					<object class="IBCocoaTouchEventConnection" key="connection">
+						<string key="label">showAllFiles:</string>
+						<reference key="source" ref="197466448"/>
+						<reference key="destination" ref="372490531"/>
+						<int key="IBEventType">7</int>
+					</object>
+					<int key="connectionID">86</int>
+				</object>
 			</array>
 			<object class="IBMutableOrderedSet" key="objectRecords">
 				<array key="orderedObjects">
@@ -431,12 +463,13 @@
 						<int key="objectID">79</int>
 						<reference key="object" ref="322809953"/>
 						<array class="NSMutableArray" key="children">
-							<reference ref="136452396"/>
-							<reference ref="502729697"/>
-							<reference ref="1021636329"/>
-							<reference ref="665933893"/>
-							<reference ref="306241553"/>
 							<reference ref="233942944"/>
+							<reference ref="306241553"/>
+							<reference ref="665933893"/>
+							<reference ref="1021636329"/>
+							<reference ref="502729697"/>
+							<reference ref="136452396"/>
+							<reference ref="197466448"/>
 						</array>
 						<reference key="parent" ref="0"/>
 					</object>
@@ -496,6 +529,11 @@
 						<reference key="object" ref="800651050"/>
 						<reference key="parent" ref="136452396"/>
 					</object>
+					<object class="IBObjectRecord">
+						<int key="objectID">84</int>
+						<reference key="object" ref="197466448"/>
+						<reference key="parent" ref="322809953"/>
+					</object>
 				</array>
 			</object>
 			<dictionary class="NSMutableDictionary" key="flattenedProperties">
@@ -514,12 +552,13 @@
 				<string key="70.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 				<string key="77.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 				<string key="79.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
+				<string key="84.IBPluginDependency">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
 			</dictionary>
 			<dictionary class="NSMutableDictionary" key="unlocalizedProperties"/>
 			<nil key="activeLocalization"/>
 			<dictionary class="NSMutableDictionary" key="localizations"/>
 			<nil key="sourceID"/>
-			<int key="maxID">81</int>
+			<int key="maxID">86</int>
 		</object>
 		<object class="IBClassDescriber" key="IBDocument.Classes">
 			<array class="NSMutableArray" key="referencedPartialClassDescriptions">
@@ -527,19 +566,15 @@
 					<string key="className">VLCMenuViewController</string>
 					<string key="superclassName">UIViewController</string>
 					<dictionary class="NSMutableDictionary" key="actions">
-						<string key="dismiss:">id</string>
 						<string key="downloadFromHTTPServer:">id</string>
 						<string key="openAboutPanel:">id</string>
 						<string key="openNetworkStream:">id</string>
+						<string key="showAllFiles:">id</string>
 						<string key="showDropbox:">id</string>
 						<string key="showSettings:">id</string>
 						<string key="toggleHTTPServer:">id</string>
 					</dictionary>
 					<dictionary class="NSMutableDictionary" key="actionInfosByName">
-						<object class="IBActionInfo" key="dismiss:">
-							<string key="name">dismiss:</string>
-							<string key="candidateClassName">id</string>
-						</object>
 						<object class="IBActionInfo" key="downloadFromHTTPServer:">
 							<string key="name">downloadFromHTTPServer:</string>
 							<string key="candidateClassName">id</string>
@@ -552,6 +587,10 @@
 							<string key="name">openNetworkStream:</string>
 							<string key="candidateClassName">id</string>
 						</object>
+						<object class="IBActionInfo" key="showAllFiles:">
+							<string key="name">showAllFiles:</string>
+							<string key="candidateClassName">id</string>
+						</object>
 						<object class="IBActionInfo" key="showDropbox:">
 							<string key="name">showDropbox:</string>
 							<string key="candidateClassName">id</string>
@@ -567,6 +606,7 @@
 					</dictionary>
 					<dictionary class="NSMutableDictionary" key="outlets">
 						<string key="aboutButton">UIButton</string>
+						<string key="allFilesButton">UIButton</string>
 						<string key="downloadFromHTTPServerButton">UIButton</string>
 						<string key="dropboxButton">UIButton</string>
 						<string key="httpUploadLabel">UILabel</string>
@@ -580,6 +620,10 @@
 							<string key="name">aboutButton</string>
 							<string key="candidateClassName">UIButton</string>
 						</object>
+						<object class="IBToOneOutletInfo" key="allFilesButton">
+							<string key="name">allFilesButton</string>
+							<string key="candidateClassName">UIButton</string>
+						</object>
 						<object class="IBToOneOutletInfo" key="downloadFromHTTPServerButton">
 							<string key="name">downloadFromHTTPServerButton</string>
 							<string key="candidateClassName">UIButton</string>

+ 14 - 0
VLC for iOS.xcodeproj/project.pbxproj

@@ -77,6 +77,7 @@
 		7D1AC30D17629D4600BD2EB5 /* title@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7D1AC30B17629D4600BD2EB5 /* title@2x.png */; };
 		7D2339AF176DE72E008D223C /* VLCOpenNetworkStreamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D2339AD176DE72E008D223C /* VLCOpenNetworkStreamViewController.m */; };
 		7D2339B0176DE72E008D223C /* VLCOpenNetworkStreamViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D2339AE176DE72E008D223C /* VLCOpenNetworkStreamViewController.xib */; };
+		7D31001D17B64AE100E6516D /* GHRevealViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D31001C17B64AE100E6516D /* GHRevealViewController.m */; };
 		7D31CF091746AF09005997E0 /* VLCStatusLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D31CF081746AF09005997E0 /* VLCStatusLabel.m */; };
 		7D33D41617182615008AF0E0 /* VLCMovieViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D33D41517182615008AF0E0 /* VLCMovieViewController~ipad.xib */; };
 		7D3EB012174A3530002062C2 /* Reachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3EB011174A3530002062C2 /* Reachability.m */; };
@@ -409,6 +410,8 @@
 		7D2339AC176DE72E008D223C /* VLCOpenNetworkStreamViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCOpenNetworkStreamViewController.h; sourceTree = "<group>"; };
 		7D2339AD176DE72E008D223C /* VLCOpenNetworkStreamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCOpenNetworkStreamViewController.m; sourceTree = "<group>"; };
 		7D2339AE176DE72E008D223C /* VLCOpenNetworkStreamViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCOpenNetworkStreamViewController.xib; path = ../Resources/VLCOpenNetworkStreamViewController.xib; sourceTree = "<group>"; };
+		7D31001B17B64AE100E6516D /* GHRevealViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GHRevealViewController.h; path = ImportedSources/GHSidebarNav/GHSidebarNav/GHRevealViewController.h; sourceTree = SOURCE_ROOT; };
+		7D31001C17B64AE100E6516D /* GHRevealViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GHRevealViewController.m; path = ImportedSources/GHSidebarNav/GHSidebarNav/GHRevealViewController.m; sourceTree = SOURCE_ROOT; };
 		7D31CF071746AF09005997E0 /* VLCStatusLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCStatusLabel.h; sourceTree = "<group>"; };
 		7D31CF081746AF09005997E0 /* VLCStatusLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCStatusLabel.m; sourceTree = "<group>"; };
 		7D33D41517182615008AF0E0 /* VLCMovieViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCMovieViewController~ipad.xib"; path = "Resources/VLCMovieViewController~ipad.xib"; sourceTree = SOURCE_ROOT; };
@@ -989,6 +992,15 @@
 			name = Menu;
 			sourceTree = "<group>";
 		};
+		7D31001E17B64AE600E6516D /* GHSidebarNav */ = {
+			isa = PBXGroup;
+			children = (
+				7D31001B17B64AE100E6516D /* GHRevealViewController.h */,
+				7D31001C17B64AE100E6516D /* GHRevealViewController.m */,
+			);
+			name = GHSidebarNav;
+			sourceTree = "<group>";
+		};
 		7D31CF061746AEF2005997E0 /* UI Elements */ = {
 			isa = PBXGroup;
 			children = (
@@ -1336,6 +1348,7 @@
 				A7A0E9EB174BA66000162F25 /* PAPasscode */,
 				7D3EB010174A3530002062C2 /* Reachability.h */,
 				7D3EB011174A3530002062C2 /* Reachability.m */,
+				7D31001E17B64AE600E6516D /* GHSidebarNav */,
 				291553E817490A0400B86CAD /* CocoaHTTPServer */,
 				7D6B07A41716C9AD003280C4 /* AQGridView */,
 				7D6B07A31716C9A6003280C4 /* OBSlider */,
@@ -1771,6 +1784,7 @@
 				7DDABBB71775A3C7003D8937 /* UIDevice+SpeedCategory.m in Sources */,
 				7DD2A3A7179BFAFE003EB537 /* VLCBugreporter.m in Sources */,
 				A7D03A4717A41AD30022C16F /* VLCMediaFileDiscoverer.m in Sources */,
+				7D31001D17B64AE100E6516D /* GHRevealViewController.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};