diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index 39a9a071..56858721 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -195,9 +195,7 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi } if(!self.passwordCreatorController) { self.passwordCreatorController = [[MPPasswordCreatorViewController alloc] init]; - self.passwordCreatorController.closeTarget = self.passwordCreatorWindow; - NSView *creatorView = [_passwordCreatorController view]; - [self.passwordCreatorWindow setContentView:creatorView]; + self.passwordCreatorWindow.contentView = self.passwordCreatorController.view; [self.passwordCreatorController updateResponderChain]; } [self.passwordCreatorController reset]; diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index cf6df36c..ced94338 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -272,25 +272,22 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; } - (void)_showPopopver:(NSViewController *)viewController atView:(NSView *)view onEdge:(NSRectEdge)edge { - if(_activePopover.contentViewController == viewController) { + if(self.activePopover.contentViewController == viewController) { return; // Do nothing, we already did show the controller } - [_activePopover close]; - NSAssert(_activePopover == nil, @"Popover hast to be niled out"); - _activePopover = [[NSPopover alloc] init]; - _activePopover.delegate = self; - _activePopover.behavior = NSPopoverBehaviorTransient; - if([viewController respondsToSelector:@selector(setCloseTarget:)]) { - [(id)viewController setCloseTarget:_activePopover]; - } - _activePopover.contentViewController = viewController; - - [_activePopover showRelativeToRect:NSZeroRect ofView:view preferredEdge:edge]; + [self.activePopover close]; + NSAssert(self.activePopover == nil, @"Popover hast to be niled out"); + self.activePopover = [[NSPopover alloc] init]; + self.activePopover.delegate = self; + self.activePopover.behavior = NSPopoverBehaviorTransient; + self.activePopover.contentViewController = viewController; + [self.activePopover showRelativeToRect:NSZeroRect ofView:view preferredEdge:edge]; } - (void)popoverDidClose:(NSNotification *)notification { /* We do not enable the button all the time, but it's working find this way */ [self.generatePasswordButton setEnabled:YES]; + NSPopover *popover = notification.object; id controller = _activePopover.contentViewController; /* Check for password wizzard */ if([controller respondsToSelector:@selector(generatedPassword)]) { @@ -300,9 +297,7 @@ static NSString *kMPContentBindingString3 = @"content.%@.%@.%@"; self.representedEntry.password = [controller generatedPassword]; } } - /* TODO: Check for Icon wizard */ - - _activePopover = nil; + self.activePopover = nil; } #pragma mark - diff --git a/MacPass/MPPasswordCreatorViewController.h b/MacPass/MPPasswordCreatorViewController.h index 47b78552..3325b391 100644 --- a/MacPass/MPPasswordCreatorViewController.h +++ b/MacPass/MPPasswordCreatorViewController.h @@ -12,7 +12,7 @@ @interface MPPasswordCreatorViewController : MPViewController @property (copy, readonly) NSString *generatedPassword; -@property (weak) id closeTarget; +//@property (weak) id closeTarget; @property (assign) BOOL allowsEntryDefaults; /** diff --git a/MacPass/MPPasswordCreatorViewController.m b/MacPass/MPPasswordCreatorViewController.m index afaf31fb..15c3afda 100644 --- a/MacPass/MPPasswordCreatorViewController.m +++ b/MacPass/MPPasswordCreatorViewController.m @@ -175,11 +175,11 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { if(self.shouldCopyPasswordToPasteboardButton.state == NSOnState) { [[MPPasteBoardController defaultController] copyObjects:@[self.password]]; } - [[self _findCloseTarget] performClose:nil]; + [self.view.window performClose:sender]; } - (IBAction)_cancel:(id)sender { - [[self _findCloseTarget] performClose:nil]; + [self.view.window performClose:sender]; } - (IBAction)_setDefault:(id)sender { @@ -344,11 +344,4 @@ typedef NS_ENUM(NSUInteger, MPPasswordRating) { self.numbersButton.state = (useNumbers ? NSOnState : NSOffState); self.symbolsButton.state = (useSymbols ? NSOnState : NSOffState); } - -- (id)_findCloseTarget { - if([self.closeTarget respondsToSelector:@selector(performClose:)]) { - return self.closeTarget; - } - return [NSApp targetForAction:@selector(performClose:)]; -} @end diff --git a/MacPass/PasswordCreatorWindow.xib b/MacPass/PasswordCreatorWindow.xib index 134b7b6c..4f311079 100644 --- a/MacPass/PasswordCreatorWindow.xib +++ b/MacPass/PasswordCreatorWindow.xib @@ -1,8 +1,8 @@ - + - - + + @@ -11,15 +11,15 @@ - - + + - + - \ No newline at end of file +