mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 17:32:17 +00:00
Fixed wrong value on browser selection on cancled custom browser selection
This commit is contained in:
@@ -13,6 +13,6 @@
|
|||||||
|
|
||||||
@property (weak) IBOutlet NSPopUpButton *browserPopup;
|
@property (weak) IBOutlet NSPopUpButton *browserPopup;
|
||||||
|
|
||||||
- (IBAction)showCustomBrowserSelection:(id)sender;
|
- (IBAction)_showCustomBrowserSelection:(id)sender;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -42,14 +42,16 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark Actions
|
#pragma mark Actions
|
||||||
- (void)selectBrowser:(id)sender {
|
- (void)_selectBrowser:(id)sender {
|
||||||
NSString *browserBundleId = [sender representedObject];
|
NSString *browserBundleId = [sender representedObject];
|
||||||
[[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId];
|
if(browserBundleId) {
|
||||||
[[NSUserDefaults standardUserDefaults] synchronize];
|
[[NSUserDefaults standardUserDefaults] setObject:browserBundleId forKey:kMPSettingsKeyBrowserBundleId];
|
||||||
|
[[NSUserDefaults standardUserDefaults] synchronize];
|
||||||
|
}
|
||||||
[self _updateBrowserSelection];
|
[self _updateBrowserSelection];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)showCustomBrowserSelection:(id)sender {
|
- (void)_showCustomBrowserSelection:(id)sender {
|
||||||
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
|
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
|
||||||
NSURL *applicationURL = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSSystemDomainMask][0];
|
NSURL *applicationURL = [[NSFileManager defaultManager] URLsForDirectory:NSApplicationDirectory inDomains:NSSystemDomainMask][0];
|
||||||
[openPanel setDirectoryURL:applicationURL];
|
[openPanel setDirectoryURL:applicationURL];
|
||||||
@@ -62,7 +64,11 @@
|
|||||||
if(result == NSFileHandlingPanelOKButton) {
|
if(result == NSFileHandlingPanelOKButton) {
|
||||||
NSMenuItem *customBrowser = [[NSMenuItem alloc] init];
|
NSMenuItem *customBrowser = [[NSMenuItem alloc] init];
|
||||||
[customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]];
|
[customBrowser setRepresentedObject:[[NSBundle bundleWithPath:[[openPanel URL] path]] bundleIdentifier]];
|
||||||
[self selectBrowser:customBrowser];
|
[self _selectBrowser:customBrowser];
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Reset the selection if the user cancels */
|
||||||
|
[self _updateBrowserSelection];
|
||||||
}
|
}
|
||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
@@ -73,7 +79,7 @@
|
|||||||
NSMenu *browserMenu = [[NSMenu alloc] init];
|
NSMenu *browserMenu = [[NSMenu alloc] init];
|
||||||
[self.browserPopup setMenu:browserMenu];
|
[self.browserPopup setMenu:browserMenu];
|
||||||
|
|
||||||
NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(selectBrowser:) keyEquivalent:@""];
|
NSMenuItem *defaultItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"DEFAULT_BROWSER", "Default Browser") action:@selector(_selectBrowser:) keyEquivalent:@""];
|
||||||
[defaultItem setRepresentedObject:nil];
|
[defaultItem setRepresentedObject:nil];
|
||||||
[defaultItem setTarget:self];
|
[defaultItem setTarget:self];
|
||||||
[browserMenu addItem:defaultItem];
|
[browserMenu addItem:defaultItem];
|
||||||
@@ -89,7 +95,7 @@
|
|||||||
if(nil == bundlePath || nil == browserName) {
|
if(nil == bundlePath || nil == browserName) {
|
||||||
continue; // Skip missing Applications
|
continue; // Skip missing Applications
|
||||||
}
|
}
|
||||||
NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""];
|
NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""];
|
||||||
[browserItem setRepresentedObject:bundleIdentifier];
|
[browserItem setRepresentedObject:bundleIdentifier];
|
||||||
[browserItem setTarget:self];
|
[browserItem setTarget:self];
|
||||||
[browserMenu addItem:browserItem];
|
[browserMenu addItem:browserItem];
|
||||||
@@ -107,7 +113,7 @@
|
|||||||
NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:currentDefaultBrowser];
|
NSString *bundlePath = [[NSWorkspace sharedWorkspace] absolutePathForAppBundleWithIdentifier:currentDefaultBrowser];
|
||||||
if (bundlePath != nil) {
|
if (bundlePath != nil) {
|
||||||
NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath];
|
NSString *browserName = [[NSFileManager defaultManager] displayNameAtPath:bundlePath];
|
||||||
NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(selectBrowser:) keyEquivalent:@""];
|
NSMenuItem *browserItem = [[NSMenuItem alloc] initWithTitle:browserName action:@selector(_selectBrowser:) keyEquivalent:@""];
|
||||||
[browserItem setRepresentedObject:currentDefaultBrowser];
|
[browserItem setRepresentedObject:currentDefaultBrowser];
|
||||||
[browserItem setTarget:self];
|
[browserItem setTarget:self];
|
||||||
[browserMenu addItem:browserItem];
|
[browserMenu addItem:browserItem];
|
||||||
@@ -117,7 +123,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Select Browser")
|
NSMenuItem *selectOtherBrowserItem = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"OTHER_BROWSER", "Select Browser")
|
||||||
action:@selector(showCustomBrowserSelection:)
|
action:@selector(_showCustomBrowserSelection:)
|
||||||
keyEquivalent:@""];
|
keyEquivalent:@""];
|
||||||
[selectOtherBrowserItem setTarget:self];
|
[selectOtherBrowserItem setTarget:self];
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user