diff --git a/apple/iOS/browser.m b/apple/iOS/browser.m index 318e5b751e..deee63ebfb 100644 --- a/apple/iOS/browser.m +++ b/apple/iOS/browser.m @@ -42,10 +42,9 @@ NSString* ragPath = [rootPath stringByAppendingPathComponent:@"RetroArchGames"]; RADirectoryList* list = [RADirectoryList directoryListForPath:path_is_directory(ragPath.UTF8String) ? ragPath : rootPath]; - list.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Refresh" - style:UIBarButtonItemStyleBordered - target:list - action:@selector(refresh)]; + + list.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"New Folder" style:UIBarButtonItemStyleBordered target:list action:@selector(createNewFolder)]; + return list; } @@ -173,6 +172,27 @@ } } +- (void)createNewFolder { + UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Enter new folder name" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil]; + alertView.alertViewStyle = UIAlertViewStylePlainTextInput; + [alertView show]; +} + +- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { + NSString *text = [[alertView textFieldAtIndex:0] text]; + + if (buttonIndex == 1 && ![text isEqualToString:@""]) { + NSString *directoryPath = [_path stringByAppendingPathComponent:text]; + BOOL didCreateFolder = [[NSFileManager defaultManager] createDirectoryAtPath:directoryPath withIntermediateDirectories:YES attributes:nil error:nil]; + + if (didCreateFolder) { + [self refresh]; + } else { + apple_display_alert(@"Not possible to create folder.", 0); + } + } +} + @end @implementation RAModuleList