diff --git a/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj index 923dc2a7c..0c5d3dbd5 100644 --- a/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj +++ b/desmume/src/cocoa/DeSmuME (XCode 3).xcodeproj/project.pbxproj @@ -622,6 +622,10 @@ ABA03571169127C000817C69 /* troubleshootingWindowDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */; }; ABA03572169127C000817C69 /* troubleshootingWindowDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */; }; ABA03573169127C000817C69 /* troubleshootingWindowDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */; }; + ABAAFBEA172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */; }; + ABAAFBEB172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */; }; + ABAAFBEC172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */; }; + ABAAFBED172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */; }; ABAD0F7315ACE7A00000EC47 /* KeyNames.plist in Resources */ = {isa = PBXBuildFile; fileRef = AB02475B13886BF300E9F9AB /* KeyNames.plist */; }; ABAD0F7415ACE7A00000EC47 /* DefaultKeyMappings.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABC719E1138CB25E002827A9 /* DefaultKeyMappings.plist */; }; ABAD0F7515ACE7A00000EC47 /* DefaultUserPrefs.plist in Resources */ = {isa = PBXBuildFile; fileRef = ABBC0F8C1394B1AA0028B6BD /* DefaultUserPrefs.plist */; }; @@ -1015,6 +1019,8 @@ ABA0356F169127C000817C69 /* troubleshootingWindowDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = troubleshootingWindowDelegate.mm; sourceTree = ""; }; ABA6574914511EC90077E5E9 /* cocoa_cheat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_cheat.h; sourceTree = ""; }; ABA6574A14511EC90077E5E9 /* cocoa_cheat.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_cheat.mm; sourceTree = ""; }; + ABAAFBE8172122B6005DDDBE /* FileMigrationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileMigrationDelegate.h; sourceTree = ""; }; + ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileMigrationDelegate.mm; sourceTree = ""; }; ABAD104915ACE7A00000EC47 /* DeSmuME (PPC).app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "DeSmuME (PPC).app"; sourceTree = BUILT_PRODUCTS_DIR; }; ABB97873144E89CC00793FA3 /* Icon_ActionReplay_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_ActionReplay_32x32.png; path = Images/Icon_ActionReplay_32x32.png; sourceTree = ""; }; ABB97874144E89CC00793FA3 /* Icon_CodeBreaker_32x32.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Icon_CodeBreaker_32x32.png; path = Images/Icon_CodeBreaker_32x32.png; sourceTree = ""; }; @@ -1516,6 +1522,7 @@ AB3ACB6814C2361100D7D192 /* cheatWindowDelegate.h */, AB700DDC16CDE4C300FBD336 /* DisplayWindowController.h */, AB6A187A16C9951C00384EED /* EmuControllerDelegate.h */, + ABAAFBE8172122B6005DDDBE /* FileMigrationDelegate.h */, AB5A795616D5A56000ED84B7 /* InputManager.h */, AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */, AB213D43170CB141006DDB0F /* InputProfileController.h */, @@ -1525,6 +1532,7 @@ AB3ACB6914C2361100D7D192 /* cheatWindowDelegate.mm */, AB700DDD16CDE4C300FBD336 /* DisplayWindowController.mm */, AB6A187B16C9951C00384EED /* EmuControllerDelegate.mm */, + ABAAFBE9172122B6005DDDBE /* FileMigrationDelegate.mm */, AB5A795716D5A56000ED84B7 /* InputManager.mm */, AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */, AB213D44170CB141006DDB0F /* InputProfileController.mm */, @@ -2678,6 +2686,7 @@ AB2F56F11704C86900E28885 /* utilities.c in Sources */, AB213D46170CB141006DDB0F /* InputProfileController.mm in Sources */, AB2145241714DFF4006DDB0F /* audiosamplegenerator.cpp in Sources */, + ABAAFBEB172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2837,6 +2846,7 @@ AB2F56F01704C86900E28885 /* utilities.c in Sources */, AB213D48170CB141006DDB0F /* InputProfileController.mm in Sources */, AB2145261714DFF4006DDB0F /* audiosamplegenerator.cpp in Sources */, + ABAAFBEA172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2996,6 +3006,7 @@ AB2F56F31704C86900E28885 /* utilities.c in Sources */, AB213D45170CB141006DDB0F /* InputProfileController.mm in Sources */, AB2145251714DFF4006DDB0F /* audiosamplegenerator.cpp in Sources */, + ABAAFBED172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3125,6 +3136,7 @@ AB2F56F21704C86900E28885 /* utilities.c in Sources */, AB213D47170CB141006DDB0F /* InputProfileController.mm in Sources */, AB2145231714DFF4006DDB0F /* audiosamplegenerator.cpp in Sources */, + ABAAFBEC172122B6005DDDBE /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj b/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj index e3a6f69e4..2ba7c2123 100644 --- a/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj +++ b/desmume/src/cocoa/DeSmuME (XCode 4).xcodeproj/project.pbxproj @@ -608,6 +608,8 @@ ABD1FF681345ACBF00AF11D1 /* vfat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF4F1345ACBF00AF11D1 /* vfat.cpp */; }; ABD1FF691345ACBF00AF11D1 /* xstring.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF511345ACBF00AF11D1 /* xstring.cpp */; }; ABD1FF9F1345ACFA00AF11D1 /* metaspu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABD1FF771345ACFA00AF11D1 /* metaspu.cpp */; }; + ABD42047172319D1006A9B46 /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD42046172319D1006A9B46 /* FileMigrationDelegate.mm */; }; + ABD42048172319D1006A9B46 /* FileMigrationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABD42046172319D1006A9B46 /* FileMigrationDelegate.mm */; }; ABE5DE95143F781900835AD8 /* videofilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AB817A35143EE2DB00A7DFE9 /* videofilter.cpp */; }; ABE5DFE5143FB1DA00835AD8 /* cocoa_videofilter.mm in Sources */ = {isa = PBXBuildFile; fileRef = ABE5DFE4143FB1DA00835AD8 /* cocoa_videofilter.mm */; }; ABE6702B1415DE6C00E8E4C9 /* tinystr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = ABE670251415DE6C00E8E4C9 /* tinystr.cpp */; }; @@ -1042,6 +1044,8 @@ ABD1FF7A1345ACFA00AF11D1 /* SndOut.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SndOut.cpp; sourceTree = ""; }; ABD1FF7B1345ACFA00AF11D1 /* SndOut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SndOut.h; sourceTree = ""; }; ABD1FF9B1345ACFA00AF11D1 /* Timestretcher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Timestretcher.cpp; sourceTree = ""; }; + ABD42045172319D1006A9B46 /* FileMigrationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FileMigrationDelegate.h; sourceTree = ""; }; + ABD42046172319D1006A9B46 /* FileMigrationDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FileMigrationDelegate.mm; sourceTree = ""; }; ABE5DFE3143FB1DA00835AD8 /* cocoa_videofilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = cocoa_videofilter.h; sourceTree = ""; }; ABE5DFE4143FB1DA00835AD8 /* cocoa_videofilter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = cocoa_videofilter.mm; sourceTree = ""; }; ABE670251415DE6C00E8E4C9 /* tinystr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = tinystr.cpp; sourceTree = ""; }; @@ -1263,6 +1267,7 @@ AB3ACB6814C2361100D7D192 /* cheatWindowDelegate.h */, AB8967D716D2ED0700F826F1 /* DisplayWindowController.h */, AB3A655C16CC5416001F5D4A /* EmuControllerDelegate.h */, + ABD42045172319D1006A9B46 /* FileMigrationDelegate.h */, AB29B32F16D4BEBF000EF671 /* InputManager.h */, AB3ACB6E14C2361100D7D192 /* inputPrefsView.h */, AB01005C170D07AF00D70FBE /* InputProfileController.h */, @@ -1272,6 +1277,7 @@ AB3ACB6914C2361100D7D192 /* cheatWindowDelegate.mm */, AB8967D816D2ED0700F826F1 /* DisplayWindowController.mm */, AB3A655D16CC5421001F5D4A /* EmuControllerDelegate.mm */, + ABD42046172319D1006A9B46 /* FileMigrationDelegate.mm */, AB29B33016D4BEBF000EF671 /* InputManager.mm */, AB3ACB6F14C2361100D7D192 /* inputPrefsView.mm */, AB01005D170D07B000D70FBE /* InputProfileController.mm */, @@ -2273,6 +2279,7 @@ AB01005F170D07B000D70FBE /* InputProfileController.mm in Sources */, ABD10AE81715FCDD00B5729D /* audiosamplegenerator.cpp in Sources */, ABD10AEB1715FCDD00B5729D /* mic_ext.cpp in Sources */, + ABD42048172319D1006A9B46 /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -2433,6 +2440,7 @@ AB01005E170D07B000D70FBE /* InputProfileController.mm in Sources */, ABD10AE71715FCDD00B5729D /* audiosamplegenerator.cpp in Sources */, ABD10AEA1715FCDD00B5729D /* mic_ext.cpp in Sources */, + ABD42047172319D1006A9B46 /* FileMigrationDelegate.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/desmume/src/cocoa/DefaultUserPrefs.plist b/desmume/src/cocoa/DefaultUserPrefs.plist index 6b84798ca..f6cdacf6a 100644 Binary files a/desmume/src/cocoa/DefaultUserPrefs.plist and b/desmume/src/cocoa/DefaultUserPrefs.plist differ diff --git a/desmume/src/cocoa/FileTypeInfo.plist b/desmume/src/cocoa/FileTypeInfo.plist index 7c6410a35..b739c773e 100644 --- a/desmume/src/cocoa/FileTypeInfo.plist +++ b/desmume/src/cocoa/FileTypeInfo.plist @@ -2,6 +2,34 @@ + VersionStrings + + 0.9.6 + 0.9.7 + 0.9.8 + 0.9.9 + + PortStrings + + 0.9.6 + + GTK + + 0.9.7 + + Cocoa + + 0.9.8 + + Cocoa + OpenEmu + + 0.9.9 + + Cocoa + OpenEmu + + DefaultPaths 0.9.6 diff --git a/desmume/src/cocoa/cocoa_file.h b/desmume/src/cocoa/cocoa_file.h index 177fa8743..c92b3f3ed 100644 --- a/desmume/src/cocoa/cocoa_file.h +++ b/desmume/src/cocoa/cocoa_file.h @@ -53,7 +53,7 @@ + (NSString *) saveSlotFileName:(NSURL *)romURL slotNumber:(NSUInteger)slotNumber; + (NSString *) fileKindByURL:(NSURL *)fileURL; + (NSString *) fileKindByURL:(NSURL *)fileURL version:(NSString *)versionString port:(NSString *)portString; -+ (NSString *) fileVersion:(NSURL *)fileURL; ++ (NSString *) fileVersionByURL:(NSURL *)fileURL; + (BOOL) fileExistsForCurrent:(NSURL *)fileURL; + (NSURL *) fileURLFromRomURL:(NSURL *)romURL toKind:(NSString *)fileKind; + (NSURL *) fileURLFromRomURL:(NSURL *)romURL toKind:(NSString *)fileKind version:(NSString *)versionString port:(NSString *)portString; diff --git a/desmume/src/cocoa/cocoa_file.mm b/desmume/src/cocoa/cocoa_file.mm index 5ba9fa9d4..00f58adfd 100644 --- a/desmume/src/cocoa/cocoa_file.mm +++ b/desmume/src/cocoa/cocoa_file.mm @@ -639,7 +639,7 @@ static NSMutableDictionary *_gURLDictionary = nil; return fileKind; } -+ (NSString *) fileVersion:(NSURL *)fileURL ++ (NSString *) fileVersionByURL:(NSURL *)fileURL { NSString *fileVersion = @"Unknown Version"; @@ -1208,10 +1208,10 @@ static NSMutableDictionary *_gURLDictionary = nil; NSString *currentVersion = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; NSDictionary *fileTypeInfoRootDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FileTypeInfo" ofType:@"plist"]]; + NSArray *versionList = [fileTypeInfoRootDict valueForKey:@"VersionStrings"]; NSDictionary *filePathsDict = (NSDictionary *)[fileTypeInfoRootDict valueForKey:@"DefaultPaths"]; - NSArray *versionArray = [filePathsDict allKeys]; - for (NSString *versionKey in versionArray) + for (NSString *versionKey in versionList) { if ([currentVersion isEqualToString:versionKey]) { @@ -1274,7 +1274,7 @@ static NSMutableDictionary *_gURLDictionary = nil; NSNumber *willMigrate = [NSNumber numberWithBool:YES]; NSString *filePath = [directoryPath stringByAppendingPathComponent:fileName]; NSURL *fileURL = [NSURL fileURLWithPath:filePath]; - NSString *fileVersion = [CocoaDSFile fileVersion:fileURL]; + NSString *fileVersion = [CocoaDSFile fileVersionByURL:fileURL]; NSString *fileKind = [CocoaDSFile fileKindByURL:fileURL]; if (fileKind == nil || diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings index b67698109..360a1c05f 100644 Binary files a/desmume/src/cocoa/translations/English.lproj/MainMenu.strings and b/desmume/src/cocoa/translations/English.lproj/MainMenu.strings differ diff --git a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib index 075cd15ae..06d28a771 100644 --- a/desmume/src/cocoa/translations/English.lproj/MainMenu.xib +++ b/desmume/src/cocoa/translations/English.lproj/MainMenu.xib @@ -12,8 +12,8 @@ YES - - + + @@ -2538,7 +2538,7 @@ {1.79769e+308, 1.79769e+308} - + 268 YES @@ -3037,6 +3037,7 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA {520, 486} + 2 NSView @@ -3547,7 +3548,7 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA InputPrefsView - + 268 YES @@ -3556,7 +3557,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 12 {{13, 10}, {463, 401}} - YES @@ -3581,7 +3581,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{72, 44}, {84, 17}} - YES 68288064 @@ -3598,7 +3597,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{44, 16}, {112, 17}} - YES 68288064 @@ -3615,7 +3613,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{158, 38}, {126, 26}} - YES -2076049856 @@ -3696,7 +3693,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{289, 14}, {72, 22}} - YES -1804468671 @@ -3787,7 +3783,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{63, 72}, {93, 17}} - YES 68288064 @@ -3804,7 +3799,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{158, 66}, {126, 26}} - YES -2076049856 @@ -3872,7 +3866,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{158, 11}, {126, 26}} - YES -2076049856 @@ -3974,12 +3967,10 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA {{1, 1}, {429, 100}} - {{6, 206}, {431, 116}} - {0, 0} 67239424 @@ -4023,7 +4014,6 @@ aGVhdHMuZ2JhdGVtcC5uZXQvA 268 {{18, 14}, {100, 38}} - YES 2 1 @@ -4219,12 +4209,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {194, 62}} - {{15, 53}, {196, 78}} - {0, 0} 67239424 @@ -4258,7 +4246,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {150, 38}} - YES 2 1 @@ -4449,12 +4436,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {194, 62}} - {{218, 53}, {196, 78}} - {0, 0} 67239424 @@ -4478,7 +4463,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 18}, {126, 17}} - YES 68288064 @@ -4495,7 +4479,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{339, 16}, {72, 22}} - YES -1804468671 @@ -4577,7 +4560,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{144, 12}, {189, 26}} - YES -2079981824 @@ -4599,7 +4581,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{305, 38}, {38, 11}} - YES 68288064 @@ -4620,7 +4601,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{263, 38}, {38, 11}} - YES 68288064 @@ -4637,7 +4617,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{220, 38}, {38, 11}} - YES 68288064 @@ -4654,7 +4633,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{178, 38}, {38, 11}} - YES 68288064 @@ -4671,7 +4649,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{137, 38}, {38, 11}} - YES 68288064 @@ -4686,12 +4663,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {429, 141}} - {{6, 45}, {431, 157}} - {0, 0} 67239424 @@ -4713,7 +4688,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{10, 33}, {443, 355}} - Display Views @@ -5675,8 +5649,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {489, 425} - - NSView @@ -6523,7 +6495,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSView - + 268 YES @@ -7439,7 +7411,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {530, 630} - NSView @@ -9938,7 +9909,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -9947,7 +9918,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{119, 300}, {166, 22}} - YES -1804468671 @@ -9966,7 +9936,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{119, 246}, {166, 44}} - YES -1805517311 @@ -9985,7 +9954,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 302}, {71, 17}} - YES 68288064 @@ -10002,7 +9970,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 270}, {63, 17}} - YES 68288064 @@ -10019,7 +9986,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 220}, {97, 17}} - YES 68288064 @@ -10036,7 +10002,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 178}, {60, 17}} - YES 68288064 @@ -10053,7 +10018,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 150}, {69, 17}} - YES 68288064 @@ -10070,7 +10034,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{119, 176}, {169, 27}} - YES 71433728 @@ -10091,7 +10054,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{116, 144}, {172, 26}} - YES -2076049856 @@ -10191,7 +10153,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{116, 214}, {172, 26}} - YES -2076049856 @@ -10464,7 +10425,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 55}, {271, 85}} - YES 67239424 @@ -10481,7 +10441,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{104, 12}, {96, 32}} - YES 67239424 @@ -10499,8 +10458,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {305, 339} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -10508,7 +10465,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 9 2 - {{702, 448}, {700, 364}} + {{702, 413}, {700, 399}} 1685586944 User File Migration NSWindow @@ -10516,14 +10473,14 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} {700, 250} - + 256 YES 268 - {{17, 310}, {666, 34}} + {{17, 345}, {666, 34}} YES @@ -10538,7 +10495,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 292 + 289 {{362, 12}, {162, 32}} 2 @@ -10559,7 +10516,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 292 + 289 {{200, 12}, {162, 32}} YES @@ -10580,7 +10537,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 - {{17, 274}, {666, 28}} + {{17, 309}, {666, 28}} YES @@ -10621,7 +10578,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 292 + 289 {{524, 12}, {162, 32}} 1 @@ -10863,7 +10820,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - {{-1, 53}, {702, 213}} + {{-1, 88}, {702, 213}} 562 @@ -10874,13 +10831,57 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA QSAAAEEgAABBmAAAQZgAAA + + + 292 + {{14, 52}, {114, 32}} + + YES + + 67239424 + 134217728 + Select All + + + -2038284033 + 129 + + + 200 + 25 + + + + + 292 + {{128, 52}, {114, 32}} + + YES + + 67239424 + 134217728 + Select None + + + -2038284033 + 129 + + + 200 + 25 + + - {700, 364} + {700, 399} + {{0, 0}, {1920, 1178}} {700, 272} {1.79769e+308, 1.79769e+308} + + FileMigrationDelegate + 1 2 @@ -13463,7 +13464,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -13472,7 +13473,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{14, 12}, {168, 32}} - YES 67239424 @@ -13493,7 +13493,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{181, 22}, {105, 17}} - YES 68288064 @@ -13510,7 +13509,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 12 {{12, 51}, {616, 5}} - {0, 0} 67239424 @@ -13533,7 +13531,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{288, 22}, {330, 17}} - YES 70385217 @@ -13561,7 +13558,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {180, 102}} - YES 4 1 @@ -13780,7 +13776,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{85, 15}, {409, 21}} - YES 78773825 @@ -13799,7 +13794,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{496, 8}, {96, 32}} - YES 67239424 @@ -13820,7 +13814,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 124}, {482, 28}} - YES 67239424 @@ -13840,7 +13833,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{496, 120}, {96, 32}} - YES 67239424 @@ -13859,12 +13851,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {604, 162}} - {{17, 140}, {606, 178}} - {0, 0} 67239424 @@ -13910,7 +13900,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{18, 16}, {30, 30}} - YES 130560 @@ -13928,7 +13917,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 265 {{50, 18}, {168, 28}} - YES 69336577 @@ -13946,7 +13934,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{18, 14}, {32, 32}} - 28682 100 @@ -13955,7 +13942,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{220, 17}, {201, 26}} - YES -2076049856 @@ -14061,12 +14047,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {604, 56}} - {{17, 64}, {606, 72}} - {0, 0} 67239424 @@ -14087,8 +14071,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {640, 329} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -14103,7 +14085,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -14851,7 +14833,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {286, 522} - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -15381,7 +15362,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -15390,7 +15371,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 174}, {158, 18}} - YES -2080244224 @@ -15413,7 +15393,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 154}, {158, 18}} - YES -2080244224 @@ -15436,7 +15415,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 134}, {158, 18}} - YES -2080244224 @@ -15459,7 +15437,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 114}, {158, 18}} - YES -2080244224 @@ -15482,7 +15459,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 94}, {158, 18}} - YES -2080244224 @@ -15505,7 +15481,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 74}, {158, 18}} - YES -2080244224 @@ -15528,7 +15503,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 54}, {158, 18}} - YES -2080244224 @@ -15551,7 +15525,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{20, 18}, {154, 19}} - YES -2080244224 @@ -15572,7 +15545,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 205}, {158, 18}} - YES -2080244224 @@ -15595,7 +15567,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 12 {{21, 196}, {153, 5}} - {0, 0} 67239424 @@ -15615,8 +15586,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {194, 241} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -15631,7 +15600,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -15640,7 +15609,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{20, 18}, {164, 19}} - YES -2080244224 @@ -15671,7 +15639,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {129, 378}} - YES 19 1 @@ -16169,12 +16136,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {168, 402}} - {{17, 41}, {170, 418}} - {0, 0} 67239424 @@ -16198,7 +16163,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 485}, {169, 18}} - YES -2080244224 @@ -16221,7 +16185,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{17, 465}, {135, 18}} - YES 67239424 @@ -16241,8 +16204,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {204, 521} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -16257,7 +16218,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -16276,7 +16237,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 77}, {206, 18}} - YES -2080244224 @@ -16299,7 +16259,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 57}, {134, 18}} - YES -2080244224 @@ -16322,7 +16281,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 37}, {80, 18}} - YES -2080244224 @@ -16345,7 +16303,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{185, 12}, {45, 19}} - YES -1804468671 @@ -16426,7 +16383,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {165, 14}} - YES 68288064 @@ -16441,12 +16397,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 103}} - {{17, 241}, {250, 119}} - {0, 0} 67239424 @@ -16470,7 +16424,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{65, 18}, {154, 19}} - YES -2080244224 @@ -16501,7 +16454,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {107, 58}} - YES 3 1 @@ -16706,12 +16658,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 82}} - {{17, 442}, {250, 98}} - {0, 0} 67239424 @@ -16745,7 +16695,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {120, 98}} - YES 5 1 @@ -17010,12 +16959,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 122}} - {{17, 41}, {250, 138}} - {0, 0} 67239424 @@ -17049,7 +16996,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 32}, {113, 18}} - YES -2080244224 @@ -17072,7 +17018,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 12}, {108, 18}} - YES -2080244224 @@ -17093,12 +17038,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 58}} - {{17, 364}, {250, 74}} - {0, 0} 67239424 @@ -17132,7 +17075,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{16, 12}, {192, 18}} - YES 67239424 @@ -17153,12 +17095,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {248, 38}} - {{17, 183}, {250, 54}} - {0, 0} 67239424 @@ -17179,8 +17119,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {284, 560} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -17195,7 +17133,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -17214,7 +17152,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {61, 58}} - YES 3 1 @@ -17419,12 +17356,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {253, 82}} - {{16, 189}, {255, 98}} - {0, 0} 67239424 @@ -17458,7 +17393,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 80}, {154, 38}} - YES 2 1 @@ -17652,7 +17586,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{53, 14}, {100, 58}} - YES 3 1 @@ -17857,12 +17790,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {253, 128}} - {{16, 41}, {255, 144}} - {0, 0} 67239424 @@ -17896,7 +17827,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 12}, {129, 18}} - YES -2080244224 @@ -17917,12 +17847,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {253, 38}} - {{16, 291}, {255, 54}} - {0, 0} 67239424 @@ -17956,7 +17884,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{47, 13}, {136, 21}} - YES 67501824 @@ -17978,7 +17905,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{186, 17}, {52, 17}} - YES 68288064 @@ -18069,7 +17995,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{18, 14}, {20, 20}} - YES 130560 @@ -18085,12 +18010,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {253, 44}} - {{16, 349}, {255, 60}} - {0, 0} 67239424 @@ -18114,7 +18037,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{66, 18}, {154, 19}} - YES -2080244224 @@ -18145,7 +18067,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{18, 14}, {116, 38}} - YES 2 1 @@ -18337,12 +18258,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {253, 62}} - {{16, 413}, {255, 78}} - {0, 0} 67239424 @@ -18363,8 +18282,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {288, 511} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -18379,7 +18296,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -18399,7 +18316,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{20, 440}, {128, 128}} - YES 130560 @@ -18427,7 +18343,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 89}, {131, 17}} - YES 68288064 @@ -18444,7 +18359,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 64}, {131, 17}} - YES 68288064 @@ -18461,7 +18375,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 39}, {131, 17}} - YES 68288064 @@ -18478,7 +18391,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {131, 17}} - YES 68288064 @@ -18495,7 +18407,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{148, 89}, {245, 17}} - YES 68288064 @@ -18516,7 +18427,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{148, 64}, {245, 17}} - YES 68288064 @@ -18534,7 +18444,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{148, 39}, {245, 17}} - YES 68288064 @@ -18552,7 +18461,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{148, 14}, {245, 17}} - YES 68288064 @@ -18568,12 +18476,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {408, 116}} - {{153, 436}, {410, 132}} - {0, 0} 67239424 @@ -18607,7 +18513,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 376}, {186, 14}} - YES 68288064 @@ -18624,7 +18529,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 312}, {186, 14}} - YES 68288064 @@ -18641,7 +18545,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 248}, {186, 14}} - YES 68288064 @@ -18658,7 +18561,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 184}, {186, 14}} - YES 68288064 @@ -18675,7 +18577,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 120}, {186, 14}} - YES 68288064 @@ -18692,7 +18593,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 56}, {186, 14}} - YES 68288064 @@ -18709,7 +18609,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 334}, {186, 42}} - YES 67239424 @@ -18727,7 +18626,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 270}, {186, 42}} - YES 67239424 @@ -18745,7 +18643,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 206}, {186, 42}} - YES 67239424 @@ -18763,7 +18660,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 142}, {186, 42}} - YES 67239424 @@ -18781,7 +18677,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 78}, {186, 42}} - YES 67239424 @@ -18799,7 +18694,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {186, 42}} - YES 67239424 @@ -18815,12 +18709,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {216, 400}} - {{17, 16}, {218, 416}} - {0, 0} 67239424 @@ -18854,7 +18746,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 168}, {186, 14}} - YES 68288064 @@ -18871,7 +18762,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 146}, {186, 14}} - YES 68288064 @@ -18888,7 +18778,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 124}, {186, 14}} - YES 68288064 @@ -18905,7 +18794,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 102}, {186, 14}} - YES 68288064 @@ -18922,7 +18810,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 80}, {186, 14}} - YES 68288064 @@ -18939,7 +18826,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 58}, {186, 14}} - YES 68288064 @@ -18956,7 +18842,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 36}, {186, 14}} - YES 68288064 @@ -18973,7 +18858,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {186, 14}} - YES 68288064 @@ -18990,7 +18874,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 168}, {106, 14}} - YES 68288064 @@ -19007,7 +18890,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 146}, {106, 14}} - YES 68288064 @@ -19025,7 +18907,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 124}, {106, 14}} - YES 68288064 @@ -19043,7 +18924,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 102}, {106, 14}} - YES 68288064 @@ -19061,7 +18941,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 80}, {106, 14}} - YES 68288064 @@ -19079,7 +18958,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 58}, {106, 14}} - YES 68288064 @@ -19097,7 +18975,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 36}, {106, 14}} - YES 68288064 @@ -19115,7 +18992,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 14}, {106, 14}} - YES 68288064 @@ -19131,12 +19007,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {324, 192}} - {{237, 224}, {326, 208}} - {0, 0} 67239424 @@ -19170,7 +19044,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 80}, {186, 14}} - YES 68288064 @@ -19187,7 +19060,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 80}, {106, 14}} - YES 68288064 @@ -19205,7 +19077,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 58}, {186, 14}} - YES 68288064 @@ -19222,7 +19093,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 58}, {106, 14}} - YES 68288064 @@ -19240,7 +19110,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 36}, {186, 14}} - YES 68288064 @@ -19257,7 +19126,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 36}, {106, 14}} - YES 68288064 @@ -19275,7 +19143,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {186, 14}} - YES 68288064 @@ -19292,7 +19159,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 14}, {106, 14}} - YES 68288064 @@ -19308,12 +19174,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {324, 104}} - {{237, 98}, {326, 120}} - {0, 0} 67239424 @@ -19347,7 +19211,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 36}, {186, 14}} - YES 68288064 @@ -19364,7 +19227,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 36}, {106, 14}} - YES 68288064 @@ -19382,7 +19244,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{15, 14}, {186, 14}} - YES 68288064 @@ -19399,7 +19260,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{203, 14}, {106, 14}} - YES 68288064 @@ -19415,12 +19275,10 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {{1, 1}, {324, 60}} - {{237, 16}, {326, 76}} - {0, 0} 67239424 @@ -19441,8 +19299,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {580, 588} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -19457,7 +19313,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -19466,7 +19322,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{30, 43}, {411, 26}} - YES -2079981824 @@ -19488,7 +19343,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{20, 70}, {38, 17}} - YES 68288064 @@ -19505,7 +19359,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{412, 70}, {38, 17}} - YES 68288064 @@ -19522,7 +19375,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{98, 70}, {38, 17}} - YES 68288064 @@ -19539,7 +19391,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{177, 70}, {38, 17}} - YES 68288064 @@ -19556,7 +19407,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{255, 70}, {38, 17}} - YES 68288064 @@ -19573,7 +19423,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{335, 70}, {38, 17}} - YES 68288064 @@ -19590,7 +19439,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{32, 18}, {133, 19}} - 100 YES @@ -19612,7 +19460,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{260, 21}, {123, 17}} - YES 68288064 @@ -19629,7 +19476,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{385, 21}, {57, 17}} - YES 68288064 @@ -19710,7 +19556,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{158, 93}, {154, 18}} - YES -2080244224 @@ -19730,8 +19575,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {467, 128} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -19746,7 +19589,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -19755,7 +19598,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{88, 119}, {32, 34}} - YES 67501824 @@ -19778,7 +19620,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{85, 161}, {38, 17}} - YES 68288064 @@ -19795,7 +19636,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{85, 94}, {39, 17}} - YES 68288064 @@ -19812,7 +19652,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{44, 127}, {39, 17}} - YES 68288064 @@ -19829,7 +19668,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{125, 127}, {38, 17}} - YES 68288064 @@ -19846,7 +19684,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{127, 69}, {57, 17}} - YES 68288064 @@ -19929,7 +19766,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{24, 69}, {101, 17}} - YES 68288064 @@ -19946,7 +19782,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{27, 42}, {154, 19}} - YES -2080244224 @@ -19967,7 +19802,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{27, 17}, {154, 19}} - YES -2080244224 @@ -19985,8 +19819,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {213, 198} - - {{0, 0}, {1440, 878}} {1.79769e+308, 1.79769e+308} @@ -20001,7 +19833,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {1.79769e+308, 1.79769e+308} - + 256 YES @@ -20010,7 +19842,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{30, 73}, {385, 26}} - YES -2079981824 @@ -20032,7 +19863,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{389, 99}, {38, 14}} - YES 68288064 @@ -20049,7 +19879,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{298, 99}, {38, 14}} - YES 68288064 @@ -20066,7 +19895,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{205, 99}, {38, 14}} - YES 68288064 @@ -20083,7 +19911,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{113, 99}, {38, 14}} - YES 68288064 @@ -20100,7 +19927,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{22, 99}, {38, 14}} - YES 68288064 @@ -20117,7 +19943,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{249, 51}, {107, 17}} - YES 68288064 @@ -20134,7 +19959,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{358, 51}, {66, 17}} - YES 68288064 @@ -20212,7 +20036,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{20, 48}, {100, 19}} - YES -2080244224 @@ -20233,7 +20056,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{128, 48}, {100, 19}} - 100 YES @@ -20255,7 +20077,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 268 {{147, 18}, {154, 19}} - YES -2080244224 @@ -20273,8 +20094,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA {441, 133} - - {{0, 0}, {1920, 1178}} {1.79769e+308, 1.79769e+308} @@ -22034,10 +21853,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES - - YES - Emulation_MaxJITBlockSize - YES @@ -22572,38 +22387,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 2612 - - - migrationWindow - - - - 2911 - - - - handleMigrationWindow: - - - - 2919 - - - - handleMigrationWindow: - - - - 2920 - - - - handleMigrationWindow: - - - - 2921 - value: arrangedObjects.name @@ -22771,22 +22554,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 3044 - - - showMigrationWindow: - - - - 3066 - - - - fileMigrationList - - - - 3071 - cut: @@ -22835,38 +22602,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 3272 - - - enabled: migrationFilesPresent - - - - - - enabled: migrationFilesPresent - enabled - migrationFilesPresent - 2 - - - 3290 - - - - enabled: migrationFilesPresent - - - - - - enabled: migrationFilesPresent - enabled - migrationFilesPresent - 2 - - - 3292 - selectVideoFilterType: @@ -31470,6 +31205,118 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 8074 + + + selectAll: + + + + 8085 + + + + selectNone: + + + + 8086 + + + + handleChoice: + + + + 8087 + + + + handleChoice: + + + + 8088 + + + + handleChoice: + + + + 8089 + + + + window + + + + 8090 + + + + delegate + + + + 8091 + + + + enabled: filesPresent + + + + + + enabled: filesPresent + enabled + filesPresent + 2 + + + 8094 + + + + enabled: filesPresent + + + + + + enabled: filesPresent + enabled + filesPresent + 2 + + + 8095 + + + + fileListController + + + + 8097 + + + + migrationDelegate + + + + 8098 + + + + updateAndShowWindow: + + + + 8133 + @@ -34501,10 +34348,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - + + + @@ -42972,6 +42821,39 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + 8075 + + + YES + + + + + + 8076 + + + YES + + + + + + 8077 + + + + + 8078 + + + + + 8084 + + + @@ -45146,6 +45028,13 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA 8066.IBNumberFormatterBehaviorMetadataKey 8066.IBNumberFormatterLocalizesFormatMetadataKey 8066.IBPluginDependency + 8075.IBPluginDependency + 8075.IBViewBoundsToFrameTransform + 8076.IBPluginDependency + 8076.IBViewBoundsToFrameTransform + 8077.IBPluginDependency + 8078.IBPluginDependency + 8084.IBPluginDependency 81.IBEditorWindowLastContentRect 81.IBPluginDependency 81.ImportedFromIB2 @@ -45439,7 +45328,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{1028, 578}, {520, 486}} + {{1090, 164}, {520, 486}} com.apple.InterfaceBuilder.CocoaPlugin YES @@ -46082,9 +45971,9 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{596, 105}, {700, 364}} + {{889, 367}, {700, 399}} com.apple.InterfaceBuilder.CocoaPlugin - {{596, 105}, {700, 364}} + {{889, 367}, {700, 399}} @@ -46098,17 +45987,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABDMAAAwigAAA + P4AAAL+AAABDtQAAw1MAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABBYAAAwigAAA + P4AAAL+AAABDSAAAw1MAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABDMQAAwogAAA + P4AAAL+AAABBkAAAw04AAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -46148,12 +46037,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABDqQAAwigAAA + P4AAAL+AAABEAwAAw1MAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAADBoAAAw5YAAA + P4AAAL+AAAC/gAAAw+oAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -46203,7 +46092,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABChgAAweAAAA + P4AAAL+AAABCuAAAweAAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -47667,12 +47556,12 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABBYAAAwswAAA + P4AAAL+AAABBYAAAwigAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - P4AAAL+AAABDAAAAwswAAA + P4AAAL+AAABDAAAAwigAAA com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -49267,6 +49156,17 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABBYAAAw3sAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDAAAAw3sAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin {{709, 783}, {262, 353}} com.apple.InterfaceBuilder.CocoaPlugin @@ -49576,7 +49476,7 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - 8074 + 8133 @@ -49589,10 +49489,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES bugReport: - handleMigrationWindow: launchForums: launchWebsite: - showMigrationWindow: showSupportFolderInFinder: supportRequest: @@ -49603,8 +49501,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA id id id - id - id @@ -49612,10 +49508,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA YES bugReport: - handleMigrationWindow: launchForums: launchWebsite: - showMigrationWindow: showSupportFolderInFinder: supportRequest: @@ -49625,10 +49519,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA bugReport: id - - handleMigrationWindow: - id - launchForums: id @@ -49637,10 +49527,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA launchWebsite: id - - showMigrationWindow: - id - showSupportFolderInFinder: id @@ -49666,12 +49552,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA cheatListWindow cheatWindowController emuControlController - fileMigrationList inputManager inputPrefsView mLoadStateSlot mSaveStateSlot - migrationWindow + migrationDelegate prefGeneralView prefWindow prefWindowController @@ -49691,12 +49576,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSWindow NSObjectController NSObjectController - NSArrayController InputManager InputPrefsView NSMenu NSMenu - NSWindow + FileMigrationDelegate NSView NSWindow NSObjectController @@ -49719,12 +49603,11 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA cheatListWindow cheatWindowController emuControlController - fileMigrationList inputManager inputPrefsView mLoadStateSlot mSaveStateSlot - migrationWindow + migrationDelegate prefGeneralView prefWindow prefWindowController @@ -49777,10 +49660,6 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA emuControlController NSObjectController - - fileMigrationList - NSArrayController - inputManager InputManager @@ -49798,8 +49677,8 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA NSMenu - migrationWindow - NSWindow + migrationDelegate + FileMigrationDelegate prefGeneralView @@ -50735,6 +50614,92 @@ AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA userinterface/EmuControllerDelegate.h + + FileMigrationDelegate + NSObject + + YES + + YES + handleChoice: + selectAll: + selectNone: + updateAndShowWindow: + + + YES + id + id + id + id + + + + YES + + YES + handleChoice: + selectAll: + selectNone: + updateAndShowWindow: + + + YES + + handleChoice: + id + + + selectAll: + id + + + selectNone: + id + + + updateAndShowWindow: + id + + + + + YES + + YES + fileListController + window + + + YES + NSArrayController + NSWindow + + + + YES + + YES + fileListController + window + + + YES + + fileListController + NSArrayController + + + window + NSWindow + + + + + IBProjectSource + userinterface/FileMigrationDelegate.h + + InputManager NSObject diff --git a/desmume/src/cocoa/userinterface/FileMigrationDelegate.h b/desmume/src/cocoa/userinterface/FileMigrationDelegate.h new file mode 100644 index 000000000..8f4dc9284 --- /dev/null +++ b/desmume/src/cocoa/userinterface/FileMigrationDelegate.h @@ -0,0 +1,48 @@ +/* + Copyright (C) 2013 DeSmuME team + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the this software. If not, see . + */ + +#import + +#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5 +@interface FileMigrationDelegate : NSObject +#else +@interface FileMigrationDelegate : NSObject +#endif +{ + NSObject *dummyObject; + NSWindow *window; + NSArrayController *fileListController; + NSArray *_versionList; + NSMutableDictionary *_portStringsDict; + //NSMutableDictionary *_fileTree; + + BOOL filesPresent; +} + +@property (readonly) IBOutlet NSObject *dummyObject; +@property (readonly) IBOutlet NSWindow *window; +@property (readonly) IBOutlet NSArrayController *fileListController; + +@property (assign) BOOL filesPresent; + +- (void) updateFileList; +- (IBAction) updateAndShowWindow:(id)sender; +- (IBAction) handleChoice:(id)sender; +- (IBAction) selectAll:(id)sender; +- (IBAction) selectNone:(id)sender; + +@end diff --git a/desmume/src/cocoa/userinterface/FileMigrationDelegate.mm b/desmume/src/cocoa/userinterface/FileMigrationDelegate.mm new file mode 100644 index 000000000..72a39fe71 --- /dev/null +++ b/desmume/src/cocoa/userinterface/FileMigrationDelegate.mm @@ -0,0 +1,336 @@ +/* + Copyright (C) 2013 DeSmuME team + + This file is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + + This file is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with the this software. If not, see . + */ + +#import "FileMigrationDelegate.h" +#import "cocoa_file.h" +#import "cocoa_globals.h" + +@implementation FileMigrationDelegate + +@synthesize dummyObject; +@synthesize window; +@synthesize fileListController; +@synthesize filesPresent; + +- (id)init +{ + self = [super init]; + if(self == nil) + { + return nil; + } + + NSDictionary *fileTypeInfoRootDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FileTypeInfo" ofType:@"plist"]]; + _versionList = [[NSArray alloc] initWithArray:[fileTypeInfoRootDict valueForKey:@"VersionStrings"]]; + + NSDictionary *portStrings = (NSDictionary *)[fileTypeInfoRootDict valueForKey:@"PortStrings"]; + _portStringsDict = [[NSMutableDictionary alloc] initWithCapacity:[portStrings count]]; + + for (NSString *versionKey in portStrings) + { + NSArray *portStringsList = (NSArray *)[portStrings valueForKey:versionKey]; + NSMutableArray *newPortStringsList = [NSMutableArray arrayWithCapacity:[portStringsList count]]; + + for (NSString *portString in portStringsList) + { + [newPortStringsList addObject:[NSMutableString stringWithString:portString]]; + } + + [_portStringsDict setObject:newPortStringsList forKey:versionKey]; + } + + //_fileTree = [[NSMutableDictionary alloc] initWithCapacity:100]; + + filesPresent = NO; + + return self; +} + +- (void)dealloc +{ + [_versionList release]; + [_portStringsDict release]; + //[_fileTree release]; + + [super dealloc]; +} + +- (void) updateFileList +{ + NSMutableArray *fileList = [CocoaDSFile completeFileList]; + if (fileList != nil) + { + [self setFilesPresent:([fileList count] == 0) ? NO : YES]; + } + + [fileListController setContent:fileList]; + + // Refresh the file tree. + /* + NSDictionary *fileTypeInfoRootDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"FileTypeInfo" ofType:@"plist"]]; + NSDictionary *defaultPaths = (NSDictionary *)[fileTypeInfoRootDict valueForKey:@"DefaultPaths"]; + NSFileManager *fileManager = [[NSFileManager alloc] init]; + + [_fileTree removeAllObjects]; + + for (NSString *versionKey in _versionList) + { + NSArray *portStringsList = (NSArray *)[_portStringsDict valueForKey:versionKey]; + if (portStringsList == nil || [portStringsList count] < 1) + { + continue; + } + + NSMutableDictionary *newVersionTree = [NSMutableDictionary dictionaryWithCapacity:[portStringsList count]]; + + for (NSString *portKey in portStringsList) + { + NSDictionary *pathsDict = (NSDictionary *)[(NSDictionary *)[defaultPaths valueForKey:versionKey] valueForKey:portKey]; + if (pathsDict == nil || [pathsDict count] < 1) + { + continue; + } + + NSMutableArray *newPortTree = [NSMutableArray arrayWithCapacity:128]; + + for (NSString *pathKey in pathsDict) + { + NSString *pathString = (NSString *)[pathsDict valueForKey:pathKey]; + NSArray *fileList = [fileManager contentsOfDirectoryAtPath:pathString error:nil]; + + for (NSString *filePath in fileList) + { + [newPortTree addObject:[NSMutableDictionary dictionaryWithObject:filePath forKey:@"FileName"]]; + } + } + + [newVersionTree setObject:newPortTree forKey:portKey]; + } + + [_fileTree setObject:newVersionTree forKey:versionKey]; + } + + [fileManager release]; + */ +} + +#pragma mark NSOutlineViewDelegate Protocol + +- (BOOL)selectionShouldChangeInOutlineView:(NSOutlineView *)outlineView +{ + return NO; +} + +- (BOOL)outlineView:(NSOutlineView *)outlineView shouldTrackCell:(NSCell *)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item +{ + if ([(NSString *)[tableColumn identifier] isEqualToString:@"FileWillMigrateColumn"]) + { + return YES; + } + + return NO; +} + +- (NSCell *)outlineView:(NSOutlineView *)outlineView dataCellForTableColumn:(NSTableColumn *)tableColumn item:(id)item +{ + NSString *columnID = (NSString *)[tableColumn identifier]; + NSCell *outCell = [tableColumn dataCellForRow:[outlineView rowForItem:item]]; + + if ([columnID isEqualToString:@"FileNameColumn"]) + { + if ([item isKindOfClass:[NSString class]]) + { + NSFont *newFont = [[NSFontManager sharedFontManager] fontWithFamily:[[outCell font] familyName] + traits:NSBoldFontMask + weight:0 + size:[[outCell font] pointSize]]; + [outCell setFont:newFont]; + } + } + + return outCell; +} + +#pragma mark NSOutlineViewDataSource Protocol +- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item +{ + if (item == nil) + { + return [_versionList objectAtIndex:index]; + } + else if ([item isKindOfClass:[NSString class]]) + { + if ([_versionList containsObject:item]) + { + return [(NSArray *)[_portStringsDict valueForKey:item] objectAtIndex:index]; + } + else + { + NSString *versionKey = (NSString *)[outlineView parentForItem:item]; + //return [(NSArray *)[(NSDictionary *)[_fileTree valueForKey:versionKey] valueForKey:item] objectAtIndex:index]; + return nil; + } + } + + return nil; +} + +- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item +{ + if ([item isKindOfClass:[NSString class]]) + { + return YES; + } + + return NO; +} + +- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item +{ + NSInteger numberChildren = 0; + + if (item == nil) + { + numberChildren = [_versionList count]; + } + else if ([item isKindOfClass:[NSString class]]) + { + if ([_versionList containsObject:item]) + { + return [[_portStringsDict valueForKey:item] count]; + } + else + { + NSString *versionKey = (NSString *)[outlineView parentForItem:item]; + //return [(NSArray *)[(NSDictionary *)[_fileTree valueForKey:versionKey] valueForKey:item] count]; + return 0; + } + } + + return numberChildren; +} + +- (id)outlineView:(NSOutlineView *)outlineView objectValueForTableColumn:(NSTableColumn *)tableColumn byItem:(id)item +{ + NSString *columnID = (NSString *)[tableColumn identifier]; + + if ([columnID isEqualToString:@"FileWillMigrateColumn"]) + { + return nil; + } + else if ([columnID isEqualToString:@"FileNameColumn"]) + { + if ([item isKindOfClass:[NSString class]]) + { + return item; + } + else if ([item isKindOfClass:[NSDictionary class]]) + { + NSString *fileName = [item valueForKey:@"FileName"]; + return (fileName != nil) ? fileName : @""; + } + else + { + return @""; + } + } + else if ([columnID isEqualToString:@"FileKindColumn"]) + { + if ([item isKindOfClass:[NSString class]]) + { + return @""; + } + else if ([item isKindOfClass:[NSDictionary class]]) + { + return @""; + } + else + { + return @""; + } + } + else if ([columnID isEqualToString:@"FileDateModifiedColumn"]) + { + if ([item isKindOfClass:[NSString class]]) + { + return @""; + } + else if ([item isKindOfClass:[NSDictionary class]]) + { + return @""; + } + else + { + return @""; + } + } + + return item; +} + +#pragma mark IBActions + +- (IBAction) updateAndShowWindow:(id)sender +{ + [self updateFileList]; + [window center]; + [window makeKeyAndOrderFront:nil]; +} + +- (IBAction) handleChoice:(id)sender +{ + const NSInteger option = [(NSControl *)sender tag]; + NSMutableArray *fileList = [fileListController content]; + + switch (option) + { + case COCOA_DIALOG_DEFAULT: + [CocoaDSFile copyFileListToCurrent:fileList]; + break; + + case COCOA_DIALOG_OPTION: + [CocoaDSFile moveFileListToCurrent:fileList]; + break; + + default: + break; + } + + [[(NSControl *)sender window] close]; +} + +- (IBAction) selectAll:(id)sender +{ + NSMutableArray *fileList = [fileListController content]; + + for (NSMutableDictionary *fileAttr in fileList) + { + [fileAttr setValue:[NSNumber numberWithBool:YES] forKey:@"willMigrate"]; + } +} + +- (IBAction) selectNone:(id)sender +{ + NSMutableArray *fileList = [fileListController content]; + + for (NSMutableDictionary *fileAttr in fileList) + { + [fileAttr setValue:[NSNumber numberWithBool:NO] forKey:@"willMigrate"]; + } +} + +@end diff --git a/desmume/src/cocoa/userinterface/appDelegate.h b/desmume/src/cocoa/userinterface/appDelegate.h index dea98de63..72223d416 100644 --- a/desmume/src/cocoa/userinterface/appDelegate.h +++ b/desmume/src/cocoa/userinterface/appDelegate.h @@ -20,6 +20,7 @@ @class InputPrefsView; @class InputManager; +@class FileMigrationDelegate; #if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_5 @@ -30,7 +31,6 @@ { NSObject *dummyObject; - NSArrayController *fileMigrationList; NSObjectController *aboutWindowController; NSObjectController *emuControlController; NSObjectController *cdsSoundController; @@ -38,12 +38,12 @@ NSObjectController *prefWindowController; NSObjectController *cheatWindowController; NSObjectController *cdsCoreController; + FileMigrationDelegate *migrationDelegate; InputManager *inputManager; NSWindow *prefWindow; NSWindow *troubleshootingWindow; NSWindow *cheatListWindow; - NSWindow *migrationWindow; NSView *prefGeneralView; InputPrefsView *inputPrefsView; @@ -56,13 +56,11 @@ NSBox *boxFileSystem; NSBox *boxMisc; - BOOL migrationFilesPresent; BOOL isAppRunningOnIntel; } @property (readonly) IBOutlet NSObject *dummyObject; -@property (readonly) IBOutlet NSArrayController *fileMigrationList; @property (readonly) IBOutlet NSObjectController *aboutWindowController; @property (readonly) IBOutlet NSObjectController *emuControlController; @property (readonly) IBOutlet NSObjectController *cdsSoundController; @@ -70,11 +68,11 @@ @property (readonly) IBOutlet NSObjectController *prefWindowController; @property (readonly) IBOutlet NSObjectController *cheatWindowController; @property (readonly) IBOutlet NSObjectController *cdsCoreController; +@property (readonly) IBOutlet FileMigrationDelegate *migrationDelegate; @property (readonly) IBOutlet InputManager *inputManager; @property (readonly) IBOutlet NSWindow *prefWindow; @property (readonly) IBOutlet NSWindow *troubleshootingWindow; @property (readonly) IBOutlet NSWindow *cheatListWindow; -@property (readonly) IBOutlet NSWindow *migrationWindow; @property (readonly) IBOutlet NSView *prefGeneralView; @property (readonly) IBOutlet NSMenu *mLoadStateSlot; @property (readonly) IBOutlet NSMenu *mSaveStateSlot; @@ -86,7 +84,6 @@ @property (readonly) IBOutlet NSBox *boxFileSystem; @property (readonly) IBOutlet NSBox *boxMisc; -@property (assign) BOOL migrationFilesPresent; @property (assign) BOOL isAppRunningOnIntel; // Emulation Menu @@ -105,8 +102,6 @@ - (void) setupSlotMenuItems; - (NSMenuItem *) addSlotMenuItem:(NSMenu *)menu slotNumber:(NSUInteger)slotNumber; - (void) setupUserDefaults; -- (IBAction) showMigrationWindow:(id)sender; -- (IBAction) handleMigrationWindow:(id)sender; - (void) setRomInfoPanelBoxTitleColors; @end diff --git a/desmume/src/cocoa/userinterface/appDelegate.mm b/desmume/src/cocoa/userinterface/appDelegate.mm index 832d3e943..46d06ca55 100644 --- a/desmume/src/cocoa/userinterface/appDelegate.mm +++ b/desmume/src/cocoa/userinterface/appDelegate.mm @@ -19,6 +19,7 @@ #import "appDelegate.h" #import "DisplayWindowController.h" #import "EmuControllerDelegate.h" +#import "FileMigrationDelegate.h" #import "preferencesWindowDelegate.h" #import "troubleshootingWindowDelegate.h" #import "cheatWindowDelegate.h" @@ -39,12 +40,10 @@ @synthesize prefWindow; @synthesize troubleshootingWindow; @synthesize cheatListWindow; -@synthesize migrationWindow; @synthesize prefGeneralView; @synthesize mLoadStateSlot; @synthesize mSaveStateSlot; @synthesize inputPrefsView; -@synthesize fileMigrationList; @synthesize aboutWindowController; @synthesize emuControlController; @synthesize cdsSoundController; @@ -52,6 +51,7 @@ @synthesize prefWindowController; @synthesize cdsCoreController; @synthesize cheatWindowController; +@synthesize migrationDelegate; @synthesize inputManager; @synthesize boxGeneralInfo; @@ -60,7 +60,6 @@ @synthesize boxFileSystem; @synthesize boxMisc; -@synthesize migrationFilesPresent; @synthesize isAppRunningOnIntel; @@ -220,6 +219,24 @@ { EmuControllerDelegate *emuControl = (EmuControllerDelegate *)[emuControlController content]; + // Determine if the app was run for the first time. + NSMutableDictionary *appFirstTimeRunDict = [[NSMutableDictionary alloc] initWithDictionary:[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"General_AppFirstTimeRun"]]; + NSString *bundleVersionString = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; + + BOOL isFirstTimeRun = NO; + NSNumber *isFirstTimeRunNumber = (NSNumber *)[appFirstTimeRunDict valueForKey:bundleVersionString]; + if (isFirstTimeRunNumber == nil) + { + isFirstTimeRunNumber = [NSNumber numberWithBool:isFirstTimeRun]; + } + + isFirstTimeRun = [isFirstTimeRunNumber boolValue]; + + if (appFirstTimeRunDict == nil) + { + appFirstTimeRunDict = [[NSMutableDictionary alloc] initWithObjectsAndKeys:isFirstTimeRunNumber, bundleVersionString, nil]; + } + // Load a new ROM on launch per user preferences. const BOOL loadROMOnLaunch = [[NSUserDefaults standardUserDefaults] boolForKey:@"General_AutoloadROMOnLaunch"]; if (loadROMOnLaunch && [emuControl currentRom] == nil) @@ -251,11 +268,21 @@ [emuControl newDisplayWindow:nil]; // Present the file migration window to the user (if they haven't disabled it). - [self setMigrationFilesPresent:NO]; - if (![[NSUserDefaults standardUserDefaults] boolForKey:@"General_DoNotAskMigrate"]) + if (![[NSUserDefaults standardUserDefaults] boolForKey:@"General_DoNotAskMigrate"] || !isFirstTimeRun) { - [self showMigrationWindow:nil]; + [migrationDelegate updateFileList]; + if ([migrationDelegate filesPresent]) + { + [[migrationDelegate window] center]; + [[migrationDelegate window] makeKeyAndOrderFront:nil]; + } } + + // Set that the app has run for the first time. + isFirstTimeRun = YES; + [appFirstTimeRunDict setValue:[NSNumber numberWithBool:isFirstTimeRun] forKey:bundleVersionString]; + [[NSUserDefaults standardUserDefaults] setObject:appFirstTimeRunDict forKey:@"General_AppFirstTimeRun"]; + [appFirstTimeRunDict release]; } - (NSApplicationTerminateReply)applicationShouldTerminate:(NSApplication *)sender @@ -521,45 +548,6 @@ [emuControl setupUserDefaults]; } -- (IBAction) showMigrationWindow:(id)sender -{ - NSMutableArray *fileList = [CocoaDSFile completeFileList]; - if (fileList != nil) - { - [self setMigrationFilesPresent:([fileList count] == 0) ? NO : YES]; - if (sender == nil && ![self migrationFilesPresent]) - { - return; - } - } - - [fileMigrationList setContent:fileList]; - [migrationWindow center]; - [migrationWindow makeKeyAndOrderFront:nil]; -} - -- (IBAction) handleMigrationWindow:(id)sender -{ - const NSInteger option = [(NSControl *)sender tag]; - NSMutableArray *fileList = [fileMigrationList content]; - - switch (option) - { - case COCOA_DIALOG_DEFAULT: - [CocoaDSFile copyFileListToCurrent:fileList]; - break; - - case COCOA_DIALOG_OPTION: - [CocoaDSFile moveFileListToCurrent:fileList]; - break; - - default: - break; - } - - [[(NSControl *)sender window] close]; -} - - (void) setRomInfoPanelBoxTitleColors { NSColor *boxTitleColor = [NSColor whiteColor];