Added option to show search after unlocking the database

This commit is contained in:
Michael Starke
2021-11-08 16:34:44 +01:00
parent 096fdc4384
commit 12406bf10f
6 changed files with 20 additions and 8 deletions

View File

@@ -2,4 +2,4 @@ github "MacPass/KeePassKit" "35da75901b293a53b44b1d0fe9d8fb312a4a7602"
github "MacPass/KissXML" "933f04fe5ad95c2be07ec0c2f801e140007f20fa"
github "MacPass/TransformerKit" "a8b5bb73cc327ec6798569b865c32fec5eb2289f"
github "mstarke/HNHUi" "6.0"
github "sparkle-project/Sparkle" "1.24.0"
github "sparkle-project/Sparkle" "1.27.0"

View File

@@ -164,8 +164,8 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
/* enqueue async into main to catch some cases, where the UI would not set the responder correctly */
MPDocumentWindowController * __weak welf = self;
dispatch_async(dispatch_get_main_queue(), ^{
NSResponder *responder = ((MPViewController *)contentViewController).reconmendedFirstResponder;
[welf.window makeFirstResponder:responder];
NSResponder *responder = ((MPViewController *)contentViewController).reconmendedFirstResponder;
[welf.window makeFirstResponder:responder];
});
}
}
@@ -189,6 +189,10 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
- (void)_didUnlockDatabase:(NSNotification *)notification {
[self showEntries];
BOOL focusSearchAfterUnlock = [NSUserDefaults.standardUserDefaults boolForKey:kMPSettingsKeyFocusSearchAfterUnlock];
if(focusSearchAfterUnlock) {
[self.document performCustomSearch:self];
}
/* Show password reminders */
[self _presentPasswordIntervalAlerts];
}
@@ -439,7 +443,7 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
- (void)pickExpiryDate:(id)sender {
// FIXME: use propert responder chain
[self.splitViewController.inspectorViewController pickExpiryDate:sender];
[self.splitViewController.inspectorViewController pickExpiryDate:sender];
}
- (void)showPluginData:(id)sender {
@@ -483,7 +487,6 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword);
- (void)showEntries {
self.contentViewController = self.splitViewController;
[self.splitViewController showOutline];
}
- (void)showGroupInOutline:(id)sender {

View File

@@ -34,6 +34,7 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch;
APPKIT_EXTERN NSString *const kMPSettingsKeyQuitOnLastWindowClose; // Quit MacPass when the user closes the last window
APPKIT_EXTERN NSString *const kMPSettingsKeyFileChangeStrategy;
APPKIT_EXTERN NSString *const kMPSettingsKeyEnableAutosave; // if set to YES MacPass support Autosaving for documents
APPKIT_EXTERN NSString *const kMPSettingsKeyFocusSearchAfterUnlock; // Enter search after unlocking the database
/* URL handling */
APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId;

View File

@@ -35,6 +35,8 @@ NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"Re
NSString *const kMPSettingsKeyQuitOnLastWindowClose = @"QuitOnLastWindowClose";
NSString *const kMPSettingsKeyFileChangeStrategy = @"FileChangeStrategy";
NSString *const kMPSettingsKeyEnableAutosave = @"EnableAutosave";
NSString *const kMPSettingsKeyFocusSearchAfterUnlock = @"FocusSearchAfterUnlock";
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";
NSString *const kMPSettingskeyLockOnLogout = @"LockOnLogout";
NSString *const kMPSettingskeyLockOnScreenSleep = @"LockOnScreenSleep";
@@ -173,7 +175,8 @@ NSString *const kMPDepricatedSettingsKeyAutotypeHideAccessibiltyWarning = @"Au
kMPSettingsKeyHideAfterCopyToClipboard: @NO,
kMPSettingsKeyFaviconDownloadMethod: @(MPFaviconDownloadMethodDirect), // Download directly from host
kMPSettingsKeyGloablAutotypeAlwaysShowCandidateSelection: @NO,
kMPSettingsKeyUseUnifiedToolbar: @YES // Do not use unified toolbar under Big Sur and above
kMPSettingsKeyUseUnifiedToolbar: @YES, // Do not use unified toolbar under Big Sur and above
kMPSettingsKeyFocusSearchAfterUnlock: @NO // Do not enter search directly after unlocking the database
};
});
return standardDefaults;

View File

@@ -345,6 +345,11 @@ NSString *const MPToolbarItemIdentifierAutotype = @"TOOLBAR_AUTOTYPE";
}
/* only make the searchfield first responder if it's not already in an active search */
if(![self.searchField currentEditor]) {
// force search to be enabled since we might end up being called when it's not (yet) enabled
if(!searchItem.enabled) {
searchItem.enabled = YES;
}
[self.searchField.window makeFirstResponder:self.searchField];
[self.searchField selectText:self];
}

View File

@@ -21,19 +21,19 @@
//
#import "MPToolbarItem.h"
#import "MPActionHelper.h"
@implementation MPToolbarItem
- (void)validate {
if(![self.view menu]) {
id target = [NSApp targetForAction:[self action] to:nil from:self];
id target = [NSApp targetForAction:self.action to:nil from:self];
BOOL isValid = (nil != target);
id validateTarget = [NSApp targetForAction:@selector(validateToolbarItem:) to:nil from:self];
if(validateTarget) {
isValid &= [validateTarget validateToolbarItem:self];
}
self.enabled = isValid;
NSLog(@"Validating ToolbarItem:%@ valid:%@", self, isValid ? @"YES" : @"NO");
}
}
@end