Skip to content

Commit d91ed3d

Browse files
sleiferbrotherbard
authored andcommitted
set state (checkmark) on view menu items to reflect active view
1 parent 395877f commit d91ed3d

File tree

4 files changed

+20
-1
lines changed

4 files changed

+20
-1
lines changed

PBGitHistoryController.m

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,16 @@ - (IBAction) openSelectedFile:(id)sender
276276
[[NSWorkspace sharedWorkspace] openTempFile:name];
277277
}
278278

279+
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
280+
{
281+
if ([menuItem action] == @selector(setDetailedView:)) {
282+
[menuItem setState:(self.selectedCommitDetailsIndex == kHistoryDetailViewIndex) ? NSOnState : NSOffState];
283+
} else if ([menuItem action] == @selector(setTreeView:)) {
284+
[menuItem setState:(self.selectedCommitDetailsIndex == kHistoryTreeViewIndex) ? NSOnState : NSOffState];
285+
}
286+
return YES;
287+
}
288+
279289
- (IBAction) setDetailedView:(id)sender
280290
{
281291
self.selectedCommitDetailsIndex = kHistoryDetailViewIndex;

PBGitSidebarController.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,7 @@
4242

4343
@property(readonly) NSMutableArray *items;
4444
@property(readonly) NSView *sourceListControlsView;
45+
@property(readonly) PBGitHistoryController *historyViewController;
46+
@property(readonly) PBGitCommitController *commitViewController;
47+
4548
@end

PBGitSidebarController.m

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ - (void) updateRemoteControls;
3030
@implementation PBGitSidebarController
3131
@synthesize items;
3232
@synthesize sourceListControlsView;
33+
@synthesize historyViewController;
34+
@synthesize commitViewController;
3335

3436
- (id)initWithRepository:(PBGitRepository *)theRepository superController:(PBGitWindowController *)controller
3537
{

PBGitWindowController.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,11 @@ - (void)windowWillClose:(NSNotification *)notification
4343

4444
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem
4545
{
46-
if ([menuItem action] == @selector(showCommitView:) || [menuItem action] == @selector(showHistoryView:)) {
46+
if ([menuItem action] == @selector(showCommitView:)) {
47+
[menuItem setState:(contentController == sidebarController.commitViewController) ? YES : NO];
48+
return ![repository isBareRepository];
49+
} else if ([menuItem action] == @selector(showHistoryView:)) {
50+
[menuItem setState:(contentController != sidebarController.commitViewController) ? YES : NO];
4751
return ![repository isBareRepository];
4852
}
4953
return YES;

0 commit comments

Comments
 (0)