mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-14 15:12:21 +00:00
Added removed validation but calling into central document function, since the responder needs to validate the menu items #112
This commit is contained in:
@@ -511,10 +511,12 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
|
||||
}
|
||||
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||
NSLog(@"Valdiate MenuItem:%@", [menuItem title]);
|
||||
return [self validateUserInterfaceItem:menuItem];
|
||||
}
|
||||
|
||||
- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem {
|
||||
NSLog(@"Valdiate ToolbarItem:%@", [theItem label]);
|
||||
return [self validateUserInterfaceItem:theItem];
|
||||
}
|
||||
|
||||
@@ -528,17 +530,15 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
|
||||
// fall-through
|
||||
case MPActionAddEntry:
|
||||
// fall-through
|
||||
case MPActionDelete: {
|
||||
case MPActionDelete:
|
||||
valid &= (nil != self.selectedItem);
|
||||
valid &= (self.trash != self.selectedItem);
|
||||
valid &= ![self isItemTrashed:self.selectedItem];
|
||||
break;
|
||||
}
|
||||
case MPActionEmptyTrash: {
|
||||
case MPActionEmptyTrash:
|
||||
valid &= [self.trash.groups count] > 0;
|
||||
valid &= [self.trash.entries count] > 0;
|
||||
break;
|
||||
}
|
||||
case MPActionDatabaseSettings:
|
||||
case MPActionEditPassword:
|
||||
valid &= !self.encrypted;
|
||||
|
||||
@@ -340,6 +340,11 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) {
|
||||
[_outlineViewController showOutline];
|
||||
}
|
||||
|
||||
#pragma makr Validation
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||
return ([[self document] validateMenuItem:menuItem]);
|
||||
}
|
||||
|
||||
#pragma mark MPPasswordEditWindowDelegate
|
||||
- (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey {
|
||||
if(changedPasswordOrKey && _saveAfterPasswordChange) {
|
||||
|
||||
@@ -568,6 +568,16 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell";
|
||||
self.trashBar.inactiveGradient = [[NSGradient alloc] initWithColors:inactiveColors];
|
||||
}
|
||||
|
||||
#pragma mark Validation
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
if(![document validateMenuItem:menuItem]) {
|
||||
return NO;
|
||||
}
|
||||
return YES;
|
||||
/* TODO handle _clickedOrSlectedEnty */
|
||||
}
|
||||
|
||||
#pragma mark ContextMenu
|
||||
|
||||
- (void)_setupEntryMenu {
|
||||
|
||||
@@ -237,6 +237,18 @@ NSString *const _MPOutlinveViewHeaderViewIdentifier = @"HeaderCell";
|
||||
}
|
||||
}
|
||||
|
||||
#pragma mark Validation
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||
MPDocument *document = [[self windowController] document];
|
||||
if(![document validateUserInterfaceItem:menuItem]) {
|
||||
return NO;
|
||||
}
|
||||
id selected = [self _clickedOrSelectedGroup];
|
||||
if(!selected) { return NO; }
|
||||
if(selected == document.trash) { return NO; }
|
||||
return ![document isItemTrashed:selected];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Private
|
||||
|
||||
|
||||
Reference in New Issue
Block a user