diff --git a/MacPass/Base.lproj/MainMenu.xib b/MacPass/Base.lproj/MainMenu.xib index d14a2cce..7a56521f 100644 --- a/MacPass/Base.lproj/MainMenu.xib +++ b/MacPass/Base.lproj/MainMenu.xib @@ -1,8 +1,8 @@ - + - + @@ -250,6 +250,14 @@ CA + + + + + + + + @@ -336,12 +344,13 @@ CA - + + diff --git a/MacPass/MPAppDelegate.h b/MacPass/MPAppDelegate.h index e3623dd5..47b68197 100644 --- a/MacPass/MPAppDelegate.h +++ b/MacPass/MPAppDelegate.h @@ -33,6 +33,7 @@ APPKIT_EXTERN NSString *const MPDidChangeStoredKeyFilesSettings; @property (weak) IBOutlet NSMenuItem *saveMenuItem; @property (weak) IBOutlet NSMenuItem *fixAutotypeMenuItem; @property (weak) IBOutlet NSMenuItem *fileNewMenuItem; +@property (weak) IBOutlet NSMenu *itemMenu; @property (nonatomic, assign) BOOL isAllowedToStoreKeyFile; diff --git a/MacPass/MPAppDelegate.m b/MacPass/MPAppDelegate.m index f04b2643..64d25c4e 100644 --- a/MacPass/MPAppDelegate.m +++ b/MacPass/MPAppDelegate.m @@ -197,6 +197,12 @@ NSString *const MPDidChangeStoredKeyFilesSettings = @"com.hicknhack.macpass.MPDi if(menu == self.fixAutotypeMenuItem.menu) { self.fixAutotypeMenuItem.hidden = !(NSEvent.modifierFlags & NSAlternateKeyMask); } + if(menu == self.itemMenu) { + [menu removeAllItems]; + for(NSMenuItem *item in [MPContextMenuHelper contextMenuItemsWithItems:MPContextMenuFull]) { + [menu addItem:item]; + } + } } #pragma mark - diff --git a/MacPass/MPDocumentWindowController.h b/MacPass/MPDocumentWindowController.h index 656fbc6c..af8ce884 100644 --- a/MacPass/MPDocumentWindowController.h +++ b/MacPass/MPDocumentWindowController.h @@ -44,9 +44,8 @@ - (void)showEntries; - (void)showPasswordInput; - - - (void)editPasswordWithCompetionHandler:(void (^)(NSInteger result))handler; + #pragma mark Actions - (IBAction)saveDocument:(id)sender; - (IBAction)saveDocumentAs:(id)sender; @@ -71,6 +70,12 @@ - (IBAction)performAutotypeForEntry:(id)sender; +- (IBAction)copyUsername:(id)sender; +- (IBAction)copyPassword:(id)sender; +- (IBAction)copyCustomAttribute:(id)sender; +- (IBAction)copyURL:(id)sender; +- (IBAction)openURL:(id)sender; + #pragma mark Helper - (IBAction)fixAutotype:(id)sender; diff --git a/MacPass/MPDocumentWindowController.m b/MacPass/MPDocumentWindowController.m index 5514e1e9..5bff53b1 100644 --- a/MacPass/MPDocumentWindowController.m +++ b/MacPass/MPDocumentWindowController.m @@ -514,6 +514,28 @@ typedef void (^MPPasswordChangedBlock)(BOOL didChangePassword); [contentView layoutSubtreeIfNeeded]; } +- (void)copyUsername:(id)sender { + [self.entryViewController copyUsername:sender]; +} + +- (void)copyPassword:(id)sender { + [self.entryViewController copyPassword:sender]; +} + +- (void)copyCustomAttribute:(id)sender { + [self.entryViewController copyCustomAttribute:sender]; +} + +- (void)copyURL:(id)sender { + [self.entryViewController copyURL:sender]; +} + +- (void)openURL:(id)sender { + [self.entryViewController openURL:sender]; +} + + + #pragma mark Validation - (BOOL)validateMenuItem:(NSMenuItem *)menuItem { return ([self.document validateMenuItem:menuItem]);