From 75114c37ebb202aa2db8519783a497091e356320 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jesu=CC=81s=20A=2E=20A=CC=81lvarez?= Date: Sat, 28 May 2016 22:20:55 +0200 Subject: [PATCH] add settings UI for choosing emulated machine --- Mini vMac.xcodeproj/project.pbxproj | 24 ++++++++ Mini vMac/AppDelegate.h | 2 +- Mini vMac/AppDelegate.m | 5 +- Mini vMac/Base.lproj/Main.storyboard | 38 +++++++++--- Mini vMac/Emulator.m | 4 ++ Mini vMac/EmulatorProtocol.h | 1 + Mini vMac/MacII/Info.plist | 4 ++ Mini vMac/MacII/MacII.png | Bin 0 -> 178 bytes Mini vMac/MacII/MacII@2x.png | Bin 0 -> 204 bytes Mini vMac/MacII/MacII@3x.png | Bin 0 -> 230 bytes Mini vMac/MacPlus4M/Info.plist | 6 +- Mini vMac/MacPlus4M/MacPlus.png | Bin 0 -> 203 bytes Mini vMac/MacPlus4M/MacPlus@2x.png | Bin 0 -> 235 bytes Mini vMac/MacPlus4M/MacPlus@3x.png | Bin 0 -> 265 bytes Mini vMac/SettingsViewController.m | 85 ++++++++++++++++++++------- 15 files changed, 136 insertions(+), 33 deletions(-) create mode 100644 Mini vMac/MacII/MacII.png create mode 100644 Mini vMac/MacII/MacII@2x.png create mode 100644 Mini vMac/MacII/MacII@3x.png create mode 100644 Mini vMac/MacPlus4M/MacPlus.png create mode 100644 Mini vMac/MacPlus4M/MacPlus@2x.png create mode 100644 Mini vMac/MacPlus4M/MacPlus@3x.png diff --git a/Mini vMac.xcodeproj/project.pbxproj b/Mini vMac.xcodeproj/project.pbxproj index 9098150..6b62bac 100644 --- a/Mini vMac.xcodeproj/project.pbxproj +++ b/Mini vMac.xcodeproj/project.pbxproj @@ -45,6 +45,12 @@ 283423E01CF9C66D0088B634 /* VIA2EMDV.c in Sources */ = {isa = PBXBuildFile; fileRef = 283423591CF9C0F10088B634 /* VIA2EMDV.c */; }; 283423E11CF9C66D0088B634 /* VIAEMDEV.c in Sources */ = {isa = PBXBuildFile; fileRef = 2834235B1CF9C0F10088B634 /* VIAEMDEV.c */; }; 283423E21CF9C66D0088B634 /* VIDEMDEV.c in Sources */ = {isa = PBXBuildFile; fileRef = 2834235D1CF9C0F10088B634 /* VIDEMDEV.c */; }; + 283423E91CFA32870088B634 /* MacPlus.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423E31CFA32800088B634 /* MacPlus.png */; }; + 283423EA1CFA32870088B634 /* MacPlus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423E41CFA32800088B634 /* MacPlus@2x.png */; }; + 283423EB1CFA32870088B634 /* MacPlus@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423E51CFA32800088B634 /* MacPlus@3x.png */; }; + 283423EF1CFA329C0088B634 /* MacII.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423EC1CFA329C0088B634 /* MacII.png */; }; + 283423F01CFA329C0088B634 /* MacII@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423ED1CFA329C0088B634 /* MacII@2x.png */; }; + 283423F11CFA329C0088B634 /* MacII@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 283423EE1CFA329C0088B634 /* MacII@3x.png */; }; 28848B621CDE97D600B86C45 /* InsertDiskViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28848B611CDE97D600B86C45 /* InsertDiskViewController.m */; }; 28848B651CDE97E900B86C45 /* SettingsViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 28848B641CDE97E900B86C45 /* SettingsViewController.m */; }; 28BA897E1CE7315400A98104 /* KBKey.m in Sources */ = {isa = PBXBuildFile; fileRef = 28BA89751CE7315400A98104 /* KBKey.m */; }; @@ -219,6 +225,12 @@ 2834239A1CF9C5380088B634 /* CNFGRAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CNFGRAPI.h; sourceTree = ""; }; 2834239B1CF9C5380088B634 /* EMCONFIG.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EMCONFIG.h; sourceTree = ""; }; 2834239C1CF9C5380088B634 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + 283423E31CFA32800088B634 /* MacPlus.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MacPlus.png; sourceTree = ""; }; + 283423E41CFA32800088B634 /* MacPlus@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MacPlus@2x.png"; sourceTree = ""; }; + 283423E51CFA32800088B634 /* MacPlus@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MacPlus@3x.png"; sourceTree = ""; }; + 283423EC1CFA329C0088B634 /* MacII.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = MacII.png; sourceTree = ""; }; + 283423ED1CFA329C0088B634 /* MacII@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MacII@2x.png"; sourceTree = ""; }; + 283423EE1CFA329C0088B634 /* MacII@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "MacII@3x.png"; sourceTree = ""; }; 28848B601CDE97D600B86C45 /* InsertDiskViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InsertDiskViewController.h; sourceTree = ""; }; 28848B611CDE97D600B86C45 /* InsertDiskViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InsertDiskViewController.m; sourceTree = ""; }; 28848B631CDE97E900B86C45 /* SettingsViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SettingsViewController.h; sourceTree = ""; }; @@ -350,6 +362,9 @@ 283422E81CF8F1C80088B634 /* CNFGRAPI.h */, 283422E91CF8F1C80088B634 /* EMCONFIG.h */, 283422CE1CF8EF8C0088B634 /* Info.plist */, + 283423E31CFA32800088B634 /* MacPlus.png */, + 283423E41CFA32800088B634 /* MacPlus@2x.png */, + 283423E51CFA32800088B634 /* MacPlus@3x.png */, ); path = MacPlus4M; sourceTree = ""; @@ -451,6 +466,9 @@ 2834239A1CF9C5380088B634 /* CNFGRAPI.h */, 2834239B1CF9C5380088B634 /* EMCONFIG.h */, 2834239C1CF9C5380088B634 /* Info.plist */, + 283423EC1CFA329C0088B634 /* MacII.png */, + 283423ED1CFA329C0088B634 /* MacII@2x.png */, + 283423EE1CFA329C0088B634 /* MacII@3x.png */, ); path = MacII; sourceTree = ""; @@ -791,6 +809,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 283423E91CFA32870088B634 /* MacPlus.png in Resources */, + 283423EA1CFA32870088B634 /* MacPlus@2x.png in Resources */, + 283423EB1CFA32870088B634 /* MacPlus@3x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -798,6 +819,9 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 283423EF1CFA329C0088B634 /* MacII.png in Resources */, + 283423F01CFA329C0088B634 /* MacII@2x.png in Resources */, + 283423F11CFA329C0088B634 /* MacII@3x.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Mini vMac/AppDelegate.h b/Mini vMac/AppDelegate.h index 2057905..b409dd9 100644 --- a/Mini vMac/AppDelegate.h +++ b/Mini vMac/AppDelegate.h @@ -14,7 +14,7 @@ @property (strong, nonatomic) UIWindow *window; @property (nonatomic, readonly) NSString *documentsPath; @property (nonatomic, readonly) NSArray *diskImageExtensions; -@property (nonatomic, readonly) NSArray *availableEmulators; +@property (nonatomic, readonly) NSArray *emulatorBundles; @property (readonly, nonatomic, getter = isSandboxed) BOOL sandboxed; + (instancetype)sharedInstance; diff --git a/Mini vMac/AppDelegate.m b/Mini vMac/AppDelegate.m index 9ae834c..f13b1ff 100644 --- a/Mini vMac/AppDelegate.m +++ b/Mini vMac/AppDelegate.m @@ -50,7 +50,7 @@ static NSObject *sharedEmulator = nil; NSDictionary *defaultValues = @{@"trackpad": @([UIDevice currentDevice].userInterfaceIdiom != UIUserInterfaceIdiomPad), @"frameskip": @(0), @"keyboardLayout": layoutForLanguage[firstLanguage], - @"machine": @"MacII" + @"machine": @"MacPlus4M" }; NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; @@ -67,7 +67,7 @@ static NSObject *sharedEmulator = nil; } } -- (NSArray*)availableEmulators { +- (NSArray*)emulatorBundles { NSString *pluginsPath = [NSBundle mainBundle].builtInPlugInsPath; NSArray *names = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pluginsPath error:NULL]; NSMutableArray *emulatorBundles = [NSMutableArray arrayWithCapacity:names.count]; @@ -79,7 +79,6 @@ static NSObject *sharedEmulator = nil; } - (BOOL)loadEmulator:(NSString*)name { - NSLog(@"Loading %@", name); NSString *emulatorBundleName = [name stringByAppendingPathExtension:@"mnvm"]; NSString *emulatorBundlePath = [[NSBundle mainBundle].builtInPlugInsPath stringByAppendingPathComponent:emulatorBundleName]; NSBundle *emulatorBundle = [NSBundle bundleWithPath:emulatorBundlePath]; diff --git a/Mini vMac/Base.lproj/Main.storyboard b/Mini vMac/Base.lproj/Main.storyboard index 337ea91..86cebb3 100644 --- a/Mini vMac/Base.lproj/Main.storyboard +++ b/Mini vMac/Base.lproj/Main.storyboard @@ -48,7 +48,7 @@ - + @@ -115,13 +115,13 @@ - + - + @@ -129,17 +129,41 @@ + + + + + + + + + + + + - @@ -205,7 +229,7 @@ - +