From 52c725c3d2166e99fe3b725bf6c4711bc6cb9d3d Mon Sep 17 00:00:00 2001 From: gruen0aermel Date: Sun, 21 Jan 2007 22:17:28 +0000 Subject: [PATCH] Menu items for Start/Stop Timer, New Project/Task. Use validateUserInterfaceItem to set the enabled/disabled state of all menu/toolbar items. * MainController.h, MainController.m (startMenuItem): An outlet for the new Start/Stop menu item. (validateUserInterfaceItem): Created. Now used instead of updateToolbarState to enable/disable all menu/toolbar items. (toolbar:itemForItemIdentifier:willBeInsertedIntoToolbar): Use autovalidate instead of updateToolbarState. Renamed "Add Project/Task" to "New Project/Task". (updateStartStopState): Sets the title of the new Start/Stop menu item. (updateToolbarState): Removed. Functionality was ported to validateUserInterfaceItem. All callers changed. git-svn-id: https://time-tracker-mac.googlecode.com/svn/trunk@21 4511c099-ca26-0410-9445-25cf1b1ba2ba --- English.lproj/MainMenu.nib/classes.nib | 17 ++--- English.lproj/MainMenu.nib/info.nib | 3 +- English.lproj/MainMenu.nib/keyedobjects.nib | Bin 27310 -> 23033 bytes English.lproj/MainMenu~.nib/classes.nib | 31 -------- English.lproj/MainMenu~.nib/info.nib | 21 ------ English.lproj/MainMenu~.nib/keyedobjects.nib | Bin 27311 -> 0 bytes MainController.h | 5 +- MainController.m | 71 +++++++------------ 8 files changed, 41 insertions(+), 107 deletions(-) delete mode 100644 English.lproj/MainMenu~.nib/classes.nib delete mode 100644 English.lproj/MainMenu~.nib/info.nib delete mode 100644 English.lproj/MainMenu~.nib/keyedobjects.nib diff --git a/English.lproj/MainMenu.nib/classes.nib b/English.lproj/MainMenu.nib/classes.nib index 6727392..b8ed296 100644 --- a/English.lproj/MainMenu.nib/classes.nib +++ b/English.lproj/MainMenu.nib/classes.nib @@ -14,14 +14,15 @@ CLASS = MainController; LANGUAGE = ObjC; OUTLETS = { - dtpEditWorkPeriodEndTime = id; - dtpEditWorkPeriodStartTime = id; - mainWindow = id; - panelEditWorkPeriod = id; - panelIdleNotification = id; - tvProjects = id; - tvTasks = id; - tvWorkPeriods = id; + dtpEditWorkPeriodEndTime = NSDatePicker; + dtpEditWorkPeriodStartTime = NSDatePicker; + mainWindow = NSWindow; + panelEditWorkPeriod = NSPanel; + panelIdleNotification = NSPanel; + startMenuItem = NSMenuItem; + tvProjects = NSTableView; + tvTasks = NSTableView; + tvWorkPeriods = NSTableView; }; SUPERCLASS = NSObject; }, diff --git a/English.lproj/MainMenu.nib/info.nib b/English.lproj/MainMenu.nib/info.nib index 3785db2..03a3f0b 100644 --- a/English.lproj/MainMenu.nib/info.nib +++ b/English.lproj/MainMenu.nib/info.nib @@ -7,13 +7,14 @@ IBEditorPositions 29 - 382 658 338 44 0 0 1440 878 + 102 572 338 44 0 0 1024 746 IBFramework Version 446.1 IBOpenObjects 21 + 29 IBSystem Version 8L127 diff --git a/English.lproj/MainMenu.nib/keyedobjects.nib b/English.lproj/MainMenu.nib/keyedobjects.nib index 9bf6b3a3298608a53529b789504478706dd045bb..37cadb8194f428f47815e9cb4f9e1965f01792ed 100644 GIT binary patch delta 14127 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 HC9nNI3>ZzR delta 18504 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 EADdE+6#xJL diff --git a/English.lproj/MainMenu~.nib/classes.nib b/English.lproj/MainMenu~.nib/classes.nib deleted file mode 100644 index 6727392..0000000 --- a/English.lproj/MainMenu~.nib/classes.nib +++ /dev/null @@ -1,31 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - { - ACTIONS = { - clickedAddProject = id; - clickedAddTask = id; - clickedChangeWorkPeriod = id; - clickedCountIdleTimeNo = id; - clickedCountIdleTimeYes = id; - clickedDelete = id; - clickedStartStopTimer = id; - }; - CLASS = MainController; - LANGUAGE = ObjC; - OUTLETS = { - dtpEditWorkPeriodEndTime = id; - dtpEditWorkPeriodStartTime = id; - mainWindow = id; - panelEditWorkPeriod = id; - panelIdleNotification = id; - tvProjects = id; - tvTasks = id; - tvWorkPeriods = id; - }; - SUPERCLASS = NSObject; - }, - {CLASS = NSDatePicker; LANGUAGE = ObjC; SUPERCLASS = NSControl; } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/English.lproj/MainMenu~.nib/info.nib b/English.lproj/MainMenu~.nib/info.nib deleted file mode 100644 index ec02525..0000000 --- a/English.lproj/MainMenu~.nib/info.nib +++ /dev/null @@ -1,21 +0,0 @@ - - - - - IBDocumentLocation - 125 79 356 240 0 0 1440 878 - IBEditorPositions - - 29 - 382 658 338 44 0 0 1440 878 - - IBFramework Version - 446.1 - IBOpenObjects - - 21 - - IBSystem Version - 8L2127 - - diff --git a/English.lproj/MainMenu~.nib/keyedobjects.nib b/English.lproj/MainMenu~.nib/keyedobjects.nib deleted file mode 100644 index 4d7724d9a753d8da615e9065342d3915970530ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27311 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 ZF83+d!Z)Dc4?_0e!dCn5w*SlH{y*4HxrG1# diff --git a/MainController.h b/MainController.h index 21b6b64..2701df1 100644 --- a/MainController.h +++ b/MainController.h @@ -34,6 +34,8 @@ IBOutlet NSDatePicker *dtpEditWorkPeriodStartTime; IBOutlet NSDatePicker *dtpEditWorkPeriodEndTime; + IBOutlet NSMenuItem *startMenuItem; + NSToolbarItem *startstopToolbarItem; NSToolbarItem *addProjectToolbarItem; NSToolbarItem *addTaskToolbarItem; @@ -67,6 +69,7 @@ - (void) saveData; - (void) updateStartStopState; -- (void) updateToolbarState; + +- (BOOL) validateUserInterfaceItem:(id)anItem; @end diff --git a/MainController.m b/MainController.m index c438da1..7c07fcc 100644 --- a/MainController.m +++ b/MainController.m @@ -39,7 +39,6 @@ - (void)startTimer userInfo: nil repeats: YES]; [self updateStartStopState]; - [self updateToolbarState]; _curWorkPeriod = [TWorkPeriod new]; [_curWorkPeriod setStartTime: [NSDate date]]; @@ -72,7 +71,6 @@ - (void)stopTimer:(NSDate*)endTime [self saveData]; [self updateStartStopState]; - [self updateToolbarState]; [tvProjects reloadData]; [tvTasks reloadData]; @@ -98,32 +96,27 @@ - (NSToolbarItem *)toolbar:(NSToolbar *)toolbar itemForItemIdentifier:(NSString startstopToolbarItem = toolbarItem; [toolbarItem setTarget:self]; [toolbarItem setAction:@selector(clickedStartStopTimer:)]; - [toolbarItem setAutovalidates: NO]; [self updateStartStopState]; - [self updateToolbarState]; } if ([itemIdentifier isEqual: @"AddProject"]) { addProjectToolbarItem = toolbarItem; - [toolbarItem setLabel:@"Add project"]; - [toolbarItem setPaletteLabel:@"Add project"]; - [toolbarItem setToolTip:@"Add project"]; + [toolbarItem setLabel:@"New project"]; + [toolbarItem setPaletteLabel:@"New project"]; + [toolbarItem setToolTip:@"New project"]; [toolbarItem setImage: addProjectToolImage]; [toolbarItem setTarget:self]; [toolbarItem setAction:@selector(clickedAddProject:)]; - [self updateToolbarState]; } if ([itemIdentifier isEqual: @"AddTask"]) { addTaskToolbarItem = toolbarItem; - [toolbarItem setLabel:@"Add task"]; - [toolbarItem setPaletteLabel:@"Add task"]; - [toolbarItem setToolTip:@"Add task"]; + [toolbarItem setLabel:@"New task"]; + [toolbarItem setPaletteLabel:@"New task"]; + [toolbarItem setToolTip:@"New task"]; [toolbarItem setImage: addTaskToolImage]; [toolbarItem setTarget:self]; [toolbarItem setAction:@selector(clickedAddTask:)]; - [toolbarItem setAutovalidates: NO]; - [self updateToolbarState]; } return toolbarItem; @@ -235,7 +228,6 @@ - (void)awakeFromNib [mainWindow setToolbar: toolbar]; [self updateStartStopState]; - [self updateToolbarState]; [tvWorkPeriods setTarget: self]; [tvWorkPeriods setDoubleAction: @selector(doubleClickWorkPeriod:)]; @@ -433,17 +425,13 @@ - (void)tableViewSelectionDidChange:(NSNotification *)notification [tvTasks selectRowIndexes:[NSIndexSet indexSetWithIndex:[lastTask intValue]] byExtendingSelection:NO]; } } - - [self updateToolbarState]; } if ([notification object] == tvTasks) { if ([tvTasks selectedRow] == -1) { _selTask = nil; - [self updateToolbarState]; } else { _selTask = [[_selProject tasks] objectAtIndex: [tvTasks selectedRow]]; - [self updateToolbarState]; } [tvWorkPeriods reloadData]; } @@ -572,6 +560,23 @@ - (IBAction)clickedCountIdleTimeYes:(id)sender [NSApp stopModal]; } +- (BOOL) validateUserInterfaceItem:(id)anItem +{ + if ([anItem action] == @selector(clickedStartStopTimer:)) { + if (timer != nil) return YES; + if (_selTask != nil) return YES; + return NO; + } else + if ([anItem action] == @selector(clickedAddProject:)) { + return YES; + } else + if ([anItem action] == @selector(clickedAddTask:)) { + if (_selProject != nil) return YES; + return NO; + } + return YES; +} + - (void)updateStartStopState { if (timer == nil) { @@ -583,6 +588,8 @@ - (void)updateStartStopState [statusItem setImage:playItemImage]; [statusItem setAlternateImage:playItemHighlightImage]; + + [startMenuItem setTitle:@"Start Timer"]; } else { [startstopToolbarItem setLabel:@"Stop"]; [startstopToolbarItem setPaletteLabel:@"Stop"]; @@ -591,36 +598,10 @@ - (void)updateStartStopState [statusItem setImage:stopItemImage]; [statusItem setAlternateImage:stopItemHighlightImage]; - } - -} - -- (void)updateToolbarState -{ - if (timer == nil) { - // Timer is stopped - - if (_selTask == nil) { - // No task is selected - [startstopToolbarItem setEnabled: NO]; - } else { - // A task is selected - [startstopToolbarItem setEnabled: YES]; - } - } else { - // Timer is running - [startstopToolbarItem setEnabled:YES]; + [startMenuItem setTitle:@"Stop Timer"]; } - - // The Add Task button - if (_selProject == nil) { - // No project is selected - [addTaskToolbarItem setEnabled:NO]; - } else { - [addTaskToolbarItem setEnabled:YES]; - } } - (IBAction)clickedCountIdleTimeNo:(id)sender