public WorkingCopyExplorerToolWindow()
        {
            Caption = Resources.WorkingCopyExplorerToolWindowTitle;
            Control = new WorkingCopyExplorerControl();

            AnkhToolWindow = AnkhToolWindow.WorkingCopyExplorer;

            ToolBarId       = (AnkhToolBar)AnkhCommandMenu.WorkingCopyExplorerToolBar;
            ToolBarLocation = (int)VSTWT_LOCATION.VSTWT_TOP;
        }
Example #2
0
        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;
                    }
                }
            }
        }
Example #3
0
        public void OnUpdate(CommandUpdateEventArgs e)
        {
            if (_ctrl == null)
            {
                _ctrl = e.GetService <WorkingCopyExplorerControl>();
            }

            if (_ctrl == null)
            {
                e.Enabled = e.Visible = false;
                return;
            }
        }