Updated responder chain handling for view controller

This commit is contained in:
michael starke
2013-03-03 20:14:54 +01:00
parent 54b8afdda4
commit 4c59a137a2
7 changed files with 25 additions and 12 deletions

View File

@@ -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) {

View File

@@ -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

View File

@@ -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];
/*

View File

@@ -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]) {

View File

@@ -12,5 +12,6 @@
- (void)didLoadView;
- (NSResponder *)reconmendedFirstResponder;
- (void)updateResponderChain;
@end

View File

@@ -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

View File

@@ -21,7 +21,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>3BB</string>
<string>3C8</string>
<key>LSMinimumSystemVersion</key>
<string>${MACOSX_DEPLOYMENT_TARGET}</string>
<key>NSHumanReadableCopyright</key>