Exemplo n.º 1
0
 private void CompleteBranchDragAndDrop(Branch branch, Revision revision)
 {
     if (branch.IsCurrent)
     {
         using (var dlg = new SelectResetModeDialog()
         {
             ResetMode = ResetMode.Mixed
         })
         {
             if (dlg.Run(this) == DialogResult.OK)
             {
                 try
                 {
                     using (this.ChangeCursor(Cursors.WaitCursor))
                     {
                         revision.ResetHeadHere(dlg.ResetMode);
                     }
                 }
                 catch (GitException exc)
                 {
                     GitterApplication.MessageBoxService.Show(
                         this,
                         exc.Message,
                         Resources.ErrFailedToReset,
                         MessageBoxButton.Close,
                         MessageBoxIcon.Error);
                 }
             }
         }
     }
     else
     {
         try
         {
             using (this.ChangeCursor(Cursors.WaitCursor))
             {
                 branch.Reset(revision);
             }
         }
         catch (GitException exc)
         {
             GitterApplication.MessageBoxService.Show(
                 this,
                 exc.Message,
                 Resources.ErrFailedToReset,
                 MessageBoxButton.Close,
                 MessageBoxIcon.Error);
         }
     }
 }
Exemplo n.º 2
0
        public CommitToolbar(CommitView commitView)
        {
            Verify.Argument.IsNotNull(commitView, nameof(commitView));

            _commitView           = commitView;
            Items.Add(_btnRefresh = new ToolStripButton(Resources.StrRefresh, CachedResources.Bitmaps["ImgRefresh"],
                                                        (sender, e) =>
            {
                _commitView.RefreshContent();
            })
            {
                DisplayStyle = ToolStripItemDisplayStyle.Image,
            });
            Items.Add(_btnTreeMode = new ToolStripButton(Resources.StrShowDirectoryTree, CachedResources.Bitmaps["ImgFolderTree"],
                                                         (sender, e) =>
            {
                var button           = (ToolStripButton)sender;
                _commitView.TreeMode = button.Checked = !button.Checked;
            })
            {
                DisplayStyle = ToolStripItemDisplayStyle.Image,
                Checked      = commitView.TreeMode,
            });
            Items.Add(new ToolStripSeparator());
            Items.Add(_stageAll = new ToolStripSplitButton(Resources.StrStageAll, CachedResources.Bitmaps["ImgStageAll"])
            {
                DisplayStyle      = ToolStripItemDisplayStyle.ImageAndText,
                DropDownDirection = ToolStripDropDownDirection.BelowRight
            });
            Items.Add(_unstageAll = new ToolStripButton(Resources.StrUnstageAll, CachedResources.Bitmaps["ImgUnstageAll"])
            {
                DisplayStyle = ToolStripItemDisplayStyle.ImageAndText,
            });
            Items.Add(new ToolStripSeparator());
            Items.Add(_btnReset = new ToolStripSplitButton(Resources.StrReset, CachedResources.Bitmaps["ImgDelete"])
            {
                DisplayStyle = ToolStripItemDisplayStyle.ImageAndText,
            });

            _stageAll.ButtonClick += (sender, e) =>
            {
                _commitView.Repository.Status.StageAll();
            };

            _stageAll.DropDown.Items.Add(new ToolStripMenuItem(Resources.StrUpdate, null, (s, e) => _commitView.Repository.Status.StageUpdated()));
            _stageAll.DropDown.Items.Add(new ToolStripSeparator());
            _stageAll.DropDown.Items.Add(new ToolStripMenuItem(Resources.StrManual.AddEllipsis(), null,
                                                               (sender, e) =>
            {
                using (var dlg = new StageDialog(_commitView.Repository))
                {
                    dlg.Run(_commitView);
                }
            }));

            _unstageAll.Click += (sender, e) =>
            {
                _commitView.Repository.Status.UnstageAll();
            };

            _btnReset.ButtonClick += (s, e) =>
            {
                using (var dlg = new SelectResetModeDialog(ResetMode.Mixed | ResetMode.Hard)
                {
                    ResetMode = ResetMode.Mixed,
                })
                {
                    if (dlg.Run(this) == DialogResult.OK)
                    {
                        Reset(dlg.ResetMode);
                    }
                }
            };

            _btnReset.DropDown.Items.Add(new ToolStripMenuItem(Resources.StrMixed, null, (s, e) => AskAndReset(ResetMode.Mixed)));
            _btnReset.DropDown.Items.Add(new ToolStripMenuItem(Resources.StrHard, null, (s, e) => AskAndReset(ResetMode.Hard)));
        }
Exemplo n.º 3
0
 private bool TryResetExistingBranch(string branchName, string refspec, bool checkout, Branch existent)
 {
     if (GitterApplication.MessageBoxService.Show(
             View as IWin32Window,
             Resources.StrAskBranchExists.UseAsFormat(branchName),
             Resources.StrBranch,
             MessageBoxButtons.YesNo,
             MessageBoxIcon.Question) == DialogResult.Yes)
     {
         var ptr = Repository.GetRevisionPointer(refspec);
         try
         {
             if (existent.IsCurrent)
             {
                 ResetMode mode;
                 using (var dlg = new SelectResetModeDialog())
                 {
                     if (dlg.Run(View as IWin32Window) != DialogResult.OK)
                     {
                         return(false);
                     }
                     mode = dlg.ResetMode;
                 }
                 using (View.ChangeCursor(MouseCursor.WaitCursor))
                 {
                     Repository.Head.Reset(ptr, mode);
                 }
             }
             else
             {
                 using (View.ChangeCursor(MouseCursor.WaitCursor))
                 {
                     existent.Reset(ptr);
                     if (checkout)
                     {
                         existent.Checkout(true);
                     }
                 }
             }
         }
         catch (UnknownRevisionException)
         {
             View.ErrorNotifier.NotifyError(View.StartingRevision,
                                            new UserInputError(
                                                Resources.ErrInvalidRevisionExpression,
                                                Resources.ErrRevisionIsUnknown));
             return(false);
         }
         catch (GitException exc)
         {
             GitterApplication.MessageBoxService.Show(
                 View as IWin32Window,
                 exc.Message,
                 Resources.ErrFailedToReset,
                 MessageBoxButton.Close,
                 MessageBoxIcon.Error);
             return(false);
         }
         return(true);
     }
     else
     {
         return(false);
     }
 }