Added entry creation via templates

This commit is contained in:
michael starke
2013-12-01 23:10:25 +01:00
parent d16ebfc4d7
commit f266375a09
5 changed files with 38 additions and 29 deletions

View File

@@ -36,7 +36,7 @@
/* /*
The Method is rather brute force The Method is rather brute force
It's possible nicer to cache the entries and just update It's possible nicer to cache the entries and just update
the menu entries, that actuyll need updating the menu entries, that actually need updating
*/ */
MPDocument *document = [[NSDocumentController sharedDocumentController] currentDocument]; MPDocument *document = [[NSDocumentController sharedDocumentController] currentDocument];
if(!document) { if(!document) {
@@ -51,7 +51,7 @@
NSMenuItem *templateItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:[NSString stringWithFormat:templateMask, entry.title] NSMenuItem *templateItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:[NSString stringWithFormat:templateMask, entry.title]
action:@selector(createEntryFromTemplate:) action:@selector(createEntryFromTemplate:)
keyEquivalent:@""]; keyEquivalent:@""];
[templateItem setRepresentedObject:entry]; [templateItem setRepresentedObject:entry.uuid];
[menu addItem:templateItem]; [menu addItem:templateItem];
} }
/* If there are no entries, add a note as disabled menu item */ /* If there are no entries, add a note as disabled menu item */

View File

@@ -33,11 +33,13 @@
#import "DDXMLNode.h" #import "DDXMLNode.h"
#import "KPKEntry.h" #import "KPKEntry.h"
#import "KPKEntry+TemplateCopy.h"
#import "KPKGroup.h" #import "KPKGroup.h"
#import "KPKTree.h" #import "KPKTree.h"
#import "KPKTree+Serializing.h" #import "KPKTree+Serializing.h"
#import "KPKCompositeKey.h" #import "KPKCompositeKey.h"
#import "KPKMetaData.h" #import "KPKMetaData.h"
#import "KPKTimeInfo.h"
#import "KPKAttribute.h" #import "KPKAttribute.h"
NSString *const MPDocumentDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDocumentDidChangeStoredKeyFilesSettings"; NSString *const MPDocumentDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDocumentDidChangeStoredKeyFilesSettings";
@@ -517,9 +519,13 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
- (void)createEntryFromTemplate:(id)sender { - (void)createEntryFromTemplate:(id)sender {
NSMenuItem *item = sender; NSMenuItem *item = sender;
KPKEntry *entry = [item representedObject]; NSUUID *entryUUID = [item representedObject];
if(entry) { if(entryUUID) {
// Create Entry from template; KPKEntry *templateEntry = [self findEntry:entryUUID];
if(templateEntry && self.selectedGroup) {
KPKEntry *copy = [templateEntry copyWithTitle:templateEntry.title];
[self.selectedGroup addEntry:copy];
}
} }
return; return;
} }

View File

@@ -27,6 +27,9 @@
#import "KPKGroup.h" #import "KPKGroup.h"
#import "KPKEntry.h" #import "KPKEntry.h"
#import "KPKUTIs.h" #import "KPKUTIs.h"
#import "KPKEntry+TemplateCopy.h"
#import "KPKGroup+TemplateCopy.h"
#import "NSUUID+KeePassKit.h" #import "NSUUID+KeePassKit.h"

View File

@@ -16,7 +16,10 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyClearPasteboardOnQuit;
APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordEncoding; APPKIT_EXTERN NSString *const kMPSettingsKeyPasswordEncoding;
APPKIT_EXTERN NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch; APPKIT_EXTERN NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch;
APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch; APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch;
/* URL handling */
APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLToLaunch; APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLToLaunch;
APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId;
/* Server Settings */ /* Server Settings */
APPKIT_EXTERN NSString *const kMPSettingsKeyHttpPort; APPKIT_EXTERN NSString *const kMPSettingsKeyHttpPort;
@@ -41,10 +44,6 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath; APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases; APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases; APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases;
/*
APPKIT_EXTERN NSString *const kMPSettingsKeyLastKeyURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberLastKey;
*/
/* Autotype */ /* Autotype */
APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey; APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey;

View File

@@ -8,29 +8,30 @@
#import "MPSettingsHelper.h" #import "MPSettingsHelper.h"
NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout"; NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout";
NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit"; NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit";
NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch"; NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch";
NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch"; NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId";
NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch"; NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch";
NSString *const kMPSettingsKeyHttpPort =@"HttpPort"; NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch";
NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer"; NSString *const kMPSettingsKeyHttpPort = @"HttpPort";
NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem"; NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer";
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep"; NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem";
NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut"; NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";
NSString *const kMPSettingsKeyShowInspector = @"ShowInspector"; NSString *const kMPSettingsKeyIdleLockTimeOut = @"IdleLockTimeOut";
NSString *const kMPSettingsKeyShowInspector = @"ShowInspector";
NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle"; NSString *const kMPSettingsKeyLegacyHideTitle = @"LegacyHideTitle";
NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername "; NSString *const kMPSettingsKeyLegacyHideUsername = @"LegacyHideUsername ";
NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword"; NSString *const kMPSettingsKeyLegacyHidePassword = @"LegacyHidePassword";
NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes"; NSString *const kMPSettingsKeyLegacyHideNotes = @"LegacyHideNotes";
NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL"; NSString *const kMPSettingsKeyLegacyHideURL = @"LegacyHideURL";
NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath"; NSString *const kMPSettingsKeyLastDatabasePath = @"LastDatabasePath";
NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases"; NSString *const kMPSettingsKeyRememeberdKeysForDatabases = @"RememeberdKeysForDatabases";
NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases"; NSString *const kMPSettingsKeyRememberKeyFilesForDatabases = @"RememberKeyFilesForDatabases";
NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey"; NSString *const kMPSettingsKeySendCommandForControlKey = @"SendCommandKeyForControlKey";
@implementation MPSettingsHelper @implementation MPSettingsHelper