Exemple #1
0
 private void FileViewer_BottomScrollReached(object sender, EventArgs e)
 {
     DiffFiles.SelectNextVisibleItem();
     diffViewer.ScrollToTop();
 }
Exemple #2
0
 private void FileViewer_TopScrollReached(object sender, EventArgs e)
 {
     DiffFiles.SelectPreviousVisibleItem();
     diffViewer.ScrollToBottom();
 }
Exemple #3
0
 public FormDiffSmall()
 {
     InitializeComponent(); Translate();
     DiffText.ExtraDiffArgumentsChanged += DiffText_ExtraDiffArgumentsChanged;
     DiffFiles.Focus();
 }
Exemple #4
0
        private bool DeleteSelectedFiles()
        {
            try
            {
                if (DiffFiles.SelectedItem == null || DiffFiles.Revision == null || !DiffFiles.Revision.IsArtificial ||
                    MessageBox.Show(this, _deleteSelectedFiles.Text, _deleteSelectedFilesCaption.Text, MessageBoxButtons.YesNo) !=
                    DialogResult.Yes)
                {
                    return(false);
                }

                var selectedItems = DiffFiles.SelectedItems;

                // If any file is staged, it must be unstaged
                var files       = new List <GitItemStatus>();
                var stagedItems = selectedItems.Where(item => item.Staged == StagedStatus.Index);
                foreach (var item in stagedItems)
                {
                    if (!item.IsNew)
                    {
                        Module.UnstageFileToRemove(item.Name);

                        if (item.IsRenamed)
                        {
                            Module.UnstageFileToRemove(item.OldName);
                        }
                    }
                    else
                    {
                        files.Add(item);
                    }
                }

                Module.UnstageFiles(files);

                DiffFiles.StoreNextIndexToSelect();
                var items = DiffFiles.SelectedItems.Where(item => !item.IsSubmodule);
                foreach (var item in items)
                {
                    var  path  = _fullPathResolver.Resolve(item.Name);
                    bool isDir = (File.GetAttributes(path) & FileAttributes.Directory) == FileAttributes.Directory;
                    if (isDir)
                    {
                        Directory.Delete(path, true);
                    }
                    else
                    {
                        File.Delete(path);
                    }
                }

                RefreshArtificial();
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, _deleteFailed.Text + Environment.NewLine + ex.Message);
                return(false);
            }

            return(true);
        }
Exemple #5
0
 private void RevisionGridSelectionChanged(object sender, EventArgs e)
 {
     Cursor.Current = Cursors.WaitCursor;
     DiffFiles.SetDiffs(RevisionGrid.GetSelectedRevisions());
     Cursor.Current = Cursors.Default;
 }