public void OnExecute(CommandEventArgs e) { string info; if (e.Argument is string) { // Allow opening from info = (string)e.Argument; } else if (e.Command == AnkhCommand.WorkingCopyAdd) { using (AddWorkingCopyExplorerRootDialog dlg = new AddWorkingCopyExplorerRootDialog()) { DialogResult dr = dlg.ShowDialog(e.Context); if (dr != DialogResult.OK || string.IsNullOrEmpty(dlg.NewRoot)) { return; } info = dlg.NewRoot; } } else { throw new InvalidOperationException("WorkingCopyBrowse was called without a path"); } if (!string.IsNullOrEmpty(info)) { WorkingCopyExplorerControl ctrl = e.Selection.ActiveDialogOrFrameControl as WorkingCopyExplorerControl; if (ctrl == null) { IAnkhPackage pkg = e.GetService <IAnkhPackage>(); pkg.ShowToolWindow(AnkhToolWindow.WorkingCopyExplorer); } ctrl = e.Selection.ActiveDialogOrFrameControl as WorkingCopyExplorerControl; if (ctrl != null) { switch (e.Command) { case AnkhCommand.WorkingCopyAdd: ctrl.AddRoot(info); break; case AnkhCommand.WorkingCopyBrowse: ctrl.BrowsePath(e.Context, info); break; } } } }
static void PerformLog(IAnkhServiceProvider context, ICollection <SvnOrigin> targets, SvnRevision start, SvnRevision end) { IAnkhPackage package = context.GetService <IAnkhPackage>(); package.ShowToolWindow(AnkhToolWindow.Log); LogToolWindowControl logToolControl = context.GetService <ISelectionContext>().ActiveFrameControl as LogToolWindowControl; if (logToolControl != null) { logToolControl.StartLog(targets, start, end); } }
public override void OnExecute(CommandEventArgs e) { IAnkhPackage package = e.Context.GetService <IAnkhPackage>(); AnkhToolWindow toolWindow; switch (e.Command) { case AnkhCommand.ShowPendingChanges: toolWindow = AnkhToolWindow.PendingChanges; break; case AnkhCommand.ShowWorkingCopyExplorer: toolWindow = AnkhToolWindow.WorkingCopyExplorer; break; case AnkhCommand.ShowRepositoryExplorer: toolWindow = AnkhToolWindow.RepositoryExplorer; break; case AnkhCommand.ShowSubversionInfo: toolWindow = AnkhToolWindow.SvnInfo; break; default: return; } package.ShowToolWindow(toolWindow); if (e.Command == AnkhCommand.ShowRepositoryExplorer) { IAnkhSolutionSettings ss = e.GetService <IAnkhSolutionSettings>(); if (ss.ProjectRootUri != null) { RepositoryExplorerControl ctrl = e.Selection.ActiveDialogOrFrameControl as RepositoryExplorerControl; if (ctrl != null) { ctrl.AddRoot(ss.ProjectRootUri); } } } }
public void OnExecute(CommandEventArgs e) { Uri info; if (e.Argument is string) { string arg = (string)e.Argument; info = null; if (SvnItem.IsValidPath(arg, true)) { SvnItem item = e.GetService <ISvnStatusCache>()[arg]; if (item.IsVersioned) { info = item.Uri; if (item.IsFile) { info = new Uri(info, "./"); } } } if (info == null) { info = new Uri((string)e.Argument); } } else if (e.Argument is Uri) { info = (Uri)e.Argument; } else { using (RepositorySelectionWizard wizard = new RepositorySelectionWizard(e.Context)) { if (wizard.ShowDialog(e.Context) != DialogResult.OK) { return; } info = wizard.GetSelectedRepositoryUri(); } } if (info != null) { RepositoryExplorerControl ctrl = e.Selection.ActiveDialogOrFrameControl as RepositoryExplorerControl; if (ctrl == null) { IAnkhPackage pkg = e.GetService <IAnkhPackage>(); pkg.ShowToolWindow(AnkhToolWindow.RepositoryExplorer); } ctrl = e.Selection.ActiveDialogOrFrameControl as RepositoryExplorerControl; if (ctrl != null) { ctrl.AddRoot(info); } } }