diff --git a/MacPass/MPDatePickingViewController.h b/MacPass/MPDatePickingViewController.h index 5dbd4008..05aedb9b 100644 --- a/MacPass/MPDatePickingViewController.h +++ b/MacPass/MPDatePickingViewController.h @@ -15,6 +15,8 @@ @property (weak) IBOutlet NSPopUpButton *presetPopupButton; @property (assign, readonly) BOOL didCancel; +@property (weak) NSPopover *popover; + - (IBAction)useDate:(id)sender; - (IBAction)cancel:(id)sender; - (IBAction)setDatePreset:(id)sender; diff --git a/MacPass/MPDatePickingViewController.m b/MacPass/MPDatePickingViewController.m index 63a0e72b..9e2dd2c0 100644 --- a/MacPass/MPDatePickingViewController.m +++ b/MacPass/MPDatePickingViewController.m @@ -42,7 +42,7 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { [item setTag:MPDatePresetNone]; [presetMenu addItem:item]; [presetMenu addItem:[NSMenuItem separatorItem]]; - + for(NSInteger iIndex = 0; iIndex < sizeof(tags)/sizeof(NSUInteger); iIndex++) { NSMenuItem *item = [[NSMenuItem alloc] initWithTitle:dateItems[iIndex] action:NULL keyEquivalent:@""]; [item setTag:tags[iIndex]]; @@ -57,14 +57,12 @@ typedef NS_ENUM(NSUInteger, MPDatePreset) { - (IBAction)useDate:(id)sender { self.didCancel = NO; self.date = [self.datePicker dateValue]; - id target = [NSApp targetForAction:@selector(performClose:)]; - [target performClose:sender]; + [self.popover performClose:self]; } - (IBAction)cancel:(id)sender { self.didCancel = YES; - id target = [NSApp targetForAction:@selector(performClose:)]; - [target performClose:sender]; + [self.popover performClose:self]; } - (IBAction)setDatePreset:(id)sender { diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m index d3c779ae..4ae54a91 100644 --- a/MacPass/MPInspectorViewController.m +++ b/MacPass/MPInspectorViewController.m @@ -208,7 +208,7 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.iconSelectionViewController = [[MPIconSelectViewController alloc] init]; } [self.iconSelectionViewController reset]; - self.iconSelectionViewController.popover = _popover; + self.iconSelectionViewController.popover = self.popover; self.popover.contentViewController = self.iconSelectionViewController; [self.popover showRelativeToRect:NSZeroRect ofView:sender preferredEdge:NSMinYEdge]; } @@ -222,7 +222,8 @@ typedef NS_ENUM(NSUInteger, MPContentTab) { self.popover.delegate = self; self.popover.behavior = NSPopoverBehaviorTransient; MPDatePickingViewController *controller = [[MPDatePickingViewController alloc] init]; - MPDocument *document = [[self windowController] document]; + controller.popover = self.popover; + MPDocument *document = self.windowController.document; if(document.selectedItem.timeInfo.expiryTime) { controller.date = document.selectedItem.timeInfo.expiryTime; }