diff --git a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme
index 36ab118c..6613ca3f 100644
--- a/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme
+++ b/MacPass.xcodeproj/xcshareddata/xcschemes/MacPass.xcscheme
@@ -125,11 +125,6 @@
-
-
+
diff --git a/MacPass/MPIconSelectViewController.h b/MacPass/MPIconSelectViewController.h
index 1994cd63..900a9166 100644
--- a/MacPass/MPIconSelectViewController.h
+++ b/MacPass/MPIconSelectViewController.h
@@ -16,12 +16,14 @@ extern NSInteger const kMPDefaultIcon;
* Is the selected Icon, kMPDefaultIcon if the default icons was selected
*/
@property (nonatomic, assign) NSInteger selectedIcon;
+@property (nonatomic, assign) BOOL didCancel;
@property (weak) IBOutlet NSCollectionView *iconCollectionView;
@property (weak) IBOutlet NSButton *imageButton;
@property (weak) NSPopover *popover;
- (void)reset;
+- (IBAction)cancel:(id)sender;
- (IBAction)useDefault:(id)sender;
@end
diff --git a/MacPass/MPIconSelectViewController.m b/MacPass/MPIconSelectViewController.m
index 6da91d92..fcc62882 100644
--- a/MacPass/MPIconSelectViewController.m
+++ b/MacPass/MPIconSelectViewController.m
@@ -26,6 +26,7 @@ NSInteger const kMPDefaultIcon = -1;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
+ _didCancel = NO;
}
return self;
}
@@ -43,7 +44,13 @@ NSInteger const kMPDefaultIcon = -1;
[self.popover performClose:self];
}
+- (IBAction)cancel:(id)sender {
+ self.didCancel = YES;
+ [self.popover performClose:self];
+}
+
- (void)reset {
+ self.didCancel = NO;
self.selectedIcon = kMPDefaultIcon;
}
diff --git a/MacPass/MPInspectorViewController.m b/MacPass/MPInspectorViewController.m
index abcd1df6..3217b6aa 100644
--- a/MacPass/MPInspectorViewController.m
+++ b/MacPass/MPInspectorViewController.m
@@ -175,19 +175,22 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
- (void)popoverDidClose:(NSNotification *)notification {
MPIconSelectViewController *viewController = (MPIconSelectViewController *)_popover.contentViewController;
- MPDocument *document = [[self windowController] document];
- BOOL useDefault = (viewController.selectedIcon == -1);
- switch (self.activeTab) {
- case MPGroupTab:
- document.selectedGroup.iconId = useDefault ? [KPKGroup defaultIcon] : viewController.selectedIcon;
- break;
-
- case MPEntryTab:
- document.selectedEntry.iconId = useDefault ? [KPKEntry defaultIcon]: viewController.selectedIcon;
- break;
-
- default:
- break;
+ if(!viewController.didCancel) {
+
+ MPDocument *document = [[self windowController] document];
+ BOOL useDefault = (viewController.selectedIcon == -1);
+ switch (self.activeTab) {
+ case MPGroupTab:
+ document.selectedGroup.iconId = useDefault ? [KPKGroup defaultIcon] : viewController.selectedIcon;
+ break;
+
+ case MPEntryTab:
+ document.selectedEntry.iconId = useDefault ? [KPKEntry defaultIcon]: viewController.selectedIcon;
+ break;
+
+ default:
+ break;
+ }
}
_popover = nil;
}
@@ -207,10 +210,10 @@ typedef NS_ENUM(NSUInteger, MPContentTab) {
[self.itemNameTextField setHidden:YES];
[self.itemImageView unbind:NSValueBinding];
[self.itemImageView setHidden:YES];
-
+
return;
}
-
+
[self.itemImageView bind:NSValueBinding toObject:item withKeyPath:@"iconImage" options:nil];
if([item respondsToSelector:@selector(title)]) {