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
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];
if(!document) {
@@ -51,7 +51,7 @@
NSMenuItem *templateItem = [[NSMenuItem allocWithZone:[NSMenu menuZone]] initWithTitle:[NSString stringWithFormat:templateMask, entry.title]
action:@selector(createEntryFromTemplate:)
keyEquivalent:@""];
[templateItem setRepresentedObject:entry];
[templateItem setRepresentedObject:entry.uuid];
[menu addItem:templateItem];
}
/* If there are no entries, add a note as disabled menu item */

View File

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

View File

@@ -27,6 +27,9 @@
#import "KPKGroup.h"
#import "KPKEntry.h"
#import "KPKUTIs.h"
#import "KPKEntry+TemplateCopy.h"
#import "KPKGroup+TemplateCopy.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 kMPSettingsKeyOpenEmptyDatabaseOnLaunch;
APPKIT_EXTERN NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch;
/* URL handling */
APPKIT_EXTERN NSString *const kMPSettingsKeyDoubleClickURLToLaunch;
APPKIT_EXTERN NSString *const kMPSettingsKeyBrowserBundleId;
/* Server Settings */
APPKIT_EXTERN NSString *const kMPSettingsKeyHttpPort;
@@ -41,10 +44,6 @@ APPKIT_EXTERN NSString *const kMPSettingsKeyLegacyHideURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyLastDatabasePath;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememeberdKeysForDatabases;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberKeyFilesForDatabases;
/*
APPKIT_EXTERN NSString *const kMPSettingsKeyLastKeyURL;
APPKIT_EXTERN NSString *const kMPSettingsKeyRememberLastKey;
*/
/* Autotype */
APPKIT_EXTERN NSString *const kMPSettingsKeySendCommandForControlKey;

View File

@@ -11,9 +11,10 @@
NSString *const kMPSettingsKeyPasteboardClearTimeout = @"ClipboardClearTimeout";
NSString *const kMPSettingsKeyClearPasteboardOnQuit = @"ClearClipboardOnQuit";
NSString *const kMPSettingsKeyDoubleClickURLToLaunch = @"DoubleClickURLToLaunch";
NSString *const kMPSettingsKeyBrowserBundleId = @"BrowserBundleId";
NSString *const kMPSettingsKeyOpenEmptyDatabaseOnLaunch = @"OpenEmptyDatabaseOnLaunch";
NSString *const kMPSettingsKeyReopenLastDatabaseOnLaunch = @"ReopenLastDatabaseOnLaunch";
NSString *const kMPSettingsKeyHttpPort =@"HttpPort";
NSString *const kMPSettingsKeyHttpPort = @"HttpPort";
NSString *const kMPSettingsKeyEnableHttpServer = @"EnableHttpServer";
NSString *const kMPSettingsKeyShowMenuItem = @"ShowMenuItem";
NSString *const kMPSettingsKeyLockOnSleep = @"LockOnSleep";