Skip to content

Commit 17a4935

Browse files
OutlineView for the sidebar menu can be now tacked
Commit on CMD+ENTER Added images for group items in sidebar menu
1 parent f383103 commit 17a4935

14 files changed

+929
-647
lines changed

GitX.xcodeproj/project.pbxproj

+55-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
02B41A5E123E307200DFC531 /* PBCommitHookFailedSheet.m in Sources */ = {isa = PBXBuildFile; fileRef = 02B41A5D123E307200DFC531 /* PBCommitHookFailedSheet.m */; };
2525
02B41A60123E307F00DFC531 /* PBCommitHookFailedSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 02B41A5F123E307F00DFC531 /* PBCommitHookFailedSheet.xib */; };
2626
056438B70ED0C40B00985397 /* DetailViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 056438B60ED0C40B00985397 /* DetailViewTemplate.png */; };
27+
21025C1212947AB200D87200 /* sourceListAction.png in Resources */ = {isa = PBXBuildFile; fileRef = 21025C1012947AB200D87200 /* sourceListAction.png */; };
28+
21025C1312947AB200D87200 /* sourceListActionOver.png in Resources */ = {isa = PBXBuildFile; fileRef = 21025C1112947AB200D87200 /* sourceListActionOver.png */; };
29+
21025CA0129487AC00D87200 /* GTScaledButtonControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 21025C0B12947A6200D87200 /* GTScaledButtonControl.m */; };
2730
21230CB11284B26A0046E5A1 /* PBGitMenuItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 21230CB01284B26A0046E5A1 /* PBGitMenuItem.m */; };
2831
21230D351284C5080046E5A1 /* PBGitStash.m in Sources */ = {isa = PBXBuildFile; fileRef = 21230D341284C5080046E5A1 /* PBGitStash.m */; };
2932
21230D821284D1CC0046E5A1 /* stash-icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 21230D811284D1CC0046E5A1 /* stash-icon.png */; };
@@ -40,6 +43,14 @@
4043
21231220128735E90046E5A1 /* submodule-empty.png in Resources */ = {isa = PBXBuildFile; fileRef = 2123121D128735E90046E5A1 /* submodule-empty.png */; };
4144
2123138A128756ED0046E5A1 /* PBRemoteCommandFactory.m in Sources */ = {isa = PBXBuildFile; fileRef = 21231389128756ED0046E5A1 /* PBRemoteCommandFactory.m */; };
4245
212313B5128759C00046E5A1 /* PBOpenDocumentCommand.m in Sources */ = {isa = PBXBuildFile; fileRef = 212313B4128759C00046E5A1 /* PBOpenDocumentCommand.m */; };
46+
21CF0AE3129C7BE00065B37C /* info-selected.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0ADD129C7BE00065B37C /* info-selected.tiff */; };
47+
21CF0AE4129C7BE00065B37C /* info-selected-mouse.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0ADE129C7BE00065B37C /* info-selected-mouse.tiff */; };
48+
21CF0AE5129C7BE00065B37C /* info-selected-hovered.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0ADF129C7BE00065B37C /* info-selected-hovered.tiff */; };
49+
21CF0AE6129C7BE00065B37C /* info-normal.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0AE0129C7BE00065B37C /* info-normal.tiff */; };
50+
21CF0AE7129C7BE00065B37C /* info-normal-mouse.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0AE1129C7BE00065B37C /* info-normal-mouse.tiff */; };
51+
21CF0AE8129C7BE00065B37C /* info-normal-hovered.tiff in Resources */ = {isa = PBXBuildFile; fileRef = 21CF0AE2129C7BE00065B37C /* info-normal-hovered.tiff */; };
52+
21CF0B24129C7ED90065B37C /* TrackableOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 21CF0B23129C7ED90065B37C /* TrackableOutlineView.m */; };
53+
21E331E4129DBFB100C3BA6F /* GTOutlineView.m in Sources */ = {isa = PBXBuildFile; fileRef = 21E331E3129DBFB100C3BA6F /* GTOutlineView.m */; };
4354
3BC07F4C0ED5A5C5009A7768 /* HistoryViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4A0ED5A5C5009A7768 /* HistoryViewTemplate.png */; };
4455
3BC07F4D0ED5A5C5009A7768 /* CommitViewTemplate.png in Resources */ = {isa = PBXBuildFile; fileRef = 3BC07F4B0ED5A5C5009A7768 /* CommitViewTemplate.png */; };
4556
47DBDB580E94EDE700671A1E /* DBPrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 47DBDB570E94EDE700671A1E /* DBPrefsWindowController.m */; };
@@ -261,6 +272,11 @@
261272
056438B60ED0C40B00985397 /* DetailViewTemplate.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = DetailViewTemplate.png; path = Images/DetailViewTemplate.png; sourceTree = "<group>"; };
262273
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
263274
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
275+
21025C0A12947A6200D87200 /* GTScaledButtonControl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GTScaledButtonControl.h; sourceTree = "<group>"; };
276+
21025C0B12947A6200D87200 /* GTScaledButtonControl.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GTScaledButtonControl.m; sourceTree = "<group>"; };
277+
21025C1012947AB200D87200 /* sourceListAction.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sourceListAction.png; sourceTree = "<group>"; };
278+
21025C1112947AB200D87200 /* sourceListActionOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = sourceListActionOver.png; sourceTree = "<group>"; };
279+
21025CA6129487C200D87200 /* defs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = defs.h; sourceTree = "<group>"; };
264280
21230CAF1284B26A0046E5A1 /* PBGitMenuItem.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitMenuItem.h; sourceTree = "<group>"; };
265281
21230CB01284B26A0046E5A1 /* PBGitMenuItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBGitMenuItem.m; sourceTree = "<group>"; };
266282
21230D331284C5080046E5A1 /* PBGitStash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBGitStash.h; sourceTree = "<group>"; };
@@ -290,6 +306,17 @@
290306
21231389128756ED0046E5A1 /* PBRemoteCommandFactory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBRemoteCommandFactory.m; sourceTree = "<group>"; };
291307
212313B3128759C00046E5A1 /* PBOpenDocumentCommand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PBOpenDocumentCommand.h; sourceTree = "<group>"; };
292308
212313B4128759C00046E5A1 /* PBOpenDocumentCommand.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PBOpenDocumentCommand.m; sourceTree = "<group>"; };
309+
21CF0ADD129C7BE00065B37C /* info-selected.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-selected.tiff"; sourceTree = "<group>"; };
310+
21CF0ADE129C7BE00065B37C /* info-selected-mouse.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-selected-mouse.tiff"; sourceTree = "<group>"; };
311+
21CF0ADF129C7BE00065B37C /* info-selected-hovered.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-selected-hovered.tiff"; sourceTree = "<group>"; };
312+
21CF0AE0129C7BE00065B37C /* info-normal.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-normal.tiff"; sourceTree = "<group>"; };
313+
21CF0AE1129C7BE00065B37C /* info-normal-mouse.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-normal-mouse.tiff"; sourceTree = "<group>"; };
314+
21CF0AE2129C7BE00065B37C /* info-normal-hovered.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; path = "info-normal-hovered.tiff"; sourceTree = "<group>"; };
315+
21CF0B22129C7ED90065B37C /* TrackableOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TrackableOutlineView.h; sourceTree = "<group>"; };
316+
21CF0B23129C7ED90065B37C /* TrackableOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TrackableOutlineView.m; sourceTree = "<group>"; };
317+
21CF0B36129C80100065B37C /* CellTrackingRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CellTrackingRect.h; sourceTree = "<group>"; };
318+
21E331E2129DBFB100C3BA6F /* GTOutlineView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GTOutlineView.h; path = /Volumes/CORESYSTEMS/git/gitx/GTOutlineView.h; sourceTree = "<absolute>"; };
319+
21E331E3129DBFB100C3BA6F /* GTOutlineView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = GTOutlineView.m; path = /Volumes/CORESYSTEMS/git/gitx/GTOutlineView.m; sourceTree = "<absolute>"; };
293320
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
294321
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
295322
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
@@ -382,7 +409,7 @@
382409
D8E3B38110DD4E2C001096A3 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/PBCreateTagSheet.xib; sourceTree = "<group>"; };
383410
D8EB6168122F643E00FCCAF4 /* GitXRelativeDateFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitXRelativeDateFormatter.h; sourceTree = "<group>"; };
384411
D8EB6169122F643E00FCCAF4 /* GitXRelativeDateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GitXRelativeDateFormatter.m; sourceTree = "<group>"; };
385-
D8F01C4A12182F19007F729F /* GitX.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.sdef; path = GitX.sdef; sourceTree = "<group>"; };
412+
D8F01C4A12182F19007F729F /* GitX.sdef */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = GitX.sdef; sourceTree = "<group>"; };
386413
D8F01D511218A164007F729F /* NSApplication+GitXScripting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSApplication+GitXScripting.h"; sourceTree = "<group>"; };
387414
D8F01D521218A164007F729F /* NSApplication+GitXScripting.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSApplication+GitXScripting.m"; sourceTree = "<group>"; };
388415
D8F01D841218A406007F729F /* GitX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GitX.h; sourceTree = "<group>"; };
@@ -649,8 +676,20 @@
649676
21230ED41285ED760046E5A1 /* View */ = {
650677
isa = PBXGroup;
651678
children = (
679+
21CF0ADD129C7BE00065B37C /* info-selected.tiff */,
680+
21CF0ADE129C7BE00065B37C /* info-selected-mouse.tiff */,
681+
21CF0ADF129C7BE00065B37C /* info-selected-hovered.tiff */,
682+
21CF0AE0129C7BE00065B37C /* info-normal.tiff */,
683+
21CF0AE1129C7BE00065B37C /* info-normal-mouse.tiff */,
684+
21CF0AE2129C7BE00065B37C /* info-normal-hovered.tiff */,
685+
21025CA6129487C200D87200 /* defs.h */,
686+
21025C0A12947A6200D87200 /* GTScaledButtonControl.h */,
687+
21025C0B12947A6200D87200 /* GTScaledButtonControl.m */,
652688
21230ED71285EDAF0046E5A1 /* PBArgumentPicker.h */,
653689
21230ED81285EDAF0046E5A1 /* PBArgumentPicker.m */,
690+
21CF0B22129C7ED90065B37C /* TrackableOutlineView.h */,
691+
21CF0B23129C7ED90065B37C /* TrackableOutlineView.m */,
692+
21CF0B36129C80100065B37C /* CellTrackingRect.h */,
654693
);
655694
path = View;
656695
sourceTree = "<group>";
@@ -667,6 +706,8 @@
667706
29B97314FDCFA39411CA2CEA /* GitTest */ = {
668707
isa = PBXGroup;
669708
children = (
709+
21E331E2129DBFB100C3BA6F /* GTOutlineView.h */,
710+
21E331E3129DBFB100C3BA6F /* GTOutlineView.m */,
670711
F5886A080ED5D26B0066E74C /* SpeedTest */,
671712
913D5E420E5563FD00CECEA2 /* cli */,
672713
D89E9B4C1218C22A0097A90B /* GitXScripting */,
@@ -726,6 +767,8 @@
726767
29B97317FDCFA39411CA2CEA /* Resources */ = {
727768
isa = PBXGroup;
728769
children = (
770+
21025C1012947AB200D87200 /* sourceListAction.png */,
771+
21025C1112947AB200D87200 /* sourceListActionOver.png */,
729772
02B41A5F123E307F00DFC531 /* PBCommitHookFailedSheet.xib */,
730773
F5F7D0641062E7940072C81C /* UpdateKey.pem */,
731774
F50A41130EBB872D00208746 /* Widgets */,
@@ -1299,6 +1342,14 @@
12991342
2123121E128735E90046E5A1 /* submodule-notmatching-index.png in Resources */,
13001343
2123121F128735E90046E5A1 /* submodule-matching-index.png in Resources */,
13011344
21231220128735E90046E5A1 /* submodule-empty.png in Resources */,
1345+
21025C1212947AB200D87200 /* sourceListAction.png in Resources */,
1346+
21025C1312947AB200D87200 /* sourceListActionOver.png in Resources */,
1347+
21CF0AE3129C7BE00065B37C /* info-selected.tiff in Resources */,
1348+
21CF0AE4129C7BE00065B37C /* info-selected-mouse.tiff in Resources */,
1349+
21CF0AE5129C7BE00065B37C /* info-selected-hovered.tiff in Resources */,
1350+
21CF0AE6129C7BE00065B37C /* info-normal.tiff in Resources */,
1351+
21CF0AE7129C7BE00065B37C /* info-normal-mouse.tiff in Resources */,
1352+
21CF0AE8129C7BE00065B37C /* info-normal-hovered.tiff in Resources */,
13021353
);
13031354
runOnlyForDeploymentPostprocessing = 0;
13041355
};
@@ -1460,6 +1511,9 @@
14601511
212311DD12872BF20046E5A1 /* PBGitSubmodule.m in Sources */,
14611512
2123138A128756ED0046E5A1 /* PBRemoteCommandFactory.m in Sources */,
14621513
212313B5128759C00046E5A1 /* PBOpenDocumentCommand.m in Sources */,
1514+
21025CA0129487AC00D87200 /* GTScaledButtonControl.m in Sources */,
1515+
21CF0B24129C7ED90065B37C /* TrackableOutlineView.m in Sources */,
1516+
21E331E4129DBFB100C3BA6F /* GTOutlineView.m in Sources */,
14631517
);
14641518
runOnlyForDeploymentPostprocessing = 0;
14651519
};

PBCommandMenuItem.m

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ @implementation PBCommandMenuItem
2323
super.title = [aCommand displayName];
2424
[self setTarget:aCommand];
2525
[self setAction:@selector(invoke)];
26+
[self setEnabled:[aCommand canBeFired]];
2627
}
2728
return self;
2829
}

0 commit comments

Comments
 (0)