From 819624e81a4cefdc581561f9edfe99abd978434d Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 06:11:50 -0700 Subject: [PATCH 1/9] Re-Added MainMenu.xib --- HandBrakeBatch.xcodeproj/project.pbxproj | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/HandBrakeBatch.xcodeproj/project.pbxproj b/HandBrakeBatch.xcodeproj/project.pbxproj index 6d052f5..89c5f60 100644 --- a/HandBrakeBatch.xcodeproj/project.pbxproj +++ b/HandBrakeBatch.xcodeproj/project.pbxproj @@ -32,11 +32,12 @@ 0EEC804A1369B4EA00D05124 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0EEC80481369B4EA00D05124 /* InfoPlist.strings */; }; 0EEC804D1369B4EA00D05124 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EEC804C1369B4EA00D05124 /* main.m */; }; 0EEC80531369B4EA00D05124 /* HandBrakeBatchAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EEC80521369B4EA00D05124 /* HandBrakeBatchAppDelegate.m */; }; - 0EEC80561369B4EA00D05124 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0EEC80541369B4EA00D05124 /* MainMenu.xib */; }; + 0EEC80561369B4EA00D05124 /* MainMenuOrig.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */; }; 0EF72315136CFCE100D223F4 /* gpl-3.0.txt in Resources */ = {isa = PBXBuildFile; fileRef = 0EF72314136CFCE100D223F4 /* gpl-3.0.txt */; }; 0EF8EF95136CFEB700884AE8 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 0EF8EF93136CFEB700884AE8 /* Credits.rtf */; }; 0EF8EFB1136D981000884AE8 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0EF8EFB0136D981000884AE8 /* Sparkle.framework */; }; 0EF8EFB6136D9D2200884AE8 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0EF8EFB0136D981000884AE8 /* Sparkle.framework */; }; + 4117F47616B40BED0091DCAD /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4117F47516B40BED0091DCAD /* MainMenu.xib */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -106,10 +107,11 @@ 0EEC804C1369B4EA00D05124 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 0EEC80511369B4EA00D05124 /* HandBrakeBatchAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HandBrakeBatchAppDelegate.h; sourceTree = ""; }; 0EEC80521369B4EA00D05124 /* HandBrakeBatchAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HandBrakeBatchAppDelegate.m; sourceTree = ""; }; - 0EEC80551369B4EA00D05124 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = ""; }; + 0EEC80551369B4EA00D05124 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenuOrig.xib; sourceTree = ""; }; 0EF72314136CFCE100D223F4 /* gpl-3.0.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "gpl-3.0.txt"; sourceTree = ""; }; 0EF8EF94136CFEB700884AE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 0EF8EFB0136D981000884AE8 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; + 4117F47516B40BED0091DCAD /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -158,7 +160,8 @@ 0E549260136C49BD0094563F /* xib */ = { isa = PBXGroup; children = ( - 0EEC80541369B4EA00D05124 /* MainMenu.xib */, + 4117F47516B40BED0091DCAD /* MainMenu.xib */, + 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */, 0E18546A136C4222004B5558 /* HBBProgressWindow.xib */, 0E987E2013E4062C00A99716 /* Preferences.xib */, ); @@ -304,7 +307,7 @@ buildActionMask = 2147483647; files = ( 0EEC804A1369B4EA00D05124 /* InfoPlist.strings in Resources */, - 0EEC80561369B4EA00D05124 /* MainMenu.xib in Resources */, + 0EEC80561369B4EA00D05124 /* MainMenuOrig.xib in Resources */, 0E18546B136C4222004B5558 /* HBBProgressWindow.xib in Resources */, 0E9B490A136C874000FCDC68 /* Icon.icns in Resources */, 0EF72315136CFCE100D223F4 /* gpl-3.0.txt in Resources */, @@ -315,6 +318,7 @@ 0E6C285C14C288BC004A0FE5 /* iso639-2.db in Resources */, 0EE562F215BFFD8F0054359B /* HandBrakeCLI in Resources */, 0EC6D60415C002F70016775D /* manicure.rb in Resources */, + 4117F47616B40BED0091DCAD /* MainMenu.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -349,12 +353,12 @@ name = InfoPlist.strings; sourceTree = ""; }; - 0EEC80541369B4EA00D05124 /* MainMenu.xib */ = { + 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */ = { isa = PBXVariantGroup; children = ( 0EEC80551369B4EA00D05124 /* en */, ); - name = MainMenu.xib; + name = MainMenuOrig.xib; sourceTree = ""; }; 0EF8EF93136CFEB700884AE8 /* Credits.rtf */ = { @@ -419,6 +423,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ENABLE_OBJC_ARC = NO; + CODE_SIGN_IDENTITY = "iPhone Developer: Matt Maher (XF6YX54VVW)"; COMBINE_HIDPI_IMAGES = YES; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -433,6 +438,7 @@ INFOPLIST_FILE = "HandBrakeBatch/HandBrakeBatch-Info.plist"; MACOSX_DEPLOYMENT_TARGET = 10.7; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE = ""; SDKROOT = macosx; WRAPPER_EXTENSION = app; }; From fad15f9472238362bfeaf751b22c0d8700aaec59 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 06:12:39 -0700 Subject: [PATCH 2/9] UI Done for "send to app when done". Still awaiting work on the actual send work. --- HandBrakeBatch/HandBrakeBatchAppDelegate.h | 5 + HandBrakeBatch/HandBrakeBatchAppDelegate.m | 116 ++++++++++++++++++++- 2 files changed, 118 insertions(+), 3 deletions(-) diff --git a/HandBrakeBatch/HandBrakeBatchAppDelegate.h b/HandBrakeBatch/HandBrakeBatchAppDelegate.h index c59c2cf..95af732 100644 --- a/HandBrakeBatch/HandBrakeBatchAppDelegate.h +++ b/HandBrakeBatch/HandBrakeBatchAppDelegate.h @@ -35,7 +35,10 @@ IBOutlet NSButton *chooseOutputFolder; + IBOutlet NSButton *sendFileToCheckbox; + NSString *appSupportFolder; + NSButton *chooseSendToApplication; } @property (assign) IBOutlet NSWindow *window; @@ -47,6 +50,8 @@ - (IBAction)presetSelected:(id)sender; - (IBAction)showPreferences:(id)sender; - (IBAction)donate:(id)sender; +- (IBAction)chooseSendToApplication:(id)sender; +- (IBAction)sendToApplicationClicked:(id)sender; -(void)processFiles:(NSURL *)url; diff --git a/HandBrakeBatch/HandBrakeBatchAppDelegate.m b/HandBrakeBatch/HandBrakeBatchAppDelegate.m index 9947b53..64af72f 100644 --- a/HandBrakeBatch/HandBrakeBatchAppDelegate.m +++ b/HandBrakeBatch/HandBrakeBatchAppDelegate.m @@ -18,9 +18,15 @@ @implementation HandBrakeBatchAppDelegate @synthesize window, inputFiles; + #pragma mark Initialization +static NSString *PREF_SEND_FILE_TO_APP_PATH = @"HBBSendConvertedFileToAppPath"; +static NSString *PREF_SEND_FILE_TO_APP_NAME = @"HBBSendConvertedFileToAppName"; + + - (id) init { + // Initialize application directory NSFileManager *fm = [NSFileManager defaultManager]; appSupportFolder = [[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) @@ -83,11 +89,11 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://donate.osomac.com/apps/2"]]; [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"HBBNoDonation"]; break; - + case NSAlertAlternateReturn: [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"HBBNoDonation"]; break; - + default: [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"NSFirstLaunchDate"]; break; @@ -97,6 +103,9 @@ - (void)applicationDidFinishLaunching:(NSNotification *)aNotification // Add observer for arrangedObjects [fileNamesController addObserver:self forKeyPath:@"arrangedObjects" options:NSKeyValueObservingOptionNew context:nil]; + + // Set up send file to checkbox + [self redrawSendFileToCheckbox]; } - (void)windowWillClose:(NSNotification *)notification { @@ -112,6 +121,8 @@ - (void)windowWillClose:(NSNotification *)notification { /////////////////////////////////////// - (IBAction)chooseOutputFolder:(id)sender { + + NSOpenPanel *panel = [NSOpenPanel openPanel]; [panel setCanChooseFiles:NO]; @@ -129,7 +140,7 @@ - (IBAction)chooseOutputFolder:(id)sender { if (outputFolderExists) [panel setDirectoryURL:[NSURL fileURLWithPath:outputFolder]]; - + if ([panel runModal] == NSOKButton) { NSString *path = [[panel directoryURL] path]; @@ -190,6 +201,105 @@ -(BOOL) isDuplicate:(HBBInputFile *)file { return false; } + + + +// --++-- --++-- --++-- --++-- --++-- --++-- +#pragma mark - +#pragma mark SEND FILE TO WORK +#pragma mark - + +- (void) redrawSendFileToCheckbox { + if ([self isSendToAppValid]) { + [sendFileToCheckbox setState:NSOnState]; + } + + else { + [self clearAllSendToAppPreferences]; + [sendFileToCheckbox setState:NSOffState]; + } +} +- (void) logAllSendToAppPrefs { + NSLog(@"--- [ SEND TO APP PREFERENCES ] ---"); + NSLog(@"PREF_SEND_FILE_TO_APP_PATH %@", [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_PATH]); + NSLog(@"PREF_SEND_FILE_TO_APP_NAME %@", [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_NAME]); +} + +// Select app to send file to when finished +- (IBAction)chooseSendToApplication:(id)sender { + + // OPEN APP SELECTION PANEL + NSOpenPanel *panel = [NSOpenPanel openPanel]; + + [panel setCanChooseFiles:YES]; + [panel setCanChooseDirectories:NO]; + [panel setAllowsMultipleSelection:NO]; + [panel setCanCreateDirectories:NO]; + + NSString *appPath = [[NSUserDefaults standardUserDefaults] objectForKey:PREF_SEND_FILE_TO_APP_PATH]; + + // POINT THE SELECTION PANEL TO OUR OLD LOCATION + if ([self isSendToAppValid]) { + [panel setDirectoryURL:[NSURL fileURLWithPath:appPath]]; + } + + // NEW FILE SELECTED -- save it + if ([panel runModal] == NSOKButton) { + NSURL *firstPath = [[panel URLs] objectAtIndex:0]; + + // SAVE PATH + NSString *filePath = [[firstPath absoluteString] stringByReplacingOccurrencesOfString:@"file://localhost" withString:@""]; + [[NSUserDefaults standardUserDefaults] setObject:filePath forKey:PREF_SEND_FILE_TO_APP_PATH]; + + // SAVE APP NAME + NSString *appName = [[firstPath lastPathComponent] stringByReplacingOccurrencesOfString: @".app" withString:@""]; + + [[NSUserDefaults standardUserDefaults] setValue:appName forKey:PREF_SEND_FILE_TO_APP_NAME]; + + // MAKE SURE SETTINGS ARE SAVED + [[NSUserDefaults standardUserDefaults] synchronize]; + + // Set up send file to checkbox + [self redrawSendFileToCheckbox]; + } +} + +- (IBAction)sendToApplicationClicked:(id)sender { + NSButtonCell *checkbox = (NSButtonCell *)sender; + if (checkbox) { + [checkbox setState:NSOffState]; + } + + BOOL hadPreviousValue = [self isSendToAppValid]; + + // no matter what we will remove pervious values, then + // call what is needed here + [self clearAllSendToAppPreferences]; + + // TRYING TO ENABLE + // call "chooseSendToApplication:" + if ( ! hadPreviousValue ) { + [self chooseSendToApplication:nil]; + } + +} +- (BOOL) isSendToAppValid { + NSString *appPath = [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_PATH]; + + if ( ! appPath) { + return NO; + } + + NSURL *theURL = [NSURL fileURLWithPath:appPath isDirectory:NO]; + return ([theURL checkResourceIsReachableAndReturnError:nil] == YES); +} +- (void) clearAllSendToAppPreferences { + [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_NAME]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_PATH]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + + // Recursively process files & directories -(void)processFiles:(NSURL *)url { NSArray *videoExtensions = [NSArray arrayWithObjects:@"3g2", @"3gp", @"asf", @"asx", @"avi", @"flv", @"mov", @"mp4", @"mpg", @"rm", @"srt", @"swf", @"vob", @"wmv", @"264", @"3gpp2", @"3mm", @"60d", @"aet", @"avd", @"avs", @"bdt2", @"bnp", @"box", @"bs4", @"byu", @"camv", @"dav", @"ddat", @"dif", @"dlx", @"dmsm3d", @"dnc", @"dv4", @"fbr", @"flx", @"gvp", @"h264", @"irf", @"iva", @"k3g", @"lrec", @"lsx", @"m1v", @"m2a", @"m4u", @"meta", @"mjpg", @"modd", @"moff", @"moov", @"movie", @"mp2v", @"mp4v", @"mpe", @"mpsub", @"mvc", @"mvex", @"mys", @"osp", @"par", @"playlist", @"pns", @"pssd", @"pva", @"pvr", @"qt", @"qtch", @"qtm", @"rp", @"rts", @"sbt", @"scn", @"sfd", @"sml", @"smv", @"spl", @"str", @"vcr", @"vem", @"vft", @"vfw", @"vid", @"video", @"vs4", @"vse", @"w32", @"wm", @"wot", @"787", @"am", @"anim", @"bix", @"cel", @"cvc", @"dsy", @"gl", @"grasp", @"gvi", @"ivs", @"lsf", @"m15", @"m4e", @"m75", @"mmv", @"mob", @"mpeg4", @"mpf", @"mpg2", @"mpv2", @"msh", @"mvb", @"pmv", @"rmd", @"rts", @"scm", @"sec", @"ssm", @"tdx", @"vdx", @"viv", @"vivo", @"vp3", @"aepx", @"ale", @"avp", @"avs", @"bdm", @"bik", @"bin", @"bsf", @"camproj", @"cpi", @"dat", @"divx", @"dmsm", @"dream", @"dvdmedia", @"dvr-ms", @"dzm", @"dzp", @"edl", @"f4v", @"fbr", @"fcproject", @"hdmov", @"imovieproj", @"ism", @"ismv", @"m2p", @"m4v", @"mkv", @"mod", @"moi", @"mpeg", @"mts", @"mxf", @"ogv", @"pds", @"prproj", @"psh", @"r3d", @"rcproject", @"rmvb", @"scm", @"smil", @"sqz", @"stx", @"swi", @"tix", @"trp", @"ts", @"veg", @"vf", @"vro", @"webm", @"wlmp", @"wtv", @"xvid", @"yuv", @"3gp2", @"3gpp", @"3p2", @"aaf", @"aep", @"aetx", @"ajp", @"amc", @"amv", @"amx", @"arcut", @"arf", @"avb", @"axm", @"bdmv", @"bdt3", @"bmk", @"camrec", @"cine", @"clpi", @"cmmp", @"cmmtpl", @"cmproj", @"cmrec", @"cst", @"d2v", @"d3v", @"dce", @"dck", @"dcr", @"dcr", @"dir", @"dmb", @"dmsd", @"dmsd3d", @"dmss", @"dpa", @"dpg", @"dv", @"dv-avi", @"dvr", @"dvx", @"dxr", @"dzt", @"evo", @"eye", @"f4p", @"fbz", @"fcp", @"flc", @"flh", @"fli", @"gfp", @"gts", @"hkm", @"ifo", @"imovieproject", @"ircp", @"ismc", @"ivf", @"ivr", @"izz", @"izzy", @"jts", @"jtv", @"m1pg", @"m21", @"m21", @"m2t", @"m2ts", @"m2v", @"mgv", @"mj2", @"mjp", @"mk3d", @"mnv", @"mp21", @"mp21", @"mpgindex", @"mpl", @"mpls", @"mpv", @"mqv", @"msdvd", @"mse", @"mswmm", @"mtv", @"mvd", @"mve", @"mvp", @"mvp", @"mvy", @"ncor", @"nsv", @"nuv", @"nvc", @"ogm", @"ogx", @"pgi", @"photoshow", @"piv", @"plproj", @"pmf", @"ppj", @"prel", @"pro", @"prtl", @"pxv", @"qtl", @"qtz", @"rcd", @"rdb", @"rec", @"rmd", @"rmp", @"rms", @"roq", @"rsx", @"rum", @"rv", @"rvl", @"sbk", @"scc", @"screenflow", @"seq", @"sfvidcap", @"siv", @"smi", @"smk", @"stl", @"svi", @"swt", @"tda3mt", @"tivo", @"tod", @"tp", @"tp0", @"tpd", @"tpr", @"tsp", @"tvs", @"usm", @"vc1", @"vcpf", @"vcv", @"vdo", @"vdr", @"vep", @"vfz", @"vgz", @"viewlet", @"vlab", @"vp6", @"vp7", @"vpj", @"vsp", @"wcp", @"wmd", @"wmmp", @"wmx", @"wp3", @"wpl", @"wvx", @"xej", @"xel", @"xesc", @"xfl", @"xlmv", @"zm1", @"zm2", @"zm3", @"zmv", @"iso", nil]; From e1a0f3667f08adbc4c403b9d69cdb8b3cf990c4b Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 06:13:37 -0700 Subject: [PATCH 3/9] Send to App UI elements as well as a small reorganization of main view elements --- HandBrakeBatch/MainMenu.xib | 2901 +++++++++++++++++++++++++++++++++++ 1 file changed, 2901 insertions(+) create mode 100644 HandBrakeBatch/MainMenu.xib diff --git a/HandBrakeBatch/MainMenu.xib b/HandBrakeBatch/MainMenu.xib new file mode 100644 index 0000000..8cd325a --- /dev/null +++ b/HandBrakeBatch/MainMenu.xib @@ -0,0 +1,2901 @@ + + + + 1080 + 12C60 + 2840 + 1187.34 + 625.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 2840 + + + NSArrayController + NSBox + NSButton + NSButtonCell + NSCustomObject + NSCustomView + NSMenu + NSMenuItem + NSPathCell + NSPathControl + NSPopUpButton + NSPopUpButtonCell + NSProgressIndicator + NSScrollView + NSScroller + NSSplitView + NSTableColumn + NSTableHeaderView + NSTableView + NSTextField + NSTextFieldCell + NSUserDefaultsController + NSView + NSWindowTemplate + + + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + + + HandBrakeBatch + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + HandBrakeBatch + + + + About HandBrakeBatch + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + Check for Updates… + + 2147483647 + + + + + + Donate! + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide HandBrakeBatch + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit HandBrakeBatch + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + Window + + 1048576 + 2147483647 + + + submenuAction: + + Window + + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Help + + 2147483647 + + + submenuAction: + + Help + + + + HandBrakeBatch Help + ? + 1048576 + 2147483647 + + + + + + Display GPL License + + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 15 + 2 + {{335, 390}, {580, 354}} + 1954021376 + HandBrakeBatch + NSWindow + + + {580, 354} + + + 256 + + + + 274 + + + + 256 + + + + 289 + {{265, 18}, {19, 20}} + + + + YES + + -2080374784 + 134348800 + - + + LucidaGrande + 11 + 3100 + + + -2038153216 + 162 + + + 400 + 75 + + NO + + + + 290 + + Apple URL pasteboard type + NSFilenamesPboardType + + {{19, 18}, {237, 20}} + + + + YES + + 337641473 + 163840 + + + file://localhost/Applications/ + + + + + + 67108928 + 132096 + Leopard + + + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + file://localhost// + + + + 67108928 + 132096 + Applications + + + + + + + file://localhost/Applications + + + + 1 + + + NO + + + + 274 + + + + 274 + + + + 2304 + + + + 256 + + {260, 269} + + + + YES + NO + YES + + + 256 + {260, 17} + + + + + + + + -2147483392 + {{223.84700000000001, 0}, {16, 17}} + + + + + 96.3359375 + 40 + 1000 + + 75497536 + 2048 + File Name + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 337641536 + 2048 + Text Cell + + LucidaGrande + 13 + 1044 + + + + 6 + System + controlBackgroundColor + + 3 + MC42NjY2NjY2NjY3AA + + + + + 3 + YES + + + + 64 + 10 + 3.4028234663852886e+38 + + 75497536 + 2048 + Audio Languages + + + 6 + System + headerColor + + + + + + 337641536 + 2048 + Text Cell + + + + + + 3 + YES + + + + 91 + 10 + 3.4028234663852886e+38 + + 75497536 + 2048 + Subtitles + + + + + + 337641536 + 2048 + Text Cell + + + + + + 3 + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -96468992 + + + 8 + 5 + 15 + 0 + YES + 0 + 1 + + + {{1, 17}, {260, 269}} + + + + + + 6 + + + + -2147483392 + {{224, 17}, {15, 102}} + + + + NO + + _doScroller: + 0.94444444444444442 + + + + -2147483392 + {{1, 270}, {201, 16}} + + + + NO + 1 + + _doScroller: + 0.98529411764705888 + + + + 2304 + + + + {{1, 0}, {260, 17}} + + + + + + 4 + + + {{1, 1}, {262, 287}} + + + + 133682 + + + + + QSAAAEEgAABBmAAAQZgAAA + 0.25 + 4 + 1 + + + {{20, 45}, {264, 289}} + + + + _NS:9 + HBBDropView + + + {301, 354} + + + + NSView + + + + 256 + + + + 10 + + + + 274 + + + + 268 + + {{12, 60}, {139, 18}} + + + + _NS:9 + YES + + -2080374784 + 0 + Delete source files + + _NS:9 + + 1211912448 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + NO + + + + 268 + + {{12, 86}, {97, 18}} + + + + _NS:9 + YES + + 67108864 + 0 + Send file to: + + _NS:9 + + 1211912448 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{163, 61}, {105, 16}} + + + + _NS:1505 + YES + + 68157504 + 272630784 + Are you sure? + + LucidaGrande + 12 + 16 + + _NS:1505 + + YES + + 6 + System + controlColor + + + + 1 + MC41MDE5NjA4MTQgMCAwLjI1MDk4MDQwNyAwLjYAA + + + NO + + + + 266 + {{10, 10}, {243, 26}} + + + + _NS:9 + YES + + -2076180416 + 2048 + + _NS:9 + + 109199360 + 129 + + + 400 + 75 + + + Do nothing + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + + + + Quit HBB + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Put Mac to sleep + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + Shut down this Mac + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + -1 + 1 + YES + YES + 2 + + NO + + + + 268 + {{12, 37}, {240, 17}} + + + + _NS:1535 + YES + + 68157504 + 272630784 + All finished: + + _NS:1535 + + + + + NO + + + + 268 + {{112, 88}, {109, 17}} + + + + _NS:1535 + YES + + 67108928 + 272631808 + IDentify + + _NS:1535 + + + + + NO + + + + 265 + + {{220, 78}, {35, 32}} + + + + YES + + 67108864 + 134217728 + ... + + LucidaGrande + 9 + 3614 + + + -2038284288 + 129 + + + 200 + 25 + + NO + + + {{1, 1}, {262, 116}} + + + + _NS:11 + + + {{4, 43}, {264, 132}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + After Conversion + + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + + + + -2147482335 + {{150, 18}, {16, 16}} + + + + _NS:926 + 20746 + 100 + + + + 289 + + {{168, 8}, {96, 32}} + + + + YES + + 67108864 + 134217728 + Start + + + -2038284288 + 129 + + + 200 + 25 + + NO + + + + 10 + + + + 274 + + + + 268 + {{12, 121}, {119, 17}} + + + + YES + + 68157504 + 272630784 + HandBrake Preset: + + + + + + NO + + + + 266 + {{10, 93}, {243, 26}} + + + + YES + + -2076180416 + 2048 + + + 109199360 + 129 + + + 400 + 75 + + + Item 2 + + 1048576 + 2147483647 + 1 + + + _popUpItemAction: + + + YES + + OtherViews + + + + Item 1 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + Item 3 + + 1048576 + 2147483647 + + + _popUpItemAction: + + + + + + 1 + 1 + YES + YES + 2 + + NO + + + + 268 + {{12, 68}, {96, 17}} + + + + YES + + 68157504 + 272630784 + Output Folder: + + + + + + NO + + + + 265 + + {{162, 67}, {90, 18}} + + + + _NS:9 + YES + + -2080374784 + 0 + Same as source + + _NS:9 + + 1210863872 + 2 + + + + + 200 + 25 + + NO + + + + 268 + {{12, 45}, {243, 13}} + + + + _NS:9 + {250, 750} + YES + + 67108864 + 272629760 + Warning: the source file might be overwritten! + + LucidaGrande + 10 + 16 + + _NS:9 + + + + 1 + MC41MDE5NjA4MTQgMCAwLjI1MDk4MDQwNyAwLjYAA + + + NO + + + + 266 + {{13, 41}, {237, 22}} + + + + YES + + -2073034687 + 272634880 + + + + YES + + + 6 + System + textColor + + + + NO + + + + 268 + + {{7, 8}, {100, 32}} + + + + YES + + 67108864 + 134217728 + Choose… + + + -2038284288 + 129 + + + 200 + 25 + + NO + + + {{1, 1}, {262, 147}} + + + + _NS:11 + + + {{4, 180}, {264, 163}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Conversion Settings + + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + + 1 + 0 + 2 + NO + + + {{302, 0}, {278, 354}} + + + + NSView + + + {580, 354} + + + + YES + 2 + + + {580, 354} + + + + YES + + {{0, 0}, {2560, 1418}} + {580, 376} + {10000000000000, 10000000000000} + HBBMainWindow + 128 + YES + + + HandBrakeBatchAppDelegate + + + SUUpdater + + + YES + + + NSArray + + YES + YES + YES + YES + YES + + + HBBInputFile + + YES + YES + YES + YES + YES + YES + + + + + + + terminate: + + + + 449 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + delegate + + + + 495 + + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + performZoom: + + + + 240 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + showHelp: + + + + 493 + + + + delegate + + + + 680 + + + + fileNamesController + + + + 805 + + + + startButton + + + + 806 + + + + progressIndicator + + + + 808 + + + + window + + + + 532 + + + + fileNamesController + + + + 634 + + + + displayLicense: + + + + 682 + + + + presetNamesController + + + + 685 + + + + showPreferences: + + + + 695 + + + + donate: + + + + 764 + + + + startConversion: + + + + 565 + + + + fileNamesView + + + + 598 + + + + dropView + + + + 814 + + + + leftPaneView + + + + 815 + + + + chooseOutputFolder: + + + + 564 + + + + presetPopUp + + + + 694 + + + + presetSelected: + + + + 693 + + + + chooseSendToApplication + + + + 920 + + + + chooseSendToApplication: + + + + 921 + + + + sendToApplicationClicked: + + + + 926 + + + + sendFileToCheckbox + + + + 927 + + + + contentValues: arrangedObjects + + + + + + contentValues: arrangedObjects + contentValues + arrangedObjects + + 2 + + + 595 + + + + content: arrangedObjects + + + + + + content: arrangedObjects + content + arrangedObjects + 2 + + + 591 + + + + hidden: values.HBBDestinationSameAsSource + + + + + + hidden: values.HBBDestinationSameAsSource + hidden + values.HBBDestinationSameAsSource + 2 + + + 734 + + + + value: values.OutputFolder + + + + + + value: values.OutputFolder + value + values.OutputFolder + 2 + + + 597 + + + + hidden: values.HBBDestinationSameAsSource + + + + + + hidden: values.HBBDestinationSameAsSource + hidden + values.HBBDestinationSameAsSource + 2 + + + 728 + + + + dataSource + + + + 711 + + + + delegate + + + + 630 + + + + value: arrangedObjects.name + + + + + + value: arrangedObjects.name + value + arrangedObjects.name + 2 + + + 624 + + + + checkForUpdates: + + + + 679 + + + + contentArray: presets + + + + + + contentArray: presets + contentArray + presets + 2 + + + 684 + + + + contentArray: inputFiles + + + + + + contentArray: inputFiles + contentArray + inputFiles + 2 + + + 622 + + + + remove: + + + + 645 + + + + oTableView + + + + 712 + + + + delegate + + + + 608 + + + + value: selection.inputURL + + + + + + value: selection.inputURL + value + selection.inputURL + 2 + + + 642 + + + + enabled: canRemove + + + + + + enabled: canRemove + enabled + canRemove + 2 + + + 677 + + + + value: arrangedObjects.plainAudioLanguageList + + + + + + value: arrangedObjects.plainAudioLanguageList + value + arrangedObjects.plainAudioLanguageList + 2 + + + 704 + + + + value: arrangedObjects.plainSubtitleLanguageList + + + + + + value: arrangedObjects.plainSubtitleLanguageList + value + arrangedObjects.plainSubtitleLanguageList + 2 + + + 705 + + + + value: values.HBBDestinationSameAsSource + + + + + + value: values.HBBDestinationSameAsSource + value + values.HBBDestinationSameAsSource + 2 + + + 762 + + + + value: values.HBBDeleteSourceFiles + + + + + + value: values.HBBDeleteSourceFiles + value + values.HBBDeleteSourceFiles + 2 + + + 746 + + + + hidden: values.HBBDeleteSourceFiles + + + + + + hidden: values.HBBDeleteSourceFiles + hidden + values.HBBDeleteSourceFiles + + NSValueTransformerName + NSNegateBoolean + + 2 + + + 758 + + + + fileNamesController + + + + 810 + + + + progressIndicator + + + + 811 + + + + startButton + + + + 812 + + + + selectedIndex: values.HBBAfterConversion + + + + + + selectedIndex: values.HBBAfterConversion + selectedIndex + values.HBBAfterConversion + 2 + + + 891 + + + + value: values.HBBSendConvertedFileToAppName + + + + + + value: values.HBBSendConvertedFileToAppName + value + values.HBBSendConvertedFileToAppName + 2 + + + 924 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + + + + + + + + 19 + + + + + + + + 56 + + + + + + + + 57 + + + + + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 371 + + + + + + + + 372 + + + + + + + + 490 + + + + + + + + 491 + + + + + + + + + 492 + + + + + 494 + + + + + 560 + + + Sparkle Updater + + + 566 + + + + + 587 + + + Preset Names Controller + + + 601 + + + File Names Controller + + + 605 + + + + + + + + + 606 + + + + + + + + + + 635 + + + + + + + + 636 + + + + + 643 + + + + + + + + 644 + + + + + 678 + + + + + 681 + + + + + 763 + + + + + 809 + + + + + + + + 533 + + + + + + + + + + + 553 + + + + + 552 + + + + + 551 + + + + + 550 + + + + + + + + + + 701 + + + + + + + + 699 + + + + + + + + 555 + + + + + + Table Column - File Name + + + 556 + + + + + 700 + + + + + 702 + + + + + 607 + + + + + + + + + + + 807 + + + + + 539 + + + + + + Push Button - START + + + 540 + + + + + 902 + + + + + + + + + + + + + + 538 + + + + + + Push Button - choose directory + + + 541 + + + + + 717 + + + + + + + + 718 + + + + + 534 + + + + + + Pop Up Button - Preset + + + 545 + + + + + + + + 546 + + + + + + + + + + 549 + + + + + 548 + + + + + 547 + + + + + 535 + + + + + + Text Field - output dir + + + 544 + + + + + 536 + + + + + + + + 543 + + + + + 537 + + + + + + + + 542 + + + + + 713 + + + + + + Check Box - Same as source + + + 714 + + + + + 903 + + + + + + + + + + + + + + 740 + + + + + + Check Box - Delete when done + + + 741 + + + + + 747 + + + + + + Static Text - ⇧ Are you sure? No further warnings! + + + 748 + + + + + 865 + + + + + + Pop Up Button - Do after done + + + 866 + + + + + + + + 867 + + + + + + + + + + + 893 + + + + + 892 + + + + + 870 + + + + + 868 + + + + + 862 + + + + + + + + 863 + + + + + 904 + + + + + + Push Button - choose directory + + + 905 + + + + + 908 + + + + + + Check Box - Delete when done + + + 909 + + + + + 911 + + + + + + + + 912 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{380, 496}, {480, 360}} + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Drag here the files to be converted + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + RSRTVArrayController + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + 927 + + + + + HBBDropView + NSView + + RSRTVArrayController + NSProgressIndicator + NSButton + + + + fileNamesController + RSRTVArrayController + + + progressIndicator + NSProgressIndicator + + + startButton + NSButton + + + + IBProjectSource + ./Classes/HBBDropView.h + + + + HandBrakeBatchAppDelegate + NSObject + + id + id + id + id + id + id + id + id + + + + chooseOutputFolder: + id + + + chooseSendToApplication: + id + + + displayLicense: + id + + + donate: + id + + + presetSelected: + id + + + sendToApplicationClicked: + id + + + showPreferences: + id + + + startConversion: + id + + + + NSButton + HBBDropView + RSRTVArrayController + NSTableView + NSView + NSArrayController + NSPopUpButton + NSButton + NSWindow + + + + chooseOutputFolder + NSButton + + + dropView + HBBDropView + + + fileNamesController + RSRTVArrayController + + + fileNamesView + NSTableView + + + leftPaneView + NSView + + + presetNamesController + NSArrayController + + + presetPopUp + NSPopUpButton + + + sendFileToCheckbox + NSButton + + + window + NSWindow + + + + IBProjectSource + ./Classes/HandBrakeBatchAppDelegate.h + + + + RSRTVArrayController + NSArrayController + + oTableView + NSTableView + + + oTableView + + oTableView + NSTableView + + + + IBProjectSource + ./Classes/RSRTVArrayController.h + + + + SUUpdater + NSObject + + checkForUpdates: + id + + + checkForUpdates: + + checkForUpdates: + id + + + + delegate + id + + + delegate + + delegate + id + + + + IBProjectSource + ./Classes/SUUpdater.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + {11, 11} + {10, 3} + {15, 15} + + + From f5e795efca56af34a1a5b8b342e986e37e1ad269 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 06:14:16 -0700 Subject: [PATCH 4/9] Removed "ORIG" xib file from project --- HandBrakeBatch.xcodeproj/project.pbxproj | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/HandBrakeBatch.xcodeproj/project.pbxproj b/HandBrakeBatch.xcodeproj/project.pbxproj index 89c5f60..255bfb9 100644 --- a/HandBrakeBatch.xcodeproj/project.pbxproj +++ b/HandBrakeBatch.xcodeproj/project.pbxproj @@ -32,7 +32,6 @@ 0EEC804A1369B4EA00D05124 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 0EEC80481369B4EA00D05124 /* InfoPlist.strings */; }; 0EEC804D1369B4EA00D05124 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EEC804C1369B4EA00D05124 /* main.m */; }; 0EEC80531369B4EA00D05124 /* HandBrakeBatchAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 0EEC80521369B4EA00D05124 /* HandBrakeBatchAppDelegate.m */; }; - 0EEC80561369B4EA00D05124 /* MainMenuOrig.xib in Resources */ = {isa = PBXBuildFile; fileRef = 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */; }; 0EF72315136CFCE100D223F4 /* gpl-3.0.txt in Resources */ = {isa = PBXBuildFile; fileRef = 0EF72314136CFCE100D223F4 /* gpl-3.0.txt */; }; 0EF8EF95136CFEB700884AE8 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 0EF8EF93136CFEB700884AE8 /* Credits.rtf */; }; 0EF8EFB1136D981000884AE8 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0EF8EFB0136D981000884AE8 /* Sparkle.framework */; }; @@ -107,7 +106,6 @@ 0EEC804C1369B4EA00D05124 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 0EEC80511369B4EA00D05124 /* HandBrakeBatchAppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HandBrakeBatchAppDelegate.h; sourceTree = ""; }; 0EEC80521369B4EA00D05124 /* HandBrakeBatchAppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HandBrakeBatchAppDelegate.m; sourceTree = ""; }; - 0EEC80551369B4EA00D05124 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenuOrig.xib; sourceTree = ""; }; 0EF72314136CFCE100D223F4 /* gpl-3.0.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = "gpl-3.0.txt"; sourceTree = ""; }; 0EF8EF94136CFEB700884AE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 0EF8EFB0136D981000884AE8 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; @@ -161,7 +159,6 @@ isa = PBXGroup; children = ( 4117F47516B40BED0091DCAD /* MainMenu.xib */, - 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */, 0E18546A136C4222004B5558 /* HBBProgressWindow.xib */, 0E987E2013E4062C00A99716 /* Preferences.xib */, ); @@ -307,7 +304,6 @@ buildActionMask = 2147483647; files = ( 0EEC804A1369B4EA00D05124 /* InfoPlist.strings in Resources */, - 0EEC80561369B4EA00D05124 /* MainMenuOrig.xib in Resources */, 0E18546B136C4222004B5558 /* HBBProgressWindow.xib in Resources */, 0E9B490A136C874000FCDC68 /* Icon.icns in Resources */, 0EF72315136CFCE100D223F4 /* gpl-3.0.txt in Resources */, @@ -353,14 +349,6 @@ name = InfoPlist.strings; sourceTree = ""; }; - 0EEC80541369B4EA00D05124 /* MainMenuOrig.xib */ = { - isa = PBXVariantGroup; - children = ( - 0EEC80551369B4EA00D05124 /* en */, - ); - name = MainMenuOrig.xib; - sourceTree = ""; - }; 0EF8EF93136CFEB700884AE8 /* Credits.rtf */ = { isa = PBXVariantGroup; children = ( From 5708d7e9994d7dd1fbeb1a696f177e9b3af0c6b8 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 07:52:27 -0700 Subject: [PATCH 5/9] Added the final hook to finish the "open" call upon completion of each file conversion. --- HandBrakeBatch/HBBAppFunctions.h | 28 ++++++ HandBrakeBatch/HBBAppFunctions.m | 99 ++++++++++++++++++++++ HandBrakeBatch/HBBProgressController.m | 12 ++- HandBrakeBatch/HandBrakeBatchAppDelegate.h | 1 + HandBrakeBatch/HandBrakeBatchAppDelegate.m | 68 +++++++-------- 5 files changed, 168 insertions(+), 40 deletions(-) create mode 100644 HandBrakeBatch/HBBAppFunctions.h create mode 100644 HandBrakeBatch/HBBAppFunctions.m diff --git a/HandBrakeBatch/HBBAppFunctions.h b/HandBrakeBatch/HBBAppFunctions.h new file mode 100644 index 0000000..8f56389 --- /dev/null +++ b/HandBrakeBatch/HBBAppFunctions.h @@ -0,0 +1,28 @@ +// +// HBBAppFunctions.h +// HandBrakeBatch +// +// Created by Matt Maher on 1/26/13. +// +// + +#import + +@interface HBBAppFunctions : NSObject + + +// SEND TO APP ++ (NSString *) getSendToAppPath; ++ (void) setSendToAppPath:(NSString *)path; ++ (NSString *) getSendToAppName; ++ (NSImage *) getIconForSendToApp; ++ (void) setSendToAppName:(NSString *)name; ++ (BOOL) isSendToAppValid; ++ (void) clearAllSendToAppPreferences; ++ (void) openFileWithSendToApp:(NSString *) filePath; + + +// MMStringFunctions (partials) ++ (NSString *) fRightBackOf:(NSString *)substring inString:(NSString *)inString; ++ (BOOL) string:(NSString *)inString contains:(NSString *)substring; +@end diff --git a/HandBrakeBatch/HBBAppFunctions.m b/HandBrakeBatch/HBBAppFunctions.m new file mode 100644 index 0000000..7654ba1 --- /dev/null +++ b/HandBrakeBatch/HBBAppFunctions.m @@ -0,0 +1,99 @@ +// +// HBBAppFunctions.m +// HandBrakeBatch +// +// Created by Matt Maher on 1/26/13. +// +// + +#import "HBBAppFunctions.h" + +@implementation HBBAppFunctions + + + + + + +// --++-- --++-- --++-- --++-- --++-- --++-- +#pragma mark - +#pragma mark SEND TO APP (after conversion) +#pragma mark - +static NSString *PREF_SEND_FILE_TO_APP_PATH = @"HBBSendConvertedFileToAppPath"; +static NSString *PREF_SEND_FILE_TO_APP_NAME = @"HBBSendConvertedFileToAppName"; ++ (NSString *) getSendToAppPath { + return [[NSUserDefaults standardUserDefaults] objectForKey:PREF_SEND_FILE_TO_APP_PATH]; +} ++ (void) setSendToAppPath:(NSString *)path { + NSString *filePath = [path stringByReplacingOccurrencesOfString:@"file://localhost" withString:@""]; + filePath = [filePath stringByReplacingPercentEscapesUsingEncoding:NSStringEncodingConversionAllowLossy]; + [[NSUserDefaults standardUserDefaults] setObject:filePath forKey:PREF_SEND_FILE_TO_APP_PATH]; +} ++ (NSString *) getSendToAppName { + return [[NSUserDefaults standardUserDefaults] valueForKey:PREF_SEND_FILE_TO_APP_NAME]; +} ++ (void) setSendToAppName:(NSString *)name { + NSString *appName = [name stringByReplacingOccurrencesOfString: @".app" withString:@""]; + [[NSUserDefaults standardUserDefaults] setValue:appName forKey:PREF_SEND_FILE_TO_APP_NAME]; +} ++ (NSImage *) getIconForSendToApp { + if ([self isSendToAppValid]) { + return [[NSWorkspace sharedWorkspace] iconForFile:[self getSendToAppPath]]; + } + + return nil; +} ++ (BOOL) isSendToAppValid { + NSString *appPath = [self getSendToAppPath]; + + if ( ! appPath) { + return NO; + } + + NSURL *theURL = [NSURL fileURLWithPath:appPath isDirectory:NO]; + return ([theURL checkResourceIsReachableAndReturnError:nil] == YES); +} ++ (void) clearAllSendToAppPreferences { + [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_NAME]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_PATH]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} ++ (void) openFileWithSendToApp:(NSString *) filePath { + if ([self isSendToAppValid]) { + NSURL *fileURL = [NSURL fileURLWithPath: filePath]; + NSWorkspace * ws = [NSWorkspace sharedWorkspace]; + [ws openFile:[fileURL path] withApplication:[self getSendToAppPath]]; + } +} + + + +// --++-- --++-- --++-- --++-- --++-- --++-- +#pragma mark - +#pragma mark MMStringFunctions +#pragma mark - + ++ (NSString *) fRightBackOf:(NSString *)substring inString:(NSString *)inString { + if(inString == nil || substring == nil || [inString length] < 1 || [substring length] < 1) { + return @""; + } + + NSArray *parts = [inString componentsSeparatedByString:substring]; + + // does it exist? + if([parts count] < 1) { + return @""; + } + + return [parts objectAtIndex:([parts count] - 1)]; +} ++ (BOOL) string:(NSString *)inString contains:(NSString *)substring { + if(substring == nil || inString == nil || [substring length] < 1 || [inString length] < 1) { + return NO; + } + + NSRange range = [inString rangeOfString:substring]; + return range.location != NSNotFound; +} + +@end diff --git a/HandBrakeBatch/HBBProgressController.m b/HandBrakeBatch/HBBProgressController.m index 55540eb..b0465e8 100644 --- a/HandBrakeBatch/HBBProgressController.m +++ b/HandBrakeBatch/HBBProgressController.m @@ -13,6 +13,7 @@ #import "HBBProgressController.h" #import "HBBPresets.h" #import "HBBLangData.h" +#import "HBBAppFunctions.h" #define FILES_OK 0 #define FILE_EXISTS 1 @@ -396,6 +397,11 @@ -(void) taskCompleted:(NSNotification *)notification { [[NSFileManager defaultManager] moveItemAtURL:[[currentQueue objectAtIndex:0] tempOutputURL] toURL:[[currentQueue objectAtIndex:0] outputURL] error:nil]; [processedQueue addObject:[currentQueue objectAtIndex:0]]; + + // M.Maher 2013-01-26 + // hook to send file to external application after conversion + [self sendConvertedFileToExternalAppIfNeeded:[currentQueue objectAtIndex:0]]; + } else { // Conversion failed! Write log file and do not delete source [stdErrData writeToURL:[NSURL fileURLWithPath:logFilePath] atomically:NO]; @@ -493,7 +499,11 @@ -(void) taskCompleted:(NSNotification *)notification { [self prepareTask]; [backgroundTask launch]; } - +- (void) sendConvertedFileToExternalAppIfNeeded:(HBBInputFile *)inputFile { + if ([HBBAppFunctions isSendToAppValid]) { + [HBBAppFunctions openFileWithSendToApp:[inputFile outputPath]]; + } +} - (void) getData: (NSNotification *)aNotification { NSData *data = [[aNotification userInfo] objectForKey:NSFileHandleNotificationDataItem]; diff --git a/HandBrakeBatch/HandBrakeBatchAppDelegate.h b/HandBrakeBatch/HandBrakeBatchAppDelegate.h index 95af732..7eefb4f 100644 --- a/HandBrakeBatch/HandBrakeBatchAppDelegate.h +++ b/HandBrakeBatch/HandBrakeBatchAppDelegate.h @@ -37,6 +37,7 @@ IBOutlet NSButton *sendFileToCheckbox; + IBOutlet NSImageView *sendToIconImage; NSString *appSupportFolder; NSButton *chooseSendToApplication; } diff --git a/HandBrakeBatch/HandBrakeBatchAppDelegate.m b/HandBrakeBatch/HandBrakeBatchAppDelegate.m index 64af72f..8d0b5d4 100644 --- a/HandBrakeBatch/HandBrakeBatchAppDelegate.m +++ b/HandBrakeBatch/HandBrakeBatchAppDelegate.m @@ -13,6 +13,7 @@ #import "HBBProgressController.h" #import "HBBPresets.h" #import "HBBDropView.h" +#import "HBBAppFunctions.h" @implementation HandBrakeBatchAppDelegate @@ -20,11 +21,6 @@ @implementation HandBrakeBatchAppDelegate #pragma mark Initialization - -static NSString *PREF_SEND_FILE_TO_APP_PATH = @"HBBSendConvertedFileToAppPath"; -static NSString *PREF_SEND_FILE_TO_APP_NAME = @"HBBSendConvertedFileToAppName"; - - - (id) init { // Initialize application directory @@ -206,40 +202,48 @@ -(BOOL) isDuplicate:(HBBInputFile *)file { // --++-- --++-- --++-- --++-- --++-- --++-- #pragma mark - -#pragma mark SEND FILE TO WORK +#pragma mark Send File To: #pragma mark - - (void) redrawSendFileToCheckbox { - if ([self isSendToAppValid]) { + if ([HBBAppFunctions isSendToAppValid]) { [sendFileToCheckbox setState:NSOnState]; } else { - [self clearAllSendToAppPreferences]; + [HBBAppFunctions clearAllSendToAppPreferences]; [sendFileToCheckbox setState:NSOffState]; } + + [self redrawSendFileToIcon]; } -- (void) logAllSendToAppPrefs { - NSLog(@"--- [ SEND TO APP PREFERENCES ] ---"); - NSLog(@"PREF_SEND_FILE_TO_APP_PATH %@", [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_PATH]); - NSLog(@"PREF_SEND_FILE_TO_APP_NAME %@", [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_NAME]); +- (void) redrawSendFileToIcon { + [sendToIconImage setImage:[HBBAppFunctions getIconForSendToApp]]; } -// Select app to send file to when finished - (IBAction)chooseSendToApplication:(id)sender { + // OPEN panels cannot pre-select files the same as the + // SAVE panel does + // http://www.cocoabuilder.com/archive/cocoa/317726-setting-preselected-file-for-nsopenpanel.html + // OPEN APP SELECTION PANEL - NSOpenPanel *panel = [NSOpenPanel openPanel]; + NSOpenPanel *panel = [NSOpenPanel openPanel]; [panel setCanChooseFiles:YES]; [panel setCanChooseDirectories:NO]; [panel setAllowsMultipleSelection:NO]; [panel setCanCreateDirectories:NO]; - NSString *appPath = [[NSUserDefaults standardUserDefaults] objectForKey:PREF_SEND_FILE_TO_APP_PATH]; + NSString *appPath = [HBBAppFunctions getSendToAppPath]; + // I assume to receive /Users/Me/Applications/TheApp.app + // we can't use that as the preselection as it will browse + // the contents. We have to root one layer higher + NSString *fullAppName = [HBBAppFunctions fRightBackOf:@"/" inString:appPath]; + appPath = [appPath stringByReplacingOccurrencesOfString:fullAppName withString:@""]; // POINT THE SELECTION PANEL TO OUR OLD LOCATION - if ([self isSendToAppValid]) { + if ([HBBAppFunctions isSendToAppValid]) { [panel setDirectoryURL:[NSURL fileURLWithPath:appPath]]; } @@ -247,34 +251,35 @@ - (IBAction)chooseSendToApplication:(id)sender { if ([panel runModal] == NSOKButton) { NSURL *firstPath = [[panel URLs] objectAtIndex:0]; + //NSLog(@"App Selected: %@", [firstPath absoluteString]); + // SAVE PATH - NSString *filePath = [[firstPath absoluteString] stringByReplacingOccurrencesOfString:@"file://localhost" withString:@""]; - [[NSUserDefaults standardUserDefaults] setObject:filePath forKey:PREF_SEND_FILE_TO_APP_PATH]; + NSString *urlPath = [firstPath absoluteString]; + [HBBAppFunctions setSendToAppPath:urlPath]; // SAVE APP NAME - NSString *appName = [[firstPath lastPathComponent] stringByReplacingOccurrencesOfString: @".app" withString:@""]; - - [[NSUserDefaults standardUserDefaults] setValue:appName forKey:PREF_SEND_FILE_TO_APP_NAME]; + [HBBAppFunctions setSendToAppName:[firstPath lastPathComponent]]; // MAKE SURE SETTINGS ARE SAVED [[NSUserDefaults standardUserDefaults] synchronize]; // Set up send file to checkbox [self redrawSendFileToCheckbox]; + } } - - (IBAction)sendToApplicationClicked:(id)sender { NSButtonCell *checkbox = (NSButtonCell *)sender; if (checkbox) { [checkbox setState:NSOffState]; } - BOOL hadPreviousValue = [self isSendToAppValid]; + BOOL hadPreviousValue = [HBBAppFunctions isSendToAppValid]; // no matter what we will remove pervious values, then // call what is needed here - [self clearAllSendToAppPreferences]; + [HBBAppFunctions clearAllSendToAppPreferences]; + [self redrawSendFileToCheckbox]; // TRYING TO ENABLE // call "chooseSendToApplication:" @@ -283,21 +288,6 @@ - (IBAction)sendToApplicationClicked:(id)sender { } } -- (BOOL) isSendToAppValid { - NSString *appPath = [[NSUserDefaults standardUserDefaults] stringForKey:PREF_SEND_FILE_TO_APP_PATH]; - - if ( ! appPath) { - return NO; - } - - NSURL *theURL = [NSURL fileURLWithPath:appPath isDirectory:NO]; - return ([theURL checkResourceIsReachableAndReturnError:nil] == YES); -} -- (void) clearAllSendToAppPreferences { - [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_NAME]; - [[NSUserDefaults standardUserDefaults] removeObjectForKey:PREF_SEND_FILE_TO_APP_PATH]; - [[NSUserDefaults standardUserDefaults] synchronize]; -} // Recursively process files & directories From 3774d01c8bb5638278ec3b6e2d6f7b365374a2d0 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 07:52:54 -0700 Subject: [PATCH 6/9] added an icon to the view --- HandBrakeBatch/MainMenu.xib | 79 ++++++++++++++++++++++++++++++++----- 1 file changed, 70 insertions(+), 9 deletions(-) diff --git a/HandBrakeBatch/MainMenu.xib b/HandBrakeBatch/MainMenu.xib index 8cd325a..43d94d8 100644 --- a/HandBrakeBatch/MainMenu.xib +++ b/HandBrakeBatch/MainMenu.xib @@ -17,6 +17,8 @@ NSButtonCell NSCustomObject NSCustomView + NSImageCell + NSImageView NSMenu NSMenuItem NSPathCell @@ -675,7 +677,7 @@ {{12, 60}, {139, 18}} - + _NS:9 YES @@ -708,7 +710,7 @@ {{12, 86}, {97, 18}} - + _NS:9 YES @@ -869,7 +871,7 @@ 268 - {{112, 88}, {109, 17}} + {{130, 88}, {91, 17}} @@ -894,7 +896,7 @@ {{220, 78}, {35, 32}} - + YES 67108864 @@ -915,6 +917,36 @@ NO + + + 268 + + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{108, 86}, {21, 21}} + + + + _NS:9 + YES + + 134217728 + 33554432 + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + {{1, 1}, {262, 116}} @@ -926,7 +958,7 @@ {{4, 43}, {264, 132}} - + _NS:9 {0, 0} @@ -1104,7 +1136,7 @@ {{162, 67}, {90, 18}} - + _NS:9 YES @@ -1186,7 +1218,7 @@ {{7, 8}, {100, 32}} - + YES 67108864 @@ -1214,7 +1246,7 @@ {{4, 180}, {264, 163}} - + _NS:9 {0, 0} @@ -1543,6 +1575,14 @@ 927 + + + sendToIconImage + + + + 930 + contentValues: arrangedObjects @@ -2447,6 +2487,7 @@ + @@ -2580,6 +2621,19 @@ + + 928 + + + + + + + + 929 + + + @@ -2696,12 +2750,14 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin - 927 + 930 @@ -2788,6 +2844,7 @@ NSArrayController NSPopUpButton NSButton + NSImageView NSWindow @@ -2823,6 +2880,10 @@ sendFileToCheckbox NSButton + + sendToIconImage + NSImageView + window NSWindow From 96c98282d5b55c8e9feebfffb727fcc4d9739ae7 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 07:53:24 -0700 Subject: [PATCH 7/9] Done with first pass at "open when done" --- HandBrakeBatch.xcodeproj/project.pbxproj | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/HandBrakeBatch.xcodeproj/project.pbxproj b/HandBrakeBatch.xcodeproj/project.pbxproj index 255bfb9..638e913 100644 --- a/HandBrakeBatch.xcodeproj/project.pbxproj +++ b/HandBrakeBatch.xcodeproj/project.pbxproj @@ -37,6 +37,7 @@ 0EF8EFB1136D981000884AE8 /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0EF8EFB0136D981000884AE8 /* Sparkle.framework */; }; 0EF8EFB6136D9D2200884AE8 /* Sparkle.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 0EF8EFB0136D981000884AE8 /* Sparkle.framework */; }; 4117F47616B40BED0091DCAD /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4117F47516B40BED0091DCAD /* MainMenu.xib */; }; + 4117F47916B411140091DCAD /* HBBAppFunctions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4117F47816B411140091DCAD /* HBBAppFunctions.m */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -110,6 +111,8 @@ 0EF8EF94136CFEB700884AE8 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = en; path = en.lproj/Credits.rtf; sourceTree = ""; }; 0EF8EFB0136D981000884AE8 /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sparkle.framework; sourceTree = ""; }; 4117F47516B40BED0091DCAD /* MainMenu.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = ""; }; + 4117F47716B411130091DCAD /* HBBAppFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HBBAppFunctions.h; sourceTree = ""; }; + 4117F47816B411140091DCAD /* HBBAppFunctions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HBBAppFunctions.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -227,6 +230,8 @@ 0E108B6A136C47F200168057 /* HBBProgressController.m */, 0E933F9B14C47C8000A5BB1D /* HBBVideoScan.h */, 0E933F9C14C47C8000A5BB1D /* HBBVideoScan.m */, + 4117F47716B411130091DCAD /* HBBAppFunctions.h */, + 4117F47816B411140091DCAD /* HBBAppFunctions.m */, 0E549260136C49BD0094563F /* xib */, 0EEC80461369B4EA00D05124 /* Supporting Files */, ); @@ -335,6 +340,7 @@ 0E933F9D14C47C8000A5BB1D /* HBBVideoScan.m in Sources */, 0E337A4715144FCC006150DD /* RSRTVArrayController.m in Sources */, 0EB54A4C1596CDBC00EE2AB4 /* HBBDropView.m in Sources */, + 4117F47916B411140091DCAD /* HBBAppFunctions.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 2c8c5280fabec484d23aba40eb823015cf0106d0 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 07:55:36 -0700 Subject: [PATCH 8/9] Completed "send to app" UI and functions This is the option to send to an external application when conversion is complete. note: I cannot complete testing as the "add files to queue" throws an error for both this fork as well as main project. I have individually tested each unit, but an end-to-end should be conducted before trusting. --- .../UserInterfaceState.xcuserstate | Bin 0 -> 120254 bytes .../xcdebugger/Breakpoints.xcbkptlist | 14 +++ .../xcschemes/HandBrakeBatch.xcscheme | 86 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 22 +++++ .../{MainMenu.xib => MainMenuOrig.xib} | 0 5 files changed, 122 insertions(+) create mode 100644 HandBrakeBatch.xcodeproj/project.xcworkspace/xcuserdata/bladnman.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist create mode 100644 HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/HandBrakeBatch.xcscheme create mode 100644 HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/xcschememanagement.plist rename HandBrakeBatch/en.lproj/{MainMenu.xib => MainMenuOrig.xib} (100%) diff --git a/HandBrakeBatch.xcodeproj/project.xcworkspace/xcuserdata/bladnman.xcuserdatad/UserInterfaceState.xcuserstate b/HandBrakeBatch.xcodeproj/project.xcworkspace/xcuserdata/bladnman.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..d18e7a3e040a6f158084a459ac9e86cee3f87ead GIT binary patch literal 120254 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 g2ET2ktptl>h($ literal 0 HcmV?d00001 diff --git a/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist new file mode 100644 index 0000000..5227871 --- /dev/null +++ b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcdebugger/Breakpoints.xcbkptlist @@ -0,0 +1,14 @@ + + + + + + + diff --git a/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/HandBrakeBatch.xcscheme b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/HandBrakeBatch.xcscheme new file mode 100644 index 0000000..1db9c36 --- /dev/null +++ b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/HandBrakeBatch.xcscheme @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/xcschememanagement.plist b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..7bdb6a8 --- /dev/null +++ b/HandBrakeBatch.xcodeproj/xcuserdata/bladnman.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + HandBrakeBatch.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 0EEC803A1369B4EA00D05124 + + primary + + + + + diff --git a/HandBrakeBatch/en.lproj/MainMenu.xib b/HandBrakeBatch/en.lproj/MainMenuOrig.xib similarity index 100% rename from HandBrakeBatch/en.lproj/MainMenu.xib rename to HandBrakeBatch/en.lproj/MainMenuOrig.xib From 2725a016df03f4546b6099506f8e42b0e05605e2 Mon Sep 17 00:00:00 2001 From: Matt Maher Date: Sat, 26 Jan 2013 07:56:06 -0700 Subject: [PATCH 9/9] Removed holder main UI --- HandBrakeBatch/en.lproj/MainMenuOrig.xib | 2600 ---------------------- 1 file changed, 2600 deletions(-) delete mode 100644 HandBrakeBatch/en.lproj/MainMenuOrig.xib diff --git a/HandBrakeBatch/en.lproj/MainMenuOrig.xib b/HandBrakeBatch/en.lproj/MainMenuOrig.xib deleted file mode 100644 index aeceab7..0000000 --- a/HandBrakeBatch/en.lproj/MainMenuOrig.xib +++ /dev/null @@ -1,2600 +0,0 @@ - - - - 1080 - 12C60 - 2843 - 1187.34 - 625.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2843 - - - NSArrayController - NSButton - NSButtonCell - NSCustomObject - NSCustomView - NSMenu - NSMenuItem - NSPathCell - NSPathControl - NSPopUpButton - NSPopUpButtonCell - NSProgressIndicator - NSScrollView - NSScroller - NSSplitView - NSTableColumn - NSTableHeaderView - NSTableView - NSTextField - NSTextFieldCell - NSUserDefaultsController - NSView - NSWindowTemplate - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - NSApplication - - - FirstResponder - - - NSApplication - - - AMainMenu - - - - HandBrakeBatch - - 1048576 - 2147483647 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - submenuAction: - - HandBrakeBatch - - - - About HandBrakeBatch - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Preferences… - , - 1048576 - 2147483647 - - - - - - Check for Updates… - - 2147483647 - - - - - - Donate! - - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Services - - 1048576 - 2147483647 - - - submenuAction: - - Services - - _NSServicesMenu - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Hide HandBrakeBatch - h - 1048576 - 2147483647 - - - - - - Hide Others - h - 1572864 - 2147483647 - - - - - - Show All - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Quit HandBrakeBatch - q - 1048576 - 2147483647 - - - - - _NSAppleMenu - - - - - Window - - 1048576 - 2147483647 - - - submenuAction: - - Window - - - - Minimize - m - 1048576 - 2147483647 - - - - - - Zoom - - 1048576 - 2147483647 - - - - - - YES - YES - - - 1048576 - 2147483647 - - - - - - Bring All to Front - - 1048576 - 2147483647 - - - - - _NSWindowsMenu - - - - - Help - - 2147483647 - - - submenuAction: - - Help - - - - HandBrakeBatch Help - ? - 1048576 - 2147483647 - - - - - - Display GPL License - - 2147483647 - - - - - _NSHelpMenu - - - - _NSMainMenu - - - 15 - 2 - {{335, 390}, {580, 354}} - 1954021376 - HandBrakeBatch - NSWindow - - - {580, 354} - - - 256 - - - - 274 - - - - 256 - - - - 289 - {{265, 18}, {19, 20}} - - - - YES - - -2080374784 - 134348800 - - - - LucidaGrande - 11 - 3100 - - - -2038153216 - 162 - - - 400 - 75 - - NO - - - - 290 - - Apple URL pasteboard type - NSFilenamesPboardType - - {{19, 18}, {237, 20}} - - - - YES - - 337641473 - 163840 - - - file://localhost/Applications/ - - - - - - 67108928 - 132096 - Leopard - - - - 6 - System - textBackgroundColor - - 3 - MQA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - - file://localhost// - - - - 67108928 - 132096 - Applications - - - - - - - file://localhost/Applications - - - - 1 - - - NO - - - - 274 - - - - 274 - - - - 2304 - - - - 256 - - {260, 269} - - - - YES - NO - YES - - - 256 - {260, 17} - - - - - - - - -2147483392 - {{223.84700000000001, 0}, {16, 17}} - - - - - 96.3359375 - 40 - 1000 - - 75497536 - 2048 - File Name - - - 3 - MC4zMzMzMzI5ODU2AA - - - 6 - System - headerTextColor - - - - - 337641536 - 2048 - Text Cell - - LucidaGrande - 13 - 1044 - - - - 6 - System - controlBackgroundColor - - 3 - MC42NjY2NjY2NjY3AA - - - - - 3 - YES - - - - 64 - 10 - 3.4028234663852886e+38 - - 75497536 - 2048 - Audio Languages - - - 6 - System - headerColor - - - - - - 337641536 - 2048 - Text Cell - - - - - - 3 - YES - - - - 91 - 10 - 3.4028234663852886e+38 - - 75497536 - 2048 - Subtitles - - - - - - 337641536 - 2048 - Text Cell - - - - - - 3 - YES - - - - 3 - 2 - - - 6 - System - gridColor - - 3 - MC41AA - - - 17 - -96468992 - - - 8 - 5 - 15 - 0 - YES - 0 - 1 - - - {{1, 17}, {260, 269}} - - - - - - 4 - - - - -2147483392 - {{224, 17}, {15, 102}} - - - - NO - - _doScroller: - 0.94444444444444442 - - - - -2147483392 - {{1, 247}, {167, 15}} - - - - NO - 1 - - _doScroller: - 0.81862745098039214 - - - - 2304 - - - - {{1, 0}, {260, 17}} - - - - - - 4 - - - {{1, 1}, {262, 287}} - - - - 133682 - - - - - QSAAAEEgAABBmAAAQZgAAA - 0.25 - 4 - 1 - - - {{20, 45}, {264, 289}} - - - - _NS:9 - HBBDropView - - - {301, 354} - - - - NSView - - - - 256 - - - - 290 - {{152, 58}, {109, 26}} - - - - _NS:9 - YES - - -2076180416 - 2048 - - _NS:9 - - 109199360 - 129 - - - 400 - 75 - - YES - - OtherViews - - - - Do nothing - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Quit HBB - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Put Mac to sleep - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Shut down this Mac - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - -1 - 1 - YES - YES - 2 - - NO - - - - 292 - {{17, 63}, {133, 17}} - - - - _NS:1535 - YES - - 68157504 - 272630784 - After the conversion - - _NS:1535 - - - 6 - System - controlColor - - - - - NO - - - - -2147482335 - {{150, 23}, {16, 16}} - - - - _NS:926 - 20746 - 100 - - - - 268 - {{24, 87}, {187, 41}} - - - - _NS:1505 - YES - - 68157504 - 272630784 - 4oenIEFyZSB5b3Ugc3VyZT8KTm8gZnVydGhlciB3YXJuaW5ncyE - - LucidaGrande - 13 - 16 - - _NS:1505 - - YES - - - 1 - MC41MDE5NjA4MTQgMCAwLjI1MDk4MDQwNyAwLjYAA - - - NO - - - - 268 - - {{22, 134}, {245, 18}} - - - _NS:9 - YES - - -2080374784 - 0 - Delete source files after conversion - - _NS:9 - - 1211912448 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - NO - - - - 268 - - {{117, 226}, {120, 18}} - - - _NS:9 - YES - - -2080374784 - 0 - Same as source - - _NS:9 - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 289 - - {{168, 13}, {96, 32}} - - - YES - - 67108864 - 134217728 - Start - - - -2038284288 - 129 - - - 200 - 25 - - NO - - - - 268 - - {{15, 162}, {100, 32}} - - - YES - - 67108864 - 134217728 - Choose… - - - -2038284288 - 129 - - - 200 - 25 - - NO - - - - 268 - {{18, 228}, {96, 17}} - - - - YES - - 68157504 - 272630784 - Output Folder: - - - - - - NO - - - - 268 - {{18, 317}, {119, 17}} - - - - YES - - 68157504 - 272630784 - HandBrake Preset: - - - - - - NO - - - - 266 - {{21, 198}, {237, 22}} - - - - YES - - -2073034687 - 272634880 - - - - YES - - - 6 - System - textColor - - - - NO - - - - 266 - {{18, 285}, {243, 26}} - - - - YES - - -2076180416 - 2048 - - - 109199360 - 129 - - - 400 - 75 - - - Item 2 - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - - YES - - OtherViews - - - - Item 1 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - Item 3 - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - - 1 - 1 - YES - YES - 2 - - NO - - - - 268 - {{21, 207}, {243, 13}} - - - - _NS:9 - {250, 750} - YES - - 67108864 - 272629760 - Warning: the source file might be overwritten! - - LucidaGrande - 10 - 16 - - _NS:9 - - - - 1 - MC41MDE5NjA4MTQgMCAwLjI1MDk4MDQwNyAwLjYAA - - - NO - - - {{302, 0}, {278, 354}} - - - - NSView - - - {580, 354} - - - - YES - 2 - - - {580, 354} - - - - YES - - {{0, 0}, {2560, 1418}} - {580, 376} - {10000000000000, 10000000000000} - HBBMainWindow - 128 - YES - - - HandBrakeBatchAppDelegate - - - SUUpdater - - - YES - - - NSArray - - YES - YES - YES - YES - YES - - - HBBInputFile - - YES - YES - YES - YES - YES - YES - - - - - - - terminate: - - - - 449 - - - - orderFrontStandardAboutPanel: - - - - 142 - - - - delegate - - - - 495 - - - - performMiniaturize: - - - - 37 - - - - arrangeInFront: - - - - 39 - - - - performZoom: - - - - 240 - - - - hide: - - - - 367 - - - - hideOtherApplications: - - - - 368 - - - - unhideAllApplications: - - - - 370 - - - - showHelp: - - - - 493 - - - - delegate - - - - 680 - - - - fileNamesController - - - - 805 - - - - startButton - - - - 806 - - - - progressIndicator - - - - 808 - - - - window - - - - 532 - - - - fileNamesController - - - - 634 - - - - displayLicense: - - - - 682 - - - - presetNamesController - - - - 685 - - - - showPreferences: - - - - 695 - - - - donate: - - - - 764 - - - - startConversion: - - - - 565 - - - - chooseOutputFolder: - - - - 564 - - - - presetSelected: - - - - 693 - - - - presetPopUp - - - - 694 - - - - fileNamesView - - - - 598 - - - - dropView - - - - 814 - - - - leftPaneView - - - - 815 - - - - content: arrangedObjects - - - - - - content: arrangedObjects - content - arrangedObjects - 2 - - - 591 - - - - contentValues: arrangedObjects - - - - - - contentValues: arrangedObjects - contentValues - arrangedObjects - - 2 - - - 595 - - - - value: values.OutputFolder - - - - - - value: values.OutputFolder - value - values.OutputFolder - 2 - - - 597 - - - - hidden: values.HBBDestinationSameAsSource - - - - - - hidden: values.HBBDestinationSameAsSource - hidden - values.HBBDestinationSameAsSource - 2 - - - 734 - - - - hidden: values.HBBDestinationSameAsSource - - - - - - hidden: values.HBBDestinationSameAsSource - hidden - values.HBBDestinationSameAsSource - 2 - - - 728 - - - - dataSource - - - - 711 - - - - delegate - - - - 630 - - - - value: arrangedObjects.name - - - - - - value: arrangedObjects.name - value - arrangedObjects.name - 2 - - - 624 - - - - checkForUpdates: - - - - 679 - - - - contentArray: presets - - - - - - contentArray: presets - contentArray - presets - 2 - - - 684 - - - - contentArray: inputFiles - - - - - - contentArray: inputFiles - contentArray - inputFiles - 2 - - - 622 - - - - remove: - - - - 645 - - - - oTableView - - - - 712 - - - - delegate - - - - 608 - - - - value: selection.inputURL - - - - - - value: selection.inputURL - value - selection.inputURL - 2 - - - 642 - - - - enabled: canRemove - - - - - - enabled: canRemove - enabled - canRemove - 2 - - - 677 - - - - value: arrangedObjects.plainAudioLanguageList - - - - - - value: arrangedObjects.plainAudioLanguageList - value - arrangedObjects.plainAudioLanguageList - 2 - - - 704 - - - - value: arrangedObjects.plainSubtitleLanguageList - - - - - - value: arrangedObjects.plainSubtitleLanguageList - value - arrangedObjects.plainSubtitleLanguageList - 2 - - - 705 - - - - value: values.HBBDestinationSameAsSource - - - - - - value: values.HBBDestinationSameAsSource - value - values.HBBDestinationSameAsSource - 2 - - - 762 - - - - value: values.HBBDeleteSourceFiles - - - - - - value: values.HBBDeleteSourceFiles - value - values.HBBDeleteSourceFiles - 2 - - - 746 - - - - hidden: values.HBBDeleteSourceFiles - - - - - - hidden: values.HBBDeleteSourceFiles - hidden - values.HBBDeleteSourceFiles - - NSValueTransformerName - NSNegateBoolean - - 2 - - - 758 - - - - fileNamesController - - - - 810 - - - - progressIndicator - - - - 811 - - - - startButton - - - - 812 - - - - selectedIndex: values.HBBAfterConversion - - - - - - selectedIndex: values.HBBAfterConversion - selectedIndex - values.HBBAfterConversion - 2 - - - 891 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 29 - - - - - - - - - - 19 - - - - - - - - 56 - - - - - - - - 57 - - - - - - - - - - - - - - - - - - - - 58 - - - - - 134 - - - - - 150 - - - - - 136 - - - - - 144 - - - - - 129 - - - - - 143 - - - - - 236 - - - - - 131 - - - - - - - - 149 - - - - - 145 - - - - - 130 - - - - - 24 - - - - - - - - - - - 92 - - - - - 5 - - - - - 239 - - - - - 23 - - - - - 371 - - - - - - - - 372 - - - - - - - - 490 - - - - - - - - 491 - - - - - - - - - 492 - - - - - 494 - - - - - 560 - - - Sparkle Updater - - - 566 - - - - - 587 - - - Preset Names Controller - - - 601 - - - File Names Controller - - - 605 - - - - - - - - - 606 - - - - - - - - - - 635 - - - - - - - - 636 - - - - - 643 - - - - - - - - 644 - - - - - 678 - - - - - 681 - - - - - 763 - - - - - 809 - - - - - - - - 533 - - - - - - - - - - - 553 - - - - - 552 - - - - - 551 - - - - - 550 - - - - - - - - - - 701 - - - - - - - - 699 - - - - - - - - 555 - - - - - - Table Column - File Name - - - 556 - - - - - 700 - - - - - 702 - - - - - 607 - - - - - - - - - - - - - - - - - - - - 865 - - - - - - - - 866 - - - - - - - - 867 - - - - - - - - - - - 870 - - - - - 868 - - - - - 862 - - - - - - - - 863 - - - - - 807 - - - - - 747 - - - - - - Static Text - ⇧ Are you sure? No further warnings! - - - 748 - - - - - 740 - - - - - - - - 741 - - - - - 717 - - - - - - - - 718 - - - - - 713 - - - - - - - - 714 - - - - - 539 - - - - - - - - 540 - - - - - 538 - - - - - - - - 541 - - - - - 537 - - - - - - - - 542 - - - - - 536 - - - - - - - - 543 - - - - - 535 - - - - - - - - 544 - - - - - 534 - - - - - - - - 545 - - - - - - - - 546 - - - - - - - - - - 549 - - - - - 548 - - - - - 547 - - - - - 892 - - - - - 893 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - {{380, 496}, {480, 360}} - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - ToolTip - - ToolTip - - Drag here the files to be converted - - - com.apple.InterfaceBuilder.CocoaPlugin - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - RSRTVArrayController - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 893 - - - - - HBBDropView - NSView - - RSRTVArrayController - NSProgressIndicator - NSButton - - - - fileNamesController - RSRTVArrayController - - - progressIndicator - NSProgressIndicator - - - startButton - NSButton - - - - IBProjectSource - ./Classes/HBBDropView.h - - - - HandBrakeBatchAppDelegate - NSObject - - id - id - id - id - id - id - - - - chooseOutputFolder: - id - - - displayLicense: - id - - - donate: - id - - - presetSelected: - id - - - showPreferences: - id - - - startConversion: - id - - - - NSButton - HBBDropView - RSRTVArrayController - NSTableView - NSView - NSArrayController - NSPopUpButton - NSWindow - - - - chooseOutputFolder - NSButton - - - dropView - HBBDropView - - - fileNamesController - RSRTVArrayController - - - fileNamesView - NSTableView - - - leftPaneView - NSView - - - presetNamesController - NSArrayController - - - presetPopUp - NSPopUpButton - - - window - NSWindow - - - - IBProjectSource - ./Classes/HandBrakeBatchAppDelegate.h - - - - RSRTVArrayController - NSArrayController - - oTableView - NSTableView - - - oTableView - - oTableView - NSTableView - - - - IBProjectSource - ./Classes/RSRTVArrayController.h - - - - SUUpdater - NSObject - - checkForUpdates: - id - - - checkForUpdates: - - checkForUpdates: - id - - - - delegate - id - - - delegate - - delegate - id - - - - IBProjectSource - ./Classes/SUUpdater.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 - - - YES - 3 - - {11, 11} - {10, 3} - {15, 15} - - -