Fixed #277 Date popup now dows not use responder chain anymore

This commit is contained in:
Michael Starke
2014-12-07 01:26:56 +01:00
parent e970db356c
commit 1729a9dcf1
3 changed files with 8 additions and 7 deletions

View File

@@ -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;

View File

@@ -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 {

View File

@@ -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;
}