From bb88534daa705ff835ddbe40649297653bd48550 Mon Sep 17 00:00:00 2001 From: michael starke Date: Sun, 1 Dec 2013 23:10:52 +0100 Subject: [PATCH] Stubbed workflow settings to select preferred browser for URL handling --- MacPass/MPWorkflowSettingsController.h | 1 + MacPass/MPWorkflowSettingsController.m | 43 ++++++++++++++++++++++++++ MacPass/WorkflowSettings.xib | 15 ++++----- 3 files changed, 52 insertions(+), 7 deletions(-) diff --git a/MacPass/MPWorkflowSettingsController.h b/MacPass/MPWorkflowSettingsController.h index 6ff621e4..0100ef61 100644 --- a/MacPass/MPWorkflowSettingsController.h +++ b/MacPass/MPWorkflowSettingsController.h @@ -10,5 +10,6 @@ #import "MPSettingsTab.h" @interface MPWorkflowSettingsController : MPViewController +@property (weak) IBOutlet NSPopUpButton *browserPopup; @end diff --git a/MacPass/MPWorkflowSettingsController.m b/MacPass/MPWorkflowSettingsController.m index 80651070..b806c30c 100644 --- a/MacPass/MPWorkflowSettingsController.m +++ b/MacPass/MPWorkflowSettingsController.m @@ -8,12 +8,19 @@ #import "MPWorkflowSettingsController.h" +#import "MPSettingsHelper.h" + +NSString *const kMPChromeBundleId = @"com.google.chrome"; +NSString *const kMPSafariBundleId = @"com.apple.safari"; +NSString *const kMPFirefoxBundleId = @"org.mozilla.firefox"; + @interface MPWorkflowSettingsController () @end @implementation MPWorkflowSettingsController +#pragma mark LifeCycle - (id)init { self = [self initWithNibName:@"WorkflowSettings" bundle:nil]; return self; @@ -27,6 +34,25 @@ return self; } +- (void)didLoadView { + NSMenu *browserMenu = [[NSMenu alloc] init]; + [browserMenu addItemWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:NULL keyEquivalent:@""]; + [browserMenu addItem:[NSMenuItem separatorItem]]; + + NSArray *browser = @[kMPChromeBundleId, kMPSafariBundleId, kMPFirefoxBundleId]; + for(NSString *bundle in browser) { + + } + + if([[browserMenu itemArray] count] > 2) { + [browserMenu addItem:[NSMenuItem separatorItem]]; + } + [browserMenu addItemWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Selecte Browser") action:NULL keyEquivalent:@""]; + + [self.browserPopup setMenu:browserMenu]; +} + +#pragma mark MPSettingsTab Protocol - (NSString *)identifier { return @"WorkflowSettings"; } @@ -39,4 +65,21 @@ return NSLocalizedString(@"WORKFLOW", ""); } +#pragma mark Actions +- (IBAction)selectBrowser:(id)sender { + NSString *browserBundleId = [sender representedObject]; + NSLog(@"New default Browser: %@", browserBundleId); + [[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId]; + [[NSUserDefaults standardUserDefaults] synchronize]; +} + +#pragma mark Helper +- (NSArray *)_availableBrowser { + NSArray *browser = @[kMPChromeBundleId, kMPSafariBundleId, kMPFirefoxBundleId]; + for(NSString *bundle in browser) { + + } + return nil; +} + @end diff --git a/MacPass/WorkflowSettings.xib b/MacPass/WorkflowSettings.xib index 858d67e1..4d8b77c2 100644 --- a/MacPass/WorkflowSettings.xib +++ b/MacPass/WorkflowSettings.xib @@ -7,6 +7,7 @@ + @@ -35,12 +36,12 @@ - + - + - + @@ -58,12 +59,12 @@ - + - + - + @@ -92,7 +93,7 @@ - +