diff --git a/MacPass/MPEntryViewController.m b/MacPass/MPEntryViewController.m index bcbb9243..70fa71c1 100644 --- a/MacPass/MPEntryViewController.m +++ b/MacPass/MPEntryViewController.m @@ -196,11 +196,9 @@ NSString *const _toggleFilterUsernameButton = @"SearchUsername"; #pragma mark Notifications - (void)_didChangeGroupSelectionInOutlineView:(NSNotification *)notification { - if([self hasFilter]) { - return; + [(MPMainWindowController *)[[self.view window] windowController] clearFilter:nil]; } - [self clearFilter]; MPOutlineViewDelegate *delegate = [notification object]; KdbGroup *group = delegate.selectedGroup; if(group) { diff --git a/MacPass/MPMainWindowController.h b/MacPass/MPMainWindowController.h index 5f88ee57..5b90cdd9 100644 --- a/MacPass/MPMainWindowController.h +++ b/MacPass/MPMainWindowController.h @@ -16,5 +16,8 @@ - (void)showMainWindow:(id)sender; - (void)performFindPanelAction:(id)sender; - (void)clearOutlineSelection:(id)sender; - +/* + Clears the Search filter + */ +- (void)clearFilter:(id)sender; @end diff --git a/MacPass/MPMainWindowController.m b/MacPass/MPMainWindowController.m index f56a71c1..b8b5c95b 100644 --- a/MacPass/MPMainWindowController.m +++ b/MacPass/MPMainWindowController.m @@ -101,6 +101,7 @@ [self.outlineViewController.view setFrame:frame]; [self.outlineViewController.view setAutoresizingMask:NSViewWidthSizable | NSViewHeightSizable]; [self.splitView replaceSubview:self.outlineView with:[self.outlineViewController view]]; + [self.outlineViewController updateResponderChain]; [self.splitView adjustSubviews]; [self _setContentViewController:nil]; @@ -132,6 +133,7 @@ else { [self.contentView addSubview:newContentView]; } + [viewController updateResponderChain]; [self.contentView setNeedsDisplay:YES]; [self.splitView adjustSubviews]; /* diff --git a/MacPass/MPOutlineViewController.m b/MacPass/MPOutlineViewController.m index 93543830..b0974082 100644 --- a/MacPass/MPOutlineViewController.m +++ b/MacPass/MPOutlineViewController.m @@ -65,6 +65,12 @@ [self.outlineView setAllowsEmptySelection:YES]; } +- (void)mouseUp:(NSEvent *)theEvent { + NSLog(@"Mouse Up!"); + [super mouseUp:theEvent]; +} + + - (void)_didOpenDocument:(NSNotification *)notification { [self.outlineView reloadData]; MPDatabaseController *dbContoller = [MPDatabaseController defaultController]; @@ -79,7 +85,7 @@ - (void)_setupMenu { NSMenu *menu = [[NSMenu allocWithZone:[NSMenu menuZone]] init]; - [menu addItemWithTitle:@"Add Group" action:@selector(addEntry:) keyEquivalent:@""]; + [menu addItemWithTitle:@"Add Group" action:@selector(_addEntry:) keyEquivalent:@""]; [menu addItem: [NSMenuItem separatorItem]]; [menu addItemWithTitle:@"Delete" action:NULL keyEquivalent:@""]; for(NSMenuItem *item in [menu itemArray]) { diff --git a/MacPass/MPViewController.h b/MacPass/MPViewController.h index 5672e948..6908be43 100644 --- a/MacPass/MPViewController.h +++ b/MacPass/MPViewController.h @@ -12,5 +12,6 @@ - (void)didLoadView; - (NSResponder *)reconmendedFirstResponder; +- (void)updateResponderChain; @end diff --git a/MacPass/MPViewController.m b/MacPass/MPViewController.m index 907a9bc4..d63e191f 100644 --- a/MacPass/MPViewController.m +++ b/MacPass/MPViewController.m @@ -12,12 +12,7 @@ - (void)loadView { [super loadView]; - - /* Insert ourselfs in the responder chain */ - NSResponder *nextResponder = [[self view] nextResponder]; - [[self view] setNextResponder:self]; - [self setNextResponder:nextResponder]; - + [self updateResponderChain]; [self didLoadView]; } @@ -29,4 +24,12 @@ return nil; } +- (void)updateResponderChain { + if(self.view) { + NSResponder *nextResponder = [[self view] nextResponder]; + [[self view] setNextResponder:self]; + [self setNextResponder:nextResponder]; + } +} + @end diff --git a/MacPass/MacPass-Info.plist b/MacPass/MacPass-Info.plist index 717970bc..c94602e5 100644 --- a/MacPass/MacPass-Info.plist +++ b/MacPass/MacPass-Info.plist @@ -21,7 +21,7 @@ CFBundleSignature ???? CFBundleVersion - 3BB + 3C8 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright