Added method to put focus on group, entry or inspector view via keyboard shortcuts. This might be better done via a simple "cmd + arrow" shortcut to move about

This commit is contained in:
michael starke
2013-11-27 01:04:06 +01:00
parent 839c87102c
commit 213bb3d51f
6 changed files with 53 additions and 6 deletions

View File

@@ -205,6 +205,25 @@
<action selector="toggleInspector:" target="-1" id="1199"/> <action selector="toggleInspector:" target="-1" id="1199"/>
</connections> </connections>
</menuItem> </menuItem>
<menuItem isSeparatorItem="YES" id="Coa-ar-1wb"/>
<menuItem title="Focus Groups" keyEquivalent="g" id="HxM-dV-LIH">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="focusGroups:" target="-1" id="WDh-av-H8i"/>
</connections>
</menuItem>
<menuItem title="Focus Entries" keyEquivalent="e" id="2VP-vB-IeX">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="focusEntries:" target="-1" id="Vgp-9G-oI3"/>
</connections>
</menuItem>
<menuItem title="Focus Inspector" keyEquivalent="i" id="Zje-Me-5c8">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="focusInspector:" target="-1" id="Gug-vY-M8N"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="1179"/> <menuItem isSeparatorItem="YES" id="1179"/>
<menuItem title="Show Toolbar" keyEquivalent="t" id="297"> <menuItem title="Show Toolbar" keyEquivalent="t" id="297">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> <modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>

View File

@@ -37,8 +37,13 @@
- (IBAction)lock:(id)sender; - (IBAction)lock:(id)sender;
- (void)createGroup:(id)sender; - (IBAction)createGroup:(id)sender;
- (void)toggleInspector:(id)sender;
#pragma mark View Actions
- (IBAction)toggleInspector:(id)sender;
- (IBAction)focusGroups:(id)sender;
- (IBAction)focusEntries:(id)sender;
- (IBAction)focusInspector:(id)sender;
#pragma mark MPPasswordEditWindowDelegater #pragma mark MPPasswordEditWindowDelegater
- (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey; - (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey;

View File

@@ -275,6 +275,18 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) {
[[NSUserDefaults standardUserDefaults] setBool:inspectorVisible forKey:kMPSettingsKeyShowInspector]; [[NSUserDefaults standardUserDefaults] setBool:inspectorVisible forKey:kMPSettingsKeyShowInspector];
} }
- (void)focusEntries:(id)sender {
[[self window] makeFirstResponder:[self.entryViewController reconmendedFirstResponder]];
}
- (void)focusGroups:(id)sender {
[[self window] makeFirstResponder:[self.outlineViewController reconmendedFirstResponder]];
}
- (void)focusInspector:(id)sender {
[[self window] makeFirstResponder:[self.inspectorViewController reconmendedFirstResponder]];
}
- (void)showEntries { - (void)showEntries {
NSView *contentView = [[self window] contentView]; NSView *contentView = [[self window] contentView];
if(_splitView == contentView) { if(_splitView == contentView) {
@@ -361,7 +373,7 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) {
/* Save lossy */ /* Save lossy */
[[self document] saveDocument:nil]; [[self document] saveDocument:nil];
return; return;
case NSAlertSecondButtonReturn: case NSAlertSecondButtonReturn:
/* Change Format */ /* Change Format */
//[[self document] setFileType:[MPDocument fileTypeForVersion:KPKXmlVersion]]; //[[self document] setFileType:[MPDocument fileTypeForVersion:KPKXmlVersion]];
@@ -374,8 +386,6 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) {
return; // Cancel or unknown return; // Cancel or unknown
} }
} }
#pragma mark Helper
- (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab { - (void)_showDatabaseSetting:(MPDatabaseSettingsTab)tab {
if(!self.documentSettingsWindowController) { if(!self.documentSettingsWindowController) {
_documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] initWithDocument:[self document]]; _documentSettingsWindowController = [[MPDatabaseSettingsWindowController alloc] initWithDocument:[self document]];

View File

@@ -125,7 +125,7 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell";
- (void)didLoadView { - (void)didLoadView {
[[self view] setWantsLayer:YES]; [[self view] setWantsLayer:YES];
[self _hideFilterBarAnimated]; [self _hideFilterBarAnimated];
[_bottomBar setBorderType:HNHBorderTop]; [_bottomBar setBorderType:HNHBorderTop];
[self.addEntryButton setAction:[MPActionHelper actionOfType:MPActionAddEntry]]; [self.addEntryButton setAction:[MPActionHelper actionOfType:MPActionAddEntry]];
@@ -195,6 +195,10 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell";
} }
- (NSResponder *)reconmendedFirstResponder {
return self.entryTable;
}
- (void)setupNotifications:(MPDocumentWindowController *)windowController { - (void)setupNotifications:(MPDocumentWindowController *)windowController {
MPDocument *document = [windowController document]; MPDocument *document = [windowController document];
[[NSNotificationCenter defaultCenter] addObserver:self [[NSNotificationCenter defaultCenter] addObserver:self

View File

@@ -65,6 +65,10 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
[[NSNotificationCenter defaultCenter] removeObserver:self]; [[NSNotificationCenter defaultCenter] removeObserver:self];
} }
- (NSResponder *)reconmendedFirstResponder {
return [self view];
}
#pragma mark Properties #pragma mark Properties
- (void)setActiveTab:(NSUInteger)activeTab { - (void)setActiveTab:(NSUInteger)activeTab {
if(_activeTab != activeTab) { if(_activeTab != activeTab) {

View File

@@ -82,6 +82,11 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
selector:@selector(_didBecomeFirstResponder:) selector:@selector(_didBecomeFirstResponder:)
name:MPDidActivateViewNotification name:MPDidActivateViewNotification
object:_outlineView]; object:_outlineView];
}
- (NSResponder *)reconmendedFirstResponder {
return self.outlineView;
} }
#pragma mark Outline handling #pragma mark Outline handling