From d69ced43c96a06d8290fba5770697fd69bf57411 Mon Sep 17 00:00:00 2001 From: michael starke Date: Fri, 27 Oct 2017 16:01:50 +0200 Subject: [PATCH] added reference builder menu item to textfields. Reference builder is not working at the moment --- MacPass/MPEntryInspectorViewController.m | 5 +++++ MacPass/MPInspectorViewController.h | 1 + MacPass/MPInspectorViewController.m | 20 ++++++++++++++++---- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/MacPass/MPEntryInspectorViewController.m b/MacPass/MPEntryInspectorViewController.m index a6dee21a..926932bd 100644 --- a/MacPass/MPEntryInspectorViewController.m +++ b/MacPass/MPEntryInspectorViewController.m @@ -21,6 +21,7 @@ // #import "MPEntryInspectorViewController.h" +#import "MPInspectorViewController.h" #import "MPAttachmentTableDataSource.h" #import "MPAttachmentTableViewDelegate.h" #import "MPCustomFieldTableViewDelegate.h" @@ -515,6 +516,10 @@ typedef NS_ENUM(NSUInteger, MPEntryTab) { #pragma mark - #pragma mark HNHUITextFieldDelegate - (NSMenu *)textField:(NSTextField *)textField textView:(NSTextView *)view menu:(NSMenu *)menu { + + NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:NSLocalizedString(@"SHOW_REFERENCE_BUILDER", @"Menu item to show the reference builder in a text view's context menu")action:@selector(showReferenceBuilder:) keyEquivalent:@""]; + item.representedObject = textField; + [menu addItem:item]; return menu; } diff --git a/MacPass/MPInspectorViewController.h b/MacPass/MPInspectorViewController.h index bafd1254..666367a0 100644 --- a/MacPass/MPInspectorViewController.h +++ b/MacPass/MPInspectorViewController.h @@ -39,6 +39,7 @@ - (IBAction)pickIcon:(id)sender; - (IBAction)pickExpiryDate:(id)sender; - (IBAction)showPluginData:(id)sender; +- (IBAction)showReferenceBuilder:(id)sender; /* Separate call to ensure all registered objects are in place */ - (void)registerNotificationsForDocument:(NSDocument *)document; diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index 237402b3..907d69c5 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -30,6 +30,7 @@ #import "MPIconImageView.h" #import "MPNotifications.h" #import "MPPluginDataViewController.h" +#import "MPReferenceBuilderViewController.h" #import "KeePassKit/KeePassKit.h" @@ -182,17 +183,28 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { #pragma mark Popup - (IBAction)pickIcon:(id)sender { NSAssert([sender isKindOfClass:NSView.class], @""); - [self _popupViewController:[[MPIconSelectViewController alloc] init] atView:(NSView *)sender]; + [self _popupViewController:[[MPIconSelectViewController alloc] init] atView:sender]; } - (IBAction)pickExpiryDate:(id)sender { NSAssert([sender isKindOfClass:NSView.class], @""); - [self _popupViewController:[[MPDatePickingViewController alloc] init] atView:(NSView *)sender]; + [self _popupViewController:[[MPDatePickingViewController alloc] init] atView:sender]; } - (IBAction)showPluginData:(id)sender { - NSAssert([sender isKindOfClass:[NSView class]], @""); - [self _popupViewController:[[MPPluginDataViewController alloc] init] atView:(NSView *)sender]; + NSAssert([sender isKindOfClass:NSView.class], @""); + [self _popupViewController:[[MPPluginDataViewController alloc] init] atView:sender]; +} + +- (IBAction)showReferenceBuilder:(id)sender { + NSView *location; + if([sender isKindOfClass:NSView.class]) { + location = sender; + } + else if([sender isKindOfClass:NSMenuItem.class]) { + location = [sender representedObject]; + } + [self _popupViewController:[[MPReferenceBuilderViewController alloc] init] atView:location]; } - (void)_popupViewController:(MPViewController *)vc atView:(NSView *)view {