From a4cf5758557c81726b896515b4bf76dbe9b5d629 Mon Sep 17 00:00:00 2001 From: "Samir L. Boulema" Date: Fri, 26 Aug 2016 11:30:28 +0200 Subject: [PATCH] #28, #27, #26 --- TGit/Commands/ContextMenuCommands.cs | 29 ++-- TGit/Commands/GitFlowMenuCommands.cs | 124 +++++++++--------- TGit/Commands/MainMenuCommands.cs | 52 ++++---- ...low.Designer.cs => FlowDialog.Designer.cs} | 4 +- TGit/{Flow.cs => FlowDialog.cs} | 4 +- TGit/{Flow.resx => FlowDialog.resx} | 0 TGit/Guids.cs | 2 +- TGit/Helpers/CommandHelper.cs | 37 +++--- TGit/IconMappings.csv | 1 + TGit/Images.imagemanifest | 4 + TGit/Images.vsct | 1 + TGit/PkgCmdID.cs | 1 + TGit/Resources/Images/BrowseRef.xaml | 13 ++ TGit/Resources/octicons.png | Bin 2071 -> 2218 bytes TGit/Resources/octicons.pxd | Bin 4269 -> 4527 bytes TGit/TGIT.csproj | 14 +- TGit/TGIT.vsct | 11 ++ TGit/TGITPackage.cs | 21 ++- TGit/source.extension.vsixmanifest | 2 +- 19 files changed, 177 insertions(+), 143 deletions(-) rename TGit/{Flow.Designer.cs => FlowDialog.Designer.cs} (99%) rename TGit/{Flow.cs => FlowDialog.cs} (91%) rename TGit/{Flow.resx => FlowDialog.resx} (100%) create mode 100644 TGit/Resources/Images/BrowseRef.xaml diff --git a/TGit/Commands/ContextMenuCommands.cs b/TGit/Commands/ContextMenuCommands.cs index 31645d0..1f681fd 100644 --- a/TGit/Commands/ContextMenuCommands.cs +++ b/TGit/Commands/ContextMenuCommands.cs @@ -3,38 +3,39 @@ using System; using System.IO; using System.Windows.Forms; +using Microsoft.VisualStudio.Shell; namespace SamirBoulema.TGit.Commands { public class ContextMenuCommands { - private readonly CommandHelper _commandHelper; private readonly DTE _dte; private readonly OptionPageGrid _generalOptions; + private readonly OleMenuCommandService _mcs; - public ContextMenuCommands(CommandHelper commandHelper, DTE dte, OptionPageGrid generalOptions) + public ContextMenuCommands(OleMenuCommandService mcs, DTE dte, OptionPageGrid generalOptions) { - _commandHelper = commandHelper; _dte = dte; + _mcs = mcs; _generalOptions = generalOptions; } public void AddCommands() { - _commandHelper.AddCommand(ShowLogContextCommand, PkgCmdIDList.ShowLogContext); - _commandHelper.AddCommand(DiskBrowserContextCommand, PkgCmdIDList.DiskBrowserContext); - _commandHelper.AddCommand(RepoBrowserContextCommand, PkgCmdIDList.RepoBrowserContext); + CommandHelper.AddCommand(_mcs, ShowLogContextCommand, PkgCmdIDList.ShowLogContext); + CommandHelper.AddCommand(_mcs, DiskBrowserContextCommand, PkgCmdIDList.DiskBrowserContext); + CommandHelper.AddCommand(_mcs, RepoBrowserContextCommand, PkgCmdIDList.RepoBrowserContext); - _commandHelper.AddCommand(BlameContextCommand, PkgCmdIDList.BlameContext); + CommandHelper.AddCommand(_mcs, BlameContextCommand, PkgCmdIDList.BlameContext); - _commandHelper.AddCommand(MergeContextCommand, PkgCmdIDList.MergeContext); + CommandHelper.AddCommand(_mcs, MergeContextCommand, PkgCmdIDList.MergeContext); - _commandHelper.AddCommand(PullContextCommand, PkgCmdIDList.PullContext); - _commandHelper.AddCommand(FetchContextCommand, PkgCmdIDList.FetchContext); - _commandHelper.AddCommand(CommitContextCommand, PkgCmdIDList.CommitContext); - _commandHelper.AddCommand(RevertContextCommand, PkgCmdIDList.RevertContext); - _commandHelper.AddCommand(DiffContextCommand, PkgCmdIDList.DiffContext); - _commandHelper.AddCommand(PrefDiffContextCommand, PkgCmdIDList.PrefDiffContext); + CommandHelper.AddCommand(_mcs, PullContextCommand, PkgCmdIDList.PullContext); + CommandHelper.AddCommand(_mcs, FetchContextCommand, PkgCmdIDList.FetchContext); + CommandHelper.AddCommand(_mcs, CommitContextCommand, PkgCmdIDList.CommitContext); + CommandHelper.AddCommand(_mcs, RevertContextCommand, PkgCmdIDList.RevertContext); + CommandHelper.AddCommand(_mcs, DiffContextCommand, PkgCmdIDList.DiffContext); + CommandHelper.AddCommand(_mcs, PrefDiffContextCommand, PkgCmdIDList.PrefDiffContext); } private void ShowLogContextCommand(object sender, EventArgs e) diff --git a/TGit/Commands/GitFlowMenuCommands.cs b/TGit/Commands/GitFlowMenuCommands.cs index aa41be9..1567e60 100644 --- a/TGit/Commands/GitFlowMenuCommands.cs +++ b/TGit/Commands/GitFlowMenuCommands.cs @@ -3,19 +3,18 @@ using System; using System.IO; using System.Windows.Forms; +using Microsoft.VisualStudio.Shell; namespace SamirBoulema.TGit.Commands { public class GitFlowMenuCommands { - private readonly CommandHelper _commandHelper; - private readonly string _gitBin; private readonly OptionPageGrid _options; + private readonly OleMenuCommandService _mcs; - public GitFlowMenuCommands(CommandHelper commandHelper, OptionPageGrid options) + public GitFlowMenuCommands(OleMenuCommandService mcs, OptionPageGrid options) { - _commandHelper = commandHelper; - _gitBin = FileHelper.GetMSysGit(); + _mcs = mcs; _options = options; } @@ -23,71 +22,72 @@ public void AddCommands() { //GitFlow Commands //Start/Finish Feature - var startFeature = _commandHelper.CreateCommand(StartFeatureCommand, PkgCmdIDList.StartFeature); - startFeature.BeforeQueryStatus += _commandHelper.GitFlow_BeforeQueryStatus; - _commandHelper.AddCommand(startFeature); + var startFeature = CommandHelper.CreateCommand(StartFeatureCommand, PkgCmdIDList.StartFeature); + startFeature.BeforeQueryStatus += CommandHelper.GitFlow_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, startFeature); - var finishFeature = _commandHelper.CreateCommand(FinishFeatureCommand, PkgCmdIDList.FinishFeature); - finishFeature.BeforeQueryStatus += _commandHelper.Feature_BeforeQueryStatus; - _commandHelper.AddCommand(finishFeature); + var finishFeature = CommandHelper.CreateCommand(FinishFeatureCommand, PkgCmdIDList.FinishFeature); + finishFeature.BeforeQueryStatus += CommandHelper.Feature_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, finishFeature); //Start/Finish Release - var startRelease = _commandHelper.CreateCommand(StartReleaseCommand, PkgCmdIDList.StartRelease); - startRelease.BeforeQueryStatus += _commandHelper.GitFlow_BeforeQueryStatus; - _commandHelper.AddCommand(startRelease); + var startRelease = CommandHelper.CreateCommand(StartReleaseCommand, PkgCmdIDList.StartRelease); + startRelease.BeforeQueryStatus += CommandHelper.GitFlow_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, startRelease); - var finishRelease = _commandHelper.CreateCommand(FinishReleaseCommand, PkgCmdIDList.FinishRelease); - finishRelease.BeforeQueryStatus += _commandHelper.Release_BeforeQueryStatus; - _commandHelper.AddCommand(finishRelease); + var finishRelease = CommandHelper.CreateCommand(FinishReleaseCommand, PkgCmdIDList.FinishRelease); + finishRelease.BeforeQueryStatus += CommandHelper.Release_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, finishRelease); //Start/Finish Hotfix - var startHotfix = _commandHelper.CreateCommand(StartHotfixCommand, PkgCmdIDList.StartHotfix); - startHotfix.BeforeQueryStatus += _commandHelper.GitFlow_BeforeQueryStatus; - _commandHelper.AddCommand(startHotfix); + var startHotfix = CommandHelper.CreateCommand(StartHotfixCommand, PkgCmdIDList.StartHotfix); + startHotfix.BeforeQueryStatus += CommandHelper.GitFlow_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, startHotfix); - var finishHotfix = _commandHelper.CreateCommand(FinishHotfixCommand, PkgCmdIDList.FinishHotfix); - finishHotfix.BeforeQueryStatus += _commandHelper.Hotfix_BeforeQueryStatus; - _commandHelper.AddCommand(finishHotfix); + var finishHotfix = CommandHelper.CreateCommand(FinishHotfixCommand, PkgCmdIDList.FinishHotfix); + finishHotfix.BeforeQueryStatus += CommandHelper.Hotfix_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, finishHotfix); //Init - var init = _commandHelper.CreateCommand(InitCommand, PkgCmdIDList.Init); - init.BeforeQueryStatus += _commandHelper.GitHubFlow_BeforeQueryStatus; - _commandHelper.AddCommand(init); + var init = CommandHelper.CreateCommand(InitCommand, PkgCmdIDList.Init); + init.BeforeQueryStatus += CommandHelper.GitHubFlow_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, init); //GitHubFlow Commands //Start/Finish Feature - _commandHelper.AddCommand(StartFeatureGitHubCommand, PkgCmdIDList.StartFeatureGitHub); - var finishFeatureGitHub = _commandHelper.CreateCommand(FinishFeatureGitHubCommand, PkgCmdIDList.FinishFeatureGitHub); - finishFeatureGitHub.BeforeQueryStatus += _commandHelper.Feature_BeforeQueryStatus; - _commandHelper.AddCommand(finishFeatureGitHub); + CommandHelper.AddCommand(_mcs, StartFeatureGitHubCommand, PkgCmdIDList.StartFeatureGitHub); + var finishFeatureGitHub = CommandHelper.CreateCommand(FinishFeatureGitHubCommand, PkgCmdIDList.FinishFeatureGitHub); + finishFeatureGitHub.BeforeQueryStatus += CommandHelper.Feature_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, finishFeatureGitHub); } private void InitCommand(object sender, EventArgs e) { if (string.IsNullOrEmpty(EnvHelper.SolutionDir)) return; - var flowDialog = new Flow(); - if (flowDialog.ShowDialog() == DialogResult.OK) - { - /* 1. Add GitFlow config options + var flowDialog = new FlowDialog(); + if (flowDialog.ShowDialog() != DialogResult.OK) return; + + /* 1. Add GitFlow config options * 2. Checkout develop branch (create if it doesn't exist, reset if it does) * 3. Push develop branch */ - ProcessHelper.StartProcessGui( - "cmd.exe", - $"/c cd \"{EnvHelper.SolutionDir}\" && " + - GitHelper.GetSshSetup() + - FormatCliCommand($"config --add gitflow.branch.master {flowDialog.FlowOptions.MasterBranch}") + - FormatCliCommand($"config --add gitflow.branch.develop {flowDialog.FlowOptions.DevelopBranch}") + - FormatCliCommand($"config --add gitflow.prefix.feature {flowDialog.FlowOptions.FeaturePrefix}") + - FormatCliCommand($"config --add gitflow.prefix.release {flowDialog.FlowOptions.ReleasePrefix}") + - FormatCliCommand($"config --add gitflow.prefix.hotfix {flowDialog.FlowOptions.HotfixPrefix}") + - (GitHelper.RemoteBranchExists(flowDialog.FlowOptions.DevelopBranch) ? - "echo." : - FormatCliCommand($"checkout -b {flowDialog.FlowOptions.DevelopBranch}", false)), - "Initializing GitFlow" + ProcessHelper.StartProcessGui( + "cmd.exe", + $"/c cd \"{EnvHelper.SolutionDir}\" && " + + GitHelper.GetSshSetup() + + FormatCliCommand($"config --add gitflow.branch.master {flowDialog.FlowOptions.MasterBranch}") + + FormatCliCommand($"config --add gitflow.branch.develop {flowDialog.FlowOptions.DevelopBranch}") + + FormatCliCommand($"config --add gitflow.prefix.feature {flowDialog.FlowOptions.FeaturePrefix}") + + FormatCliCommand($"config --add gitflow.prefix.release {flowDialog.FlowOptions.ReleasePrefix}") + + FormatCliCommand($"config --add gitflow.prefix.hotfix {flowDialog.FlowOptions.HotfixPrefix}") + + (GitHelper.RemoteBranchExists(flowDialog.FlowOptions.DevelopBranch) ? + "echo." : + FormatCliCommand($"checkout -b {flowDialog.FlowOptions.DevelopBranch}", false)), + "Initializing GitFlow" ); - } + EnvHelper.GetFlowOptions(); + EnvHelper.GetBranchName(); } private void StartFeatureCommand(object sender, EventArgs e) @@ -139,7 +139,7 @@ private void FinishFeatureCommand(object sender, EventArgs e) if (string.IsNullOrEmpty(EnvHelper.SolutionDir)) return; var featureBranch = GitHelper.GetCurrentBranchName(false); var featureName = GitHelper.GetCurrentBranchName(true); - var flowOptions = GitHelper.GetFlowOptions(); + EnvHelper.GetFlowOptions(); /* 1. Switch to the develop branch * 2. Pull latest changes on develop @@ -152,10 +152,10 @@ private void FinishFeatureCommand(object sender, EventArgs e) "cmd.exe", $"/c cd \"{EnvHelper.SolutionDir}\" && " + GitHelper.GetSshSetup() + - FormatCliCommand($"checkout {flowOptions.DevelopBranch}") + + FormatCliCommand($"checkout {EnvHelper.FlowOptions.DevelopBranch}") + FormatCliCommand("pull") + FormatCliCommand($"merge --no-ff {featureBranch}") + - FormatCliCommand($"push origin {flowOptions.DevelopBranch}", false), + FormatCliCommand($"push origin {EnvHelper.FlowOptions.DevelopBranch}", false), $"Finishing feature {featureName}", featureBranch, null, _options ); @@ -163,7 +163,7 @@ private void FinishFeatureCommand(object sender, EventArgs e) private string FormatCliCommand(string gitCommand, bool appendNextLine = true) { - return $"echo ^> {Path.GetFileNameWithoutExtension(_gitBin)} {gitCommand} && \"{_gitBin}\" {gitCommand}{(appendNextLine ? " && " : string.Empty)}"; + return $"echo ^> {Path.GetFileNameWithoutExtension(EnvHelper.Git)} {gitCommand} && \"{EnvHelper.Git}\" {gitCommand}{(appendNextLine ? " && " : string.Empty)}"; } private void FinishFeatureGitHubCommand(object sender, EventArgs e) @@ -219,7 +219,7 @@ private void FinishReleaseCommand(object sender, EventArgs e) if (string.IsNullOrEmpty(EnvHelper.SolutionDir)) return; var releaseBranch = GitHelper.GetCurrentBranchName(false); var releaseName = GitHelper.GetCurrentBranchName(true); - var flowOptions = GitHelper.GetFlowOptions(); + EnvHelper.GetFlowOptions(); /* 1. Switch to the master branch * 2. Pull latest changes on master @@ -238,15 +238,15 @@ private void FinishReleaseCommand(object sender, EventArgs e) "cmd.exe", $"/c cd \"{EnvHelper.SolutionDir}\" && " + GitHelper.GetSshSetup() + - FormatCliCommand($"checkout {flowOptions.MasterBranch}") + + FormatCliCommand($"checkout {EnvHelper.FlowOptions.MasterBranch}") + FormatCliCommand("pull") + FormatCliCommand($"merge --no-ff {releaseBranch}") + FormatCliCommand($"tag {releaseName}") + - FormatCliCommand($"checkout {flowOptions.DevelopBranch}") + + FormatCliCommand($"checkout {EnvHelper.FlowOptions.DevelopBranch}") + FormatCliCommand("pull") + FormatCliCommand($"merge --no-ff {releaseBranch}") + - FormatCliCommand($"push origin {flowOptions.DevelopBranch}") + - FormatCliCommand($"push origin {flowOptions.MasterBranch}") + + FormatCliCommand($"push origin {EnvHelper.FlowOptions.DevelopBranch}") + + FormatCliCommand($"push origin {EnvHelper.FlowOptions.MasterBranch}") + FormatCliCommand($"push origin {releaseName}", false), $"Finishing release {releaseName}", releaseBranch, null, _options @@ -281,7 +281,7 @@ private void FinishHotfixCommand(object sender, EventArgs e) if (string.IsNullOrEmpty(EnvHelper.SolutionDir)) return; var hotfixBranch = GitHelper.GetCurrentBranchName(false); var hotfixName = GitHelper.GetCurrentBranchName(true); - var flowOptions = GitHelper.GetFlowOptions(); + EnvHelper.GetFlowOptions(); /* 1. Switch to the master branch * 2. Pull latest changes on master @@ -300,15 +300,15 @@ private void FinishHotfixCommand(object sender, EventArgs e) "cmd.exe", $"/c cd \"{EnvHelper.SolutionDir}\" && " + GitHelper.GetSshSetup() + - FormatCliCommand($"checkout {flowOptions.MasterBranch}") + + FormatCliCommand($"checkout {EnvHelper.FlowOptions.MasterBranch}") + FormatCliCommand("pull") + FormatCliCommand($"merge --no-ff {hotfixBranch}") + FormatCliCommand($"tag {hotfixName}") + - FormatCliCommand($"checkout {flowOptions.DevelopBranch}") + + FormatCliCommand($"checkout {EnvHelper.FlowOptions.DevelopBranch}") + FormatCliCommand("pull") + FormatCliCommand($"merge --no-ff {hotfixBranch}") + - FormatCliCommand($"push origin {flowOptions.DevelopBranch}") + - FormatCliCommand($"push origin {flowOptions.MasterBranch}") + + FormatCliCommand($"push origin {EnvHelper.FlowOptions.DevelopBranch}") + + FormatCliCommand($"push origin {EnvHelper.FlowOptions.MasterBranch}") + FormatCliCommand($"push origin {hotfixName}", false), $"Finishing hotfix {hotfixName}", hotfixBranch, null, _options diff --git a/TGit/Commands/MainMenuCommands.cs b/TGit/Commands/MainMenuCommands.cs index e1313f5..ad0f475 100644 --- a/TGit/Commands/MainMenuCommands.cs +++ b/TGit/Commands/MainMenuCommands.cs @@ -1,47 +1,49 @@ using EnvDTE; using SamirBoulema.TGit.Helpers; using System; +using Microsoft.VisualStudio.Shell; namespace SamirBoulema.TGit.Commands { public class MainMenuCommands { - private readonly CommandHelper _commandHelper; private readonly DTE _dte; + private readonly OleMenuCommandService _mcs; private readonly OptionPageGrid _generalOptions; - public MainMenuCommands(CommandHelper commandHelper, DTE dte, OptionPageGrid generalOptions) + public MainMenuCommands(OleMenuCommandService mcs, DTE dte, OptionPageGrid generalOptions) { - _commandHelper = commandHelper; _dte = dte; + _mcs = mcs; _generalOptions = generalOptions; } public void AddCommands() { - _commandHelper.AddCommand(ShowChangesCommand, PkgCmdIDList.ShowChanges); - _commandHelper.AddCommand(PullCommand, PkgCmdIDList.Pull); - _commandHelper.AddCommand(FetchCommand, PkgCmdIDList.Fetch); - _commandHelper.AddCommand(CommitCommand, PkgCmdIDList.Commit); - _commandHelper.AddCommand(PushCommand, PkgCmdIDList.Push); + CommandHelper.AddCommand(_mcs, ShowChangesCommand, PkgCmdIDList.ShowChanges); + CommandHelper.AddCommand(_mcs, PullCommand, PkgCmdIDList.Pull); + CommandHelper.AddCommand(_mcs, FetchCommand, PkgCmdIDList.Fetch); + CommandHelper.AddCommand(_mcs, CommitCommand, PkgCmdIDList.Commit); + CommandHelper.AddCommand(_mcs, PushCommand, PkgCmdIDList.Push); - _commandHelper.AddCommand(ShowLogCommand, PkgCmdIDList.ShowLog); - _commandHelper.AddCommand(DiskBrowserCommand, PkgCmdIDList.DiskBrowser); - _commandHelper.AddCommand(RepoBrowserCommand, PkgCmdIDList.RepoBrowser); + CommandHelper.AddCommand(_mcs, ShowLogCommand, PkgCmdIDList.ShowLog); + CommandHelper.AddCommand(_mcs, DiskBrowserCommand, PkgCmdIDList.DiskBrowser); + CommandHelper.AddCommand(_mcs, RepoBrowserCommand, PkgCmdIDList.RepoBrowser); - _commandHelper.AddCommand(CreateStashCommand, PkgCmdIDList.CreateStash); - var applyStash = _commandHelper.CreateCommand(ApplyStashCommand, PkgCmdIDList.ApplyStash); - applyStash.BeforeQueryStatus += _commandHelper.ApplyStash_BeforeQueryStatus; - _commandHelper.AddCommand(applyStash); + CommandHelper.AddCommand(_mcs, CreateStashCommand, PkgCmdIDList.CreateStash); + var applyStash = CommandHelper.CreateCommand(ApplyStashCommand, PkgCmdIDList.ApplyStash); + applyStash.BeforeQueryStatus += CommandHelper.ApplyStash_BeforeQueryStatus; + CommandHelper.AddCommand(_mcs, applyStash); - _commandHelper.AddCommand(BranchCommand, PkgCmdIDList.Branch); - _commandHelper.AddCommand(SwitchCommand, PkgCmdIDList.Switch); - _commandHelper.AddCommand(MergeCommand, PkgCmdIDList.Merge); + CommandHelper.AddCommand(_mcs, BranchCommand, PkgCmdIDList.Branch); + CommandHelper.AddCommand(_mcs, SwitchCommand, PkgCmdIDList.Switch); + CommandHelper.AddCommand(_mcs, MergeCommand, PkgCmdIDList.Merge); - _commandHelper.AddCommand(RevertCommand, PkgCmdIDList.Revert); - _commandHelper.AddCommand(ResolveCommand, PkgCmdIDList.Resolve); - _commandHelper.AddCommand(SyncCommand, PkgCmdIDList.Sync); - _commandHelper.AddCommand(CleanupCommand, PkgCmdIDList.Cleanup); + CommandHelper.AddCommand(_mcs, RevertCommand, PkgCmdIDList.Revert); + CommandHelper.AddCommand(_mcs, ResolveCommand, PkgCmdIDList.Resolve); + CommandHelper.AddCommand(_mcs, SyncCommand, PkgCmdIDList.Sync); + CommandHelper.AddCommand(_mcs, CleanupCommand, PkgCmdIDList.Cleanup); + CommandHelper.AddCommand(_mcs, BrowseRefCommand, PkgCmdIDList.BrowseRef); } private void PreCommand() @@ -142,5 +144,11 @@ private void SyncCommand(object sender, EventArgs e) PreCommand(); ProcessHelper.StartTortoiseGitProc($"/command:sync /path:\"{EnvHelper.SolutionDir}\""); } + + private void BrowseRefCommand(object sender, EventArgs e) + { + PreCommand(); + ProcessHelper.StartTortoiseGitProc($"/command:refbrowse /path:\"{EnvHelper.SolutionDir}\""); + } } } diff --git a/TGit/Flow.Designer.cs b/TGit/FlowDialog.Designer.cs similarity index 99% rename from TGit/Flow.Designer.cs rename to TGit/FlowDialog.Designer.cs index afbb21c..ee090cf 100644 --- a/TGit/Flow.Designer.cs +++ b/TGit/FlowDialog.Designer.cs @@ -1,6 +1,6 @@ namespace SamirBoulema.TGit { - partial class Flow + partial class FlowDialog { /// /// Required designer variable. @@ -28,7 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Flow)); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FlowDialog)); this.developTextBox = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); diff --git a/TGit/Flow.cs b/TGit/FlowDialog.cs similarity index 91% rename from TGit/Flow.cs rename to TGit/FlowDialog.cs index 501a786..14a918c 100644 --- a/TGit/Flow.cs +++ b/TGit/FlowDialog.cs @@ -3,11 +3,11 @@ namespace SamirBoulema.TGit { - public partial class Flow : Form + public partial class FlowDialog : Form { public FlowOptions FlowOptions; - public Flow() + public FlowDialog() { InitializeComponent(); } diff --git a/TGit/Flow.resx b/TGit/FlowDialog.resx similarity index 100% rename from TGit/Flow.resx rename to TGit/FlowDialog.resx diff --git a/TGit/Guids.cs b/TGit/Guids.cs index 6ee2c8e..7b0acce 100644 --- a/TGit/Guids.cs +++ b/TGit/Guids.cs @@ -2,7 +2,7 @@ namespace SamirBoulema.TGit { - static class GuidList + internal static class GuidList { public const string GuidTgitPkgString = "6c58d6e5-11ba-43ba-9a63-a624f264ec06"; public const string GuidTgitCmdSetString = "6a672d8c-b58f-4329-9bc9-015fc15f9d1a"; diff --git a/TGit/Helpers/CommandHelper.cs b/TGit/Helpers/CommandHelper.cs index e8e5a99..e24f992 100644 --- a/TGit/Helpers/CommandHelper.cs +++ b/TGit/Helpers/CommandHelper.cs @@ -4,26 +4,19 @@ namespace SamirBoulema.TGit.Helpers { - public class CommandHelper + public static class CommandHelper { - private readonly OleMenuCommandService _mcs; - - public CommandHelper(OleMenuCommandService mcs) - { - _mcs = mcs; - } - - public void AddCommand(EventHandler handler, uint commandId) + public static void AddCommand(OleMenuCommandService mcs, EventHandler handler, uint commandId) { - _mcs.AddCommand(CreateCommand(handler, commandId)); + mcs.AddCommand(CreateCommand(handler, commandId)); } - public void AddCommand(MenuCommand command) + public static void AddCommand(OleMenuCommandService mcs, MenuCommand command) { - _mcs.AddCommand(command); + mcs.AddCommand(command); } - public OleMenuCommand CreateCommand(EventHandler handler, uint commandId) + public static OleMenuCommand CreateCommand(EventHandler handler, uint commandId) { var menuCommandId = new CommandID(GuidList.GuidTgitCmdSet, (int)commandId); var menuItem = new OleMenuCommand(handler, menuCommandId); @@ -31,50 +24,50 @@ public OleMenuCommand CreateCommand(EventHandler handler, uint commandId) return menuItem; } - public OleMenuCommand CreateCommand(uint commandId) + public static OleMenuCommand CreateCommand(uint commandId) { return CreateCommand(null, commandId); } - public void ApplyStash_BeforeQueryStatus(object sender, EventArgs e) + public static void ApplyStash_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand) sender).Enabled = EnvHelper.HasStash; } - public void Feature_BeforeQueryStatus(object sender, EventArgs e) + public static void Feature_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand)sender).Visible = EnvHelper.HasSolutionDir() && EnvHelper.IsGitFlow; ((OleMenuCommand)sender).Enabled = EnvHelper.HasSolutionDir() && EnvHelper.BranchName.StartsWith(EnvHelper.FlowOptions.FeaturePrefix); } - public void Hotfix_BeforeQueryStatus(object sender, EventArgs e) + public static void Hotfix_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand)sender).Visible = EnvHelper.HasSolutionDir() && EnvHelper.IsGitFlow; ((OleMenuCommand)sender).Enabled = EnvHelper.HasSolutionDir() && EnvHelper.BranchName.StartsWith(EnvHelper.FlowOptions.HotfixPrefix); } - public void Release_BeforeQueryStatus(object sender, EventArgs e) + public static void Release_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand)sender).Visible = EnvHelper.HasSolutionDir() && EnvHelper.IsGitFlow; ((OleMenuCommand)sender).Enabled = EnvHelper.HasSolutionDir() && EnvHelper.BranchName.StartsWith(EnvHelper.FlowOptions.ReleasePrefix); } - public void Solution_BeforeQueryStatus(object sender, EventArgs e) + public static void Solution_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand) sender).Enabled = EnvHelper.HasSolutionDir(); } - public void SolutionVisibility_BeforeQueryStatus(object sender, EventArgs e) + public static void SolutionVisibility_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand) sender).Visible = EnvHelper.HasSolutionDir(); } - public void GitFlow_BeforeQueryStatus(object sender, EventArgs e) + public static void GitFlow_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand) sender).Visible = EnvHelper.HasSolutionDir() && EnvHelper.IsGitFlow; } - public void GitHubFlow_BeforeQueryStatus(object sender, EventArgs e) + public static void GitHubFlow_BeforeQueryStatus(object sender, EventArgs e) { ((OleMenuCommand) sender).Visible = EnvHelper.HasSolutionDir() && !EnvHelper.IsGitFlow; } diff --git a/TGit/IconMappings.csv b/TGit/IconMappings.csv index ae688d8..e209db8 100644 --- a/TGit/IconMappings.csv +++ b/TGit/IconMappings.csv @@ -16,3 +16,4 @@ fec49b6d-c04a-42bd-b021-b8b2e5cfb291,15,d53d7256-d44d-4245-bdd2-bfd22943659c,15 fec49b6d-c04a-42bd-b021-b8b2e5cfb291,16,d53d7256-d44d-4245-bdd2-bfd22943659c,16 fec49b6d-c04a-42bd-b021-b8b2e5cfb291,17,d53d7256-d44d-4245-bdd2-bfd22943659c,17 fec49b6d-c04a-42bd-b021-b8b2e5cfb291,18,d53d7256-d44d-4245-bdd2-bfd22943659c,18 +fec49b6d-c04a-42bd-b021-b8b2e5cfb291,19,d53d7256-d44d-4245-bdd2-bfd22943659c,19 \ No newline at end of file diff --git a/TGit/Images.imagemanifest b/TGit/Images.imagemanifest index 12be814..3e76dfa 100644 --- a/TGit/Images.imagemanifest +++ b/TGit/Images.imagemanifest @@ -26,6 +26,7 @@ + @@ -82,6 +83,9 @@ + + + \ No newline at end of file diff --git a/TGit/Images.vsct b/TGit/Images.vsct index ac9da50..7b36107 100644 --- a/TGit/Images.vsct +++ b/TGit/Images.vsct @@ -31,6 +31,7 @@ + diff --git a/TGit/PkgCmdID.cs b/TGit/PkgCmdID.cs index 858b014..808be56 100644 --- a/TGit/PkgCmdID.cs +++ b/TGit/PkgCmdID.cs @@ -55,5 +55,6 @@ static class PkgCmdIDList public const uint Resolve = 0x137; public const uint Sync = 0x138; public const uint Init = 0x139; + public const uint BrowseRef = 0x140; } } \ No newline at end of file diff --git a/TGit/Resources/Images/BrowseRef.xaml b/TGit/Resources/Images/BrowseRef.xaml new file mode 100644 index 0000000..87d4d89 --- /dev/null +++ b/TGit/Resources/Images/BrowseRef.xaml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/TGit/Resources/octicons.png b/TGit/Resources/octicons.png index c72f994c7685ff892e1366c1b8fbdd894e1d6285..f8dd0842f5393a5f9b406cada048f03676ec9a19 100644 GIT binary patch literal 2218 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 B&6WTF diff --git a/TGit/Resources/octicons.pxd b/TGit/Resources/octicons.pxd index af7ab37490da8b5cb08a1ce7e78d098bb2527a74..eb69b1ba9e7daa04e1b7f4198af631ddf02bd7cf 100644 GIT binary patch literal 4527 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 RZp87E%^WnDsQU_Q{{vCr!O#Ez diff --git a/TGit/TGIT.csproj b/TGit/TGIT.csproj index 2abf671..632361a 100644 --- a/TGit/TGIT.csproj +++ b/TGit/TGIT.csproj @@ -172,11 +172,11 @@ - + Form - - Flow.cs + + FlowDialog.cs Form @@ -212,8 +212,8 @@ - - Flow.cs + + FlowDialog.cs Credentials.cs @@ -305,6 +305,10 @@ MSBuild:Compile Designer + + MSBuild:Compile + Designer + MSBuild:Compile Designer diff --git a/TGit/TGIT.vsct b/TGit/TGIT.vsct index 80034fa..b03d893 100644 --- a/TGit/TGIT.vsct +++ b/TGit/TGIT.vsct @@ -297,6 +297,14 @@ + +