Skip to content

Commit f7d39a8

Browse files
committed
add Git extensions and GitTortoise to Pending Changes window
1 parent e12acc1 commit f7d39a8

File tree

3 files changed

+103
-44
lines changed

3 files changed

+103
-44
lines changed

BasicSccProvider.cs

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,8 @@ protected override void Initialize()
109109

110110
cmd = new CommandID(GuidList.guidSccProviderCmdSet, CommandId.icmdSccCommandGitTortoise);
111111
menu = new MenuCommand(new EventHandler(OnTortoiseGitCommand), cmd);
112-
mcs.AddCommand(menu);
113112

113+
mcs.AddCommand(menu);
114114
for (int i = 0; i < GitToolCommands.GitExtCommands.Count; i++)
115115
{
116116
cmd = new CommandID(GuidList.guidSccProviderCmdSet, CommandId.icmdGitExtCommand1 + i);
@@ -136,6 +136,10 @@ protected override void Initialize()
136136
cmd = new CommandID(GuidList.guidSccProviderCmdSet, CommandId.icmdPendingChangesCommitToBranch);
137137
menu = new MenuCommand(new EventHandler(OnSwitchBranchCommand), cmd);
138138
mcs.AddCommand(menu);
139+
140+
cmd = new CommandID(GuidList.guidSccProviderCmdSet, CommandId.icmdSccCommandAbout);
141+
menu = new MenuCommand(new EventHandler(OnAbout), cmd);
142+
mcs.AddCommand(menu);
139143
}
140144

141145

@@ -231,7 +235,7 @@ int IOleCommandTarget.QueryStatus(ref Guid guidCmdGroup, uint cCmds, OLECMD[] pr
231235
else
232236
cmdf |= OLECMDF.OLECMDF_INVISIBLE;
233237
break;
234-
238+
235239
case CommandId.icmdSccCommandUndo:
236240
case CommandId.icmdSccCommandCompare:
237241
if (sccService.CanCompareSelectedFile) cmdf |= OLECMDF.OLECMDF_ENABLED;
@@ -246,6 +250,7 @@ int IOleCommandTarget.QueryStatus(ref Guid guidCmdGroup, uint cCmds, OLECMD[] pr
246250
if (sccService.IsSolutionGitControlled) cmdf |= OLECMDF.OLECMDF_ENABLED;
247251
break;
248252

253+
case CommandId.icmdSccCommandAbout:
249254
case CommandId.icmdSccCommandRefresh:
250255
//if (sccService.IsSolutionGitControlled)
251256
cmdf |= OLECMDF.OLECMDF_ENABLED;
@@ -352,7 +357,7 @@ private void OnInitCommand(object sender, EventArgs e)
352357
private void OnTortoiseGitCommand(object sender, EventArgs e)
353358
{
354359
var tortoiseGitPath = GitSccOptions.Current.TortoiseGitPath;
355-
RunDetatched(tortoiseGitPath, "/command:commit");
360+
RunDetatched(tortoiseGitPath, "/command:log");
356361
}
357362

358363
private string GetTargetPath(GitToolCommand command)
@@ -395,7 +400,14 @@ private void OnGitExtCommandExec(object sender, EventArgs e)
395400
RunDetatched(gitExtensionPath, GitToolCommands.GitExtCommands[idx].Command);
396401
}
397402
}
398-
403+
404+
private void OnAbout(object sender, EventArgs e)
405+
{
406+
var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
407+
path = Path.Combine(path, "Readme.txt");
408+
Process.Start(path);
409+
}
410+
399411
private void ShowPendingChangesWindow(object sender, EventArgs e)
400412
{
401413
ShowToolWindow(typeof(PendingChangesToolWindow));

CommandId.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,16 @@ static class CommandId
2727

2828
public const int icmdPendingChangesRefresh = 0x114;
2929
public const int icmdHistoryViewRefresh = 0x115;
30+
public const int icmdSccCommandAbout = 0x116;
31+
3032

3133
// Define the list of menus (these include toolbars)
3234
public const int imnuHistoryToolWindowToolbarMenu = 0x200;
3335
public const int imnuPendingChangesToolWindowToolbarMenu = 0x202;
3436

3537
public const int imnuGitSourceControlMenu = 0x205;
38+
public const int imnuPendingChangesToolWindowGitExt = 0x951;
39+
public const int imnuPendingChangesToolWindowGitTor = 0x961;
3640

3741
// Define the list of icons (use decimal numbers here, to match the resource IDs)
3842
public const int iiconProductIcon = 400;

PkgCmd.vsct

Lines changed: 83 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,15 @@
55
<Extern href="msobtnid.h"/>
66
<Commands package="guidSccProviderPkg">
77
<Menus>
8-
9-
<Menu guid="guidSccProviderCmdSet" id="imnuHistoryToolWindowToolbarMenu" priority="0x0000" type="ToolWindowToolbar">
10-
<Parent guid="guidSccProviderCmdSet" id="imnuHistoryToolWindowToolbarMenu"/>
8+
9+
<Menu guid="guidSccProviderCmdSet" id="imnuGitSourceControlMenu" priority="0x0000" type="Menu">
1110
<CommandFlag>TextChanges</CommandFlag>
1211
<Strings>
13-
<ButtonText>Git History</ButtonText>
14-
<CommandName>GitHistory</CommandName>
12+
<ButtonText>Git</ButtonText>
13+
<CommandName>Git</CommandName>
1514
</Strings>
1615
</Menu>
17-
16+
1817
<Menu guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowToolbarMenu" priority="0x0000" type="ToolWindowToolbar">
1918
<Parent guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowToolbarMenu"/>
2019
<CommandFlag>TextChanges</CommandFlag>
@@ -23,26 +22,36 @@
2322
<CommandName>GitPendingChanges</CommandName>
2423
</Strings>
2524
</Menu>
26-
27-
<Menu guid="guidSccProviderCmdSet" id="imnuGitSourceControlMenu" priority="0x0000" type="Menu">
25+
26+
<Menu guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowGitExt" priority="0x0011" type="MenuController">
27+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
28+
<CommandFlag>IconAndText</CommandFlag>
2829
<CommandFlag>TextChanges</CommandFlag>
30+
<CommandFlag>TextIsAnchorCommand</CommandFlag>
2931
<Strings>
30-
<ButtonText>Git</ButtonText>
31-
<CommandName>Git</CommandName>
32+
<ButtonText>Git Extensions</ButtonText>
33+
<CommandName>GitExt Menu Controller</CommandName>
3234
</Strings>
3335
</Menu>
3436

37+
<Menu guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowGitTor" priority="0x0012" type="MenuController">
38+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
39+
<CommandFlag>IconAndText</CommandFlag>
40+
<CommandFlag>TextChanges</CommandFlag>
41+
<CommandFlag>TextIsAnchorCommand</CommandFlag>
42+
<Strings>
43+
<ButtonText>Git Extensions</ButtonText>
44+
<CommandName>GitExt Menu Controller</CommandName>
45+
</Strings>
46+
</Menu>
47+
3548
</Menus>
3649

3750
<Groups>
3851

3952
<Group guid="guidSccProviderCmdSet" id="igrpSourceControlCommands" priority="0x0000">
4053
<Parent guid="guidSccProviderCmdSet" id="imnuGitSourceControlMenu"/>
4154
</Group>
42-
43-
<Group guid="guidSccProviderCmdSet" id="igrpHistoryToolWindowToolbarGroup" priority="0x0100">
44-
<Parent guid="guidSccProviderCmdSet" id="imnuHistoryToolWindowToolbarMenu"/>
45-
</Group>
4655

4756
<Group guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup" priority="0x0100">
4857
<Parent guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowToolbarMenu"/>
@@ -55,10 +64,18 @@
5564
<Group guid="guidSccProviderCmdSet" id="igrpGitTorCommands" priority="0x0200">
5665
<Parent guid="guidSccProviderCmdSet" id="imnuGitSourceControlMenu"/>
5766
</Group>
67+
68+
<Group guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowGitExt" priority="0x0000">
69+
<Parent guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowGitExt"/>
70+
</Group>
71+
<Group guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowGitTor" priority="0x0000">
72+
<Parent guid="guidSccProviderCmdSet" id="imnuPendingChangesToolWindowGitTor"/>
73+
</Group>
5874

5975
</Groups>
6076

6177
<Buttons>
78+
6279
<Button guid="guidSccProviderCmdSet" id="icmdSccCommandGitBash" priority="0x0106" type="Button">
6380
<Parent guid="guidSccProviderCmdSet" id="igrpSourceControlCommands"/>
6481
<Icon guid="guidSccProviderImages" id="iconGitBash" />
@@ -77,7 +94,7 @@
7794
<CommandFlag>DefaultInvisible</CommandFlag>
7895
<CommandFlag>IconAndText</CommandFlag>
7996
<Strings>
80-
<ButtonText>Git Extensions ...</ButtonText>
97+
<ButtonText>Git Extensions</ButtonText>
8198
</Strings>
8299
</Button>
83100

@@ -88,7 +105,7 @@
88105
<CommandFlag>DefaultInvisible</CommandFlag>
89106
<CommandFlag>IconAndText</CommandFlag>
90107
<Strings>
91-
<ButtonText>TortoiseGit ...</ButtonText>
108+
<ButtonText>TortoiseGit</ButtonText>
92109
</Strings>
93110
</Button>
94111

@@ -102,6 +119,7 @@
102119
<ButtonText>Compare ...</ButtonText>
103120
</Strings>
104121
</Button>
122+
105123
<Button guid="guidSccProviderCmdSet" id="icmdSccCommandUndo" priority="0x0102" type="Button">
106124
<Parent guid="guidSccProviderCmdSet" id="igrpSourceControlCommands"/>
107125
<Icon guid="guidSccProviderImages" id="iconUncheckout" />
@@ -150,9 +168,10 @@
150168
<Icon guid="guidSccProviderImages" id="iconGitExt" />
151169
<CommandFlag>DynamicItemStart</CommandFlag>
152170
<CommandFlag>DefaultInvisible</CommandFlag>
171+
<CommandFlag>FixMenuController</CommandFlag>
153172
<Strings>
154173
<CommandName>icmdGitExtCommand1</CommandName>
155-
<ButtonText>Git Extensions Commands</ButtonText>
174+
<ButtonText>Git Extensions</ButtonText>
156175
</Strings>
157176
</Button>
158177

@@ -161,9 +180,10 @@
161180
<Icon guid="guidSccProviderImages" id="iconGitTor" />
162181
<CommandFlag>DynamicItemStart</CommandFlag>
163182
<CommandFlag>DefaultInvisible</CommandFlag>
183+
<CommandFlag>FixMenuController</CommandFlag>
164184
<Strings>
165185
<CommandName>icmdGitTorCommand1</CommandName>
166-
<ButtonText>TortoiseGit Commands</ButtonText>
186+
<ButtonText>TortoiseGit</ButtonText>
167187
</Strings>
168188
</Button>
169189

@@ -187,6 +207,16 @@
187207
</Strings>
188208
</Button>
189209

210+
<Button guid="guidSccProviderCmdSet" id="icmdSccCommandAbout" priority="0x0106" type="Button">
211+
<Icon guid="guidSccProviderImages" id="iconGitBash" />
212+
<CommandFlag>DynamicVisibility</CommandFlag>
213+
<CommandFlag>DefaultInvisible</CommandFlag>
214+
<CommandFlag>IconAndText</CommandFlag>
215+
<Strings>
216+
<ButtonText>Git - About ...</ButtonText>
217+
</Strings>
218+
</Button>
219+
190220
<!-- buttons on pending changes tool window's tool bar -->
191221
<Button guid="guidSccProviderCmdSet" id="icmdPendingChangesCommit" priority="0x0000" type="Button">
192222
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
@@ -228,17 +258,6 @@
228258
<ButtonText>Refresh</ButtonText>
229259
</Strings>
230260
</Button>
231-
232-
<Button guid="guidSccProviderCmdSet" id="icmdHistoryViewRefresh" priority="0x0006" type="Button">
233-
<Parent guid="guidSccProviderCmdSet" id="igrpHistoryToolWindowToolbarGroup"/>
234-
<Icon guid="guidSccProviderImages" id="iconRefresh" />
235-
<CommandFlag>DynamicVisibility</CommandFlag>
236-
<CommandFlag>DefaultInvisible</CommandFlag>
237-
<CommandFlag>IconAndText</CommandFlag>
238-
<Strings>
239-
<ButtonText>Refresh</ButtonText>
240-
</Strings>
241-
</Button>
242261

243262
</Buttons>
244263

@@ -280,6 +299,16 @@
280299
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_SOLUTION_SCC"/>
281300
</CommandPlacement>
282301

302+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandAbout" priority="0x0004">
303+
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_ITEM_SCC"/>
304+
</CommandPlacement>
305+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandAbout" priority="0x0004">
306+
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_PROJECT_SCC"/>
307+
</CommandPlacement>
308+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandAbout" priority="0x0004">
309+
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_SOLUTION_SCC"/>
310+
</CommandPlacement>
311+
283312
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandHistory" priority="0x0004">
284313
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_ITEM_SCC"/>
285314
</CommandPlacement>
@@ -290,22 +319,29 @@
290319
<Parent guid="guidSHLMainMenu" id="IDG_VS_CTXT_SOLUTION_SCC"/>
291320
</CommandPlacement>
292321

293-
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdPendingChangesCommitToBranch" priority="0x0006">
294-
<Parent guid="guidSccProviderCmdSet" id="igrpHistoryToolWindowToolbarGroup"/>
322+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandEditIgnore" priority="0x0007">
323+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
295324
</CommandPlacement>
296-
<!--<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandRefresh" priority="0x0007">
297-
<Parent guid="guidSccProviderCmdSet" id="igrpHistoryToolWindowToolbarGroup"/>
298-
</CommandPlacement>-->
299325
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandGitBash" priority="0x0008">
300-
<Parent guid="guidSccProviderCmdSet" id="igrpHistoryToolWindowToolbarGroup"/>
326+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
301327
</CommandPlacement>
302-
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandEditIgnore" priority="0x0007">
328+
329+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandGitExtension" priority="0x0009">
303330
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
304331
</CommandPlacement>
305-
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandGitBash" priority="0x0008">
332+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdSccCommandGitTortoise" priority="0x0010">
306333
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowToolbarGroup"/>
307334
</CommandPlacement>
308-
335+
336+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdGitExtCommand1" priority="0x0002">
337+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowGitExt"/>
338+
</CommandPlacement>
339+
<CommandPlacement guid="guidSccProviderCmdSet" id="icmdGitTorCommand1" priority="0x0002">
340+
<Parent guid="guidSccProviderCmdSet" id="igrpPendingChangesToolWindowGitTor"/>
341+
</CommandPlacement>
342+
343+
344+
309345
</CommandPlacements>
310346

311347
<Symbols>
@@ -337,15 +373,22 @@
337373

338374
<IDSymbol name="icmdPendingChangesRefresh" value="0x114"/>
339375
<IDSymbol name="icmdHistoryViewRefresh" value="0x115"/>
340-
376+
<IDSymbol name="icmdSccCommandAbout" value="0x116"/>
377+
341378
<IDSymbol name="igrpGitExtCommands" value="0x800"/>
342379
<IDSymbol name="imnuGitExtMenu" value="0x801"/>
343380
<IDSymbol name="igrpGitTorCommands" value="0x900"/>
344381
<IDSymbol name="imnuGitTorMenu" value="0x901"/>
345382

346383
<IDSymbol name="icmdGitExtCommand1" value="0x811"/>
347384
<IDSymbol name="icmdGitTorCommand1" value="0x911"/>
348-
385+
386+
<IDSymbol name="imnuPendingChangesToolWindowGitExt" value="0x951"/>
387+
<IDSymbol name="igrpPendingChangesToolWindowGitExt" value="0x952"/>
388+
389+
<IDSymbol name="imnuPendingChangesToolWindowGitTor" value="0x961"/>
390+
<IDSymbol name="igrpPendingChangesToolWindowGitTor" value="0x962"/>
391+
349392
</GuidSymbol>
350393
<GuidSymbol name="guidSccProviderImages" value="{495089FD-A8CA-4260-8EB1-794E2956B625}" >
351394
<IDSymbol name="iconGitBash" value="1"/>

0 commit comments

Comments
 (0)