From d58b406c3762b9195ab209ba38f45fc903e2bdc3 Mon Sep 17 00:00:00 2001 From: Michael Starke Date: Tue, 6 Mar 2018 18:15:00 +0100 Subject: [PATCH] Added autotype button to toolbar --- MacPass.xcodeproj/project.pbxproj | 4 ++++ MacPass/Icons/keyboardTemplate.pdf | Bin 0 -> 2672 bytes MacPass/MPDocument.m | 4 ++-- MacPass/MPIconHelper.h | 1 + MacPass/MPIconHelper.m | 1 + MacPass/MPToolbarDelegate.m | 12 +++++++++--- MacPass/en.lproj/Localizable.strings | 3 +++ 7 files changed, 20 insertions(+), 5 deletions(-) create mode 100644 MacPass/Icons/keyboardTemplate.pdf diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 44237e94..3d5bece1 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -12,6 +12,7 @@ 4C01C2421764D8980016D5D0 /* MPContextMenuHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C01C2411764D8980016D5D0 /* MPContextMenuHelper.m */; }; 4C0728BD17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */; }; 4C0728BF17B68ED0005A7DD9 /* SavePanelAccessoryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */; }; + 4C08ACEA204F01C700863D99 /* keyboardTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C08ACE9204F01C700863D99 /* keyboardTemplate.pdf */; }; 4C0949591FD6B89B004F2971 /* NSUserNotification+MPAdditions.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0949581FD6B89B004F2971 /* NSUserNotification+MPAdditions.m */; }; 4C09495C1FD6E510004F2971 /* MPAddCustomFieldContextMenuDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C09495B1FD6E510004F2971 /* MPAddCustomFieldContextMenuDelegate.m */; }; 4C0AF62F195C1F2B009E658D /* MPEntrySearchContext.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C0AF62E195C1F2B009E658D /* MPEntrySearchContext.m */; }; @@ -328,6 +329,7 @@ 4C0728BC17B5B7F7005A7DD9 /* MPPasswordEditWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPasswordEditWindowController.m; sourceTree = ""; }; 4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SavePanelAccessoryView.xib; sourceTree = ""; }; 4C088C401FD9A42800F92502 /* MPPickcharsParser_Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPPickcharsParser_Private.h; sourceTree = ""; }; + 4C08ACE9204F01C700863D99 /* keyboardTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; name = keyboardTemplate.pdf; path = Icons/keyboardTemplate.pdf; sourceTree = ""; }; 4C0949571FD6B89B004F2971 /* NSUserNotification+MPAdditions.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSUserNotification+MPAdditions.h"; sourceTree = ""; }; 4C0949581FD6B89B004F2971 /* NSUserNotification+MPAdditions.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSUserNotification+MPAdditions.m"; sourceTree = ""; }; 4C09495A1FD6E510004F2971 /* MPAddCustomFieldContextMenuDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MPAddCustomFieldContextMenuDelegate.h; sourceTree = ""; }; @@ -1604,6 +1606,7 @@ 4C3826791AD04CC6007D7D67 /* downloadTemplate.pdf */, 4C3826751AD04C24007D7D67 /* harddiskTemplate.pdf */, 4C3826731AD04BA5007D7D67 /* infoTemplate.pdf */, + 4C08ACE9204F01C700863D99 /* keyboardTemplate.pdf */, ); name = Icons; sourceTree = ""; @@ -1781,6 +1784,7 @@ 4C3826AB1AD04D8E007D7D67 /* 28_QuickTimeTemplate.pdf in Resources */, 4C3826B31AD04D8E007D7D67 /* 38_SambaUnmountTemplate.pdf in Resources */, 4CB9339916D3A0DD00A13B5D /* Credits.rtf in Resources */, + 4C08ACEA204F01C700863D99 /* keyboardTemplate.pdf in Resources */, 4C6AEF031A04400E00CA2420 /* OpenPanelAccessoryView.xib in Resources */, 4C6DCC451FA2457900C8AD3F /* ContextBar.xib in Resources */, 4C431BCF16E2BAB000700A81 /* OverlayWindow.xib in Resources */, diff --git a/MacPass/Icons/keyboardTemplate.pdf b/MacPass/Icons/keyboardTemplate.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a67781fb344e4ee0740bd3f200626fff0ad50352 GIT binary patch literal 2672 zcmb_eU5MON6jq^qh=1T83O-z-Yj-J`d-FS!bY_;>WCoXZw#)2*#jQv-xicF#lY}JW z&aR;K!5>g?!J<-VMG>ipV6md&L&5f;icqos;8LX01$_|(AEdOX_h$ZQS6i@Qn7KLk z+%M;RbI$oPHfxkPK9y$1HZGj`nvnnk{=#ESHVgM)uO2S~kyt9Q?|kz2?5+dvpZfitAD?*g z@`1Ir7Y_e%{h!-Te1G##7jKv`-(4!+b@{rV*XBM~Udyf@Ol`cqUU=?~=dDvG_f38A z=CfY)(KEN7Ro*yy@X$=`eDu}nA3pr@^yG_|*1cn?^66JDZZEv|mT+lz@z?LxE^J80 zGTYS0Z>xWEXEQkR@yxjggk48|VUM5v_V}xZ_TT%#Q%C=L`rP@KkKB0f{H=>q^Y=5@ zvpeyV6-}8YN`LtbPdDjO?y*6#?bwu_4aT7v1lR`SHPemo1Os)#N9>1Sd=7_B4HRlM z$8+KpvQu?p7lZL7yt3e%p{|Dn<9h}%fpJ3<5T8LJQpmR?qMeA}fzS@( zSN82Ixy**X-Lx=?f&8(qv#@j4m}zW-0}+fJkm#} z2%XyMp+^L~0GS2{VWm{US5i|%o zXf<3f(povzBn5#rvZiLpwjGIUXxFrgQR+C7yBxb1$AJdn^73+OSxot19rCKGLL@*z z;D`qot$4B7;=Jg-9!>|zz>yU?K}>1^P-Jt#Z^k*6?Z(jv%H`ezyeO4Km9qQ>Y?%S% zQwTO1{ovZU&@n;zV9RTv1l}f|5yR47Jn+9yr?r z&O(~^01sWJubQF%=4XKMb`Dz7w3zl)p7tGwL=GucKBFN?OPWtZD2aH`vlnj%gmk7; zTe%vL0nbs8&iJVMzMCJOAOp|$!(@N-Y_}J#DuhnoB)&bM|H(X=WLq;&Hb`ZPBV|df zT6b3Ew-{BMCe=h14xPD%ag+A$^z2Yek;k>Rj=ZIHMt?q;{7Gbe+qH_!wt8^|&CpFI ziETmbV%l&K35_2i)wZ;l3QfOfl1`-^RdC~BYp0)Fht3wwHNAR{ZE-fPnN2rl^IIuZ zyFy%N7^rO>!Oz0YvHWX+wKvEVZ3B~H@6O*m)1Tr*e{*a|XEa$2OE=YoM7kw4-PLKe zuN;Y3=tL-7zn*AX)KRl;(*P$HgIiubXpLF-Z+pd_M-1 zr3#$(YCfPZHe_kcXA8V!6sH6oNs^9uKBE^6NtAU#DhTP4%=7sxdr%1{iW9~Om4Yb9 L%-C3QZ;AN_xyK!t literal 0 HcmV?d00001 diff --git a/MacPass/MPDocument.m b/MacPass/MPDocument.m index 3fd9b4a4..c44bc877 100644 --- a/MacPass/MPDocument.m +++ b/MacPass/MPDocument.m @@ -414,8 +414,8 @@ NSString *const MPDocumentGroupKey = @"MPDocumentGrou */ // only lock if we do not have user interaction that cannot be dismissed! if(!self.lockedForFileChange) { - for(NSWindow *sheet in [self windowForSheet].sheets) { - [[self windowForSheet] endSheet:sheet]; + for(NSWindow *sheet in self.windowForSheet.sheets) { + [self.windowForSheet endSheet:sheet]; } if(self.documentEdited) { [self saveDocumentWithDelegate:self didSaveSelector:@selector(_lockDatabaseForDocument:didSave:contextInfo:) contextInfo:NULL]; diff --git a/MacPass/MPIconHelper.h b/MacPass/MPIconHelper.h index 2eb75f58..f9c554d1 100644 --- a/MacPass/MPIconHelper.h +++ b/MacPass/MPIconHelper.h @@ -109,6 +109,7 @@ typedef NS_ENUM(NSUInteger, MPIconType) { MPIconContextTriangle, MPIconExpiredEntry, MPIconExpiredGroup, + MPIconKeyboard }; /** diff --git a/MacPass/MPIconHelper.m b/MacPass/MPIconHelper.m index 457ee254..f6ee3cf5 100644 --- a/MacPass/MPIconHelper.m +++ b/MacPass/MPIconHelper.m @@ -162,6 +162,7 @@ @(MPIconCreated): @"createdTemplate", @(MPIconAddEntry): @"addEntryTemplate", @(MPIconContextTriangle): @"contextTriangleTemplate", + @(MPIconKeyboard): @"keyboardTemplate", @(MPIconExpiredEntry): NSImageNameCaution, @(MPIconExpiredGroup): NSImageNameCaution diff --git a/MacPass/MPToolbarDelegate.m b/MacPass/MPToolbarDelegate.m index c14110a6..8a201895 100644 --- a/MacPass/MPToolbarDelegate.m +++ b/MacPass/MPToolbarDelegate.m @@ -44,6 +44,7 @@ NSString *const MPToolbarItemSearch = @"TOOLBAR_SEARCH"; NSString *const MPToolbarItemCopyUsername = @"TOOLBAR_COPY_USERNAME"; NSString *const MPToolbarItemCopyPassword = @"TOOLBAR_COPY_PASSWORD"; NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; +NSString *const MPToolbarItemAutotype = @"TOOLBAR_AUTOTYPE"; @interface MPToolbarDelegate() { MPAddEntryContextMenuDelegate *_entryMenuDelegate; @@ -77,10 +78,12 @@ NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; MPToolbarItemSearch, MPToolbarItemLock, MPToolbarItemInspector, - MPToolbarItemHistory ]; + MPToolbarItemHistory, + MPToolbarItemAutotype ]; _defaultToolbarIdentifiers = @[ MPToolbarItemAddEntry, MPToolbarItemDelete, MPToolbarItemAddGroup, + MPToolbarItemAutotype, MPToolbarItemAction, NSToolbarFlexibleSpaceItemIdentifier, MPToolbarItemSearch, @@ -214,7 +217,8 @@ NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; MPToolbarItemDelete: [MPIconHelper icon:MPIconTrash], MPToolbarItemAction: [NSImage imageNamed:NSImageNameActionTemplate], MPToolbarItemInspector: [MPIconHelper icon:MPIconInfo], - MPToolbarItemHistory: [MPIconHelper icon:MPIconHistory] + MPToolbarItemHistory: [MPIconHelper icon:MPIconHistory], + MPToolbarItemAutotype : [MPIconHelper icon:MPIconKeyboard] }; return imageDict; } @@ -247,7 +251,8 @@ NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; MPToolbarItemDelete: NSLocalizedString(@"DELETE", @"Toolbar item delete item"), MPToolbarItemInspector: NSLocalizedString(@"INSPECTOR", @"Toolbar item toggle inspector"), MPToolbarItemSearch: NSLocalizedString(@"SEARCH", @"Search input in Toolbar "), - MPToolbarItemHistory: NSLocalizedString(@"SHOW_HISTORY", @"Toolbar item to toggel history display"), + MPToolbarItemHistory: NSLocalizedString(@"SHOW_HISTORY", @"Toolbar item to toggle history display"), + MPToolbarItemAutotype: NSLocalizedString(@"TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY", @"Toolbar item to perform autotype") }; }); return labelDict[identifier]; @@ -265,6 +270,7 @@ NSString *const MPToolbarItemHistory = @"TOOLBAR_HISTORY"; MPToolbarItemCopyUsername: @(MPActionCopyUsername), MPToolbarItemInspector: @(MPActionToggleInspector), MPToolbarItemHistory: @(MPActionShowEntryHistory), + MPToolbarItemAutotype: @(MPActionPerformAutotypeForSelectedEntry) }; }); MPActionType actionType = (MPActionType)[actionDict[identifier] integerValue]; diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index dc93999d..c234ff66 100644 --- a/MacPass/en.lproj/Localizable.strings +++ b/MacPass/en.lproj/Localizable.strings @@ -532,6 +532,9 @@ /* preset to expire tomorrow */ "TOMORROW" = "Tomorrow"; +/* Toolbar item to perform autotype */ +"TOOLBAR_PERFORM_AUTOTYPE_FOR_ENTRY" = "Autotype"; + /* Move Entry to Trash */ "TRASH_ENTRY" = "Trash Entry";