mirror of
https://github.com/MacPass/MacPass.git
synced 2025-12-17 12:29:35 +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 {
|
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||||
|
NSLog(@"Valdiate MenuItem:%@", [menuItem title]);
|
||||||
return [self validateUserInterfaceItem:menuItem];
|
return [self validateUserInterfaceItem:menuItem];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem {
|
- (BOOL)validateToolbarItem:(NSToolbarItem *)theItem {
|
||||||
|
NSLog(@"Valdiate ToolbarItem:%@", [theItem label]);
|
||||||
return [self validateUserInterfaceItem:theItem];
|
return [self validateUserInterfaceItem:theItem];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -528,17 +530,15 @@ typedef NS_ENUM(NSUInteger, MPAlertType) {
|
|||||||
// fall-through
|
// fall-through
|
||||||
case MPActionAddEntry:
|
case MPActionAddEntry:
|
||||||
// fall-through
|
// fall-through
|
||||||
case MPActionDelete: {
|
case MPActionDelete:
|
||||||
valid &= (nil != self.selectedItem);
|
valid &= (nil != self.selectedItem);
|
||||||
valid &= (self.trash != self.selectedItem);
|
valid &= (self.trash != self.selectedItem);
|
||||||
valid &= ![self isItemTrashed:self.selectedItem];
|
valid &= ![self isItemTrashed:self.selectedItem];
|
||||||
break;
|
break;
|
||||||
}
|
case MPActionEmptyTrash:
|
||||||
case MPActionEmptyTrash: {
|
|
||||||
valid &= [self.trash.groups count] > 0;
|
valid &= [self.trash.groups count] > 0;
|
||||||
valid &= [self.trash.entries count] > 0;
|
valid &= [self.trash.entries count] > 0;
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case MPActionDatabaseSettings:
|
case MPActionDatabaseSettings:
|
||||||
case MPActionEditPassword:
|
case MPActionEditPassword:
|
||||||
valid &= !self.encrypted;
|
valid &= !self.encrypted;
|
||||||
|
|||||||
@@ -340,6 +340,11 @@ typedef NS_ENUM(NSUInteger, MPAlertContext) {
|
|||||||
[_outlineViewController showOutline];
|
[_outlineViewController showOutline];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#pragma makr Validation
|
||||||
|
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
|
||||||
|
return ([[self document] validateMenuItem:menuItem]);
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark MPPasswordEditWindowDelegate
|
#pragma mark MPPasswordEditWindowDelegate
|
||||||
- (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey {
|
- (void)didFinishPasswordEditing:(BOOL)changedPasswordOrKey {
|
||||||
if(changedPasswordOrKey && _saveAfterPasswordChange) {
|
if(changedPasswordOrKey && _saveAfterPasswordChange) {
|
||||||
|
|||||||
@@ -568,6 +568,16 @@ NSString *const _MPTAbleSecurCellView = @"PasswordCell";
|
|||||||
self.trashBar.inactiveGradient = [[NSGradient alloc] initWithColors:inactiveColors];
|
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
|
#pragma mark ContextMenu
|
||||||
|
|
||||||
- (void)_setupEntryMenu {
|
- (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 -
|
||||||
#pragma mark Private
|
#pragma mark Private
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user