public FormDiff( GitUICommands commands, ObjectId baseId, ObjectId headId, string baseCommitDisplayStr, string headCommitDisplayStr) : base(commands) { _baseCommitDisplayStr = baseCommitDisplayStr; _headCommitDisplayStr = headCommitDisplayStr; InitializeComponent(); btnSwap.AdaptImageLightness(); InitializeComplete(); _toolTipControl.SetToolTip(btnAnotherBaseBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherBaseCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnSwap, _btnSwapTooltip.Text); _baseRevision = new GitRevision(baseId); _headRevision = new GitRevision(headId); ObjectId mergeBase; if (_baseRevision.ObjectId.IsArtificial || _headRevision.ObjectId.IsArtificial) { mergeBase = null; } else { mergeBase = Module.GetMergeBase(_baseRevision.ObjectId, _headRevision.ObjectId); } _mergeBase = mergeBase != null ? new GitRevision(mergeBase) : null; ckCompareToMergeBase.Text = $"{_ckCompareToMergeBase} ({_mergeBase?.ObjectId.ToShortString()})"; ckCompareToMergeBase.Enabled = _mergeBase != null; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _findFilePredicateProvider = new FindFilePredicateProvider(); _revisionTester = new GitRevisionTester(_fullPathResolver); _revisionDiffContextMenuController = new FileStatusListContextMenuController(); lblBaseCommit.BackColor = AppColor.DiffRemoved.GetThemeColor(); lblHeadCommit.BackColor = AppColor.DiffAdded.GetThemeColor(); DiffFiles.ContextMenuStrip = DiffContextMenu; DiffFiles.SelectedIndexChanged += delegate { ShowSelectedFileDiff(); }; DiffText.ExtraDiffArgumentsChanged += delegate { ShowSelectedFileDiff(); }; DiffText.TopScrollReached += FileViewer_TopScrollReached; DiffText.BottomScrollReached += FileViewer_BottomScrollReached; Load += delegate { PopulateDiffFiles(); }; }
public RevisionDiffControl() { InitializeComponent(); DiffFiles.GroupByRevision = true; InitializeComplete(); HotkeysEnabled = true; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _findFilePredicateProvider = new FindFilePredicateProvider(); _gitRevisionTester = new GitRevisionTester(_fullPathResolver); _revisionDiffContextMenuController = new FileStatusListContextMenuController(); }
public RevisionDiffControl() { InitializeComponent(); DiffFiles.GroupByRevision = true; InitializeComplete(); HotkeysEnabled = true; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _findFilePredicateProvider = new FindFilePredicateProvider(); _gitRevisionTester = new GitRevisionTester(_fullPathResolver); _revisionDiffContextMenuController = new FileStatusListContextMenuController(); _rememberFileContextMenuController = new RememberFileContextMenuController(); DiffText.TopScrollReached += FileViewer_TopScrollReached; DiffText.BottomScrollReached += FileViewer_BottomScrollReached; }
public FileStatusList() { InitializeComponent(); CreateOpenSubmoduleMenuItem(); Translate(); FilterVisible = false; SelectFirstItemOnSetItems = true; FileStatusListView.MouseMove += FileStatusListView_MouseMove; FileStatusListView.MouseDown += FileStatusListView_MouseDown; if (_images == null) { _images = new ImageList { ImageSize = DpiUtil.Scale(new Size(16, 16)), // Scale ImageSize and images scale automatically Images = { Resources.Removed, // 0 Resources.Added, // 1 Resources.Modified, // 2 Resources.Renamed, // 3 Resources.Copied, // 4 Resources.IconSubmoduleDirty, // 5 Resources.IconSubmoduleRevisionUp, // 6 Resources.IconSubmoduleRevisionUpDirty, // 7 Resources.IconSubmoduleRevisionDown, // 8 Resources.IconSubmoduleRevisionDownDirty, // 9 Resources.IconSubmoduleRevisionSemiUp, // 10 Resources.IconSubmoduleRevisionSemiUpDirty, // 11 Resources.IconSubmoduleRevisionSemiDown, // 12 Resources.IconSubmoduleRevisionSemiDownDirty, // 13 Resources.IconFileStatusUnknown // 14 } }; } FileStatusListView.SmallImageList = _images; FileStatusListView.LargeImageList = _images; HandleVisibility_NoFilesLabel_FilterComboBox(filesPresent: true); Controls.SetChildIndex(NoFiles, 0); NoFiles.Font = new Font(SystemFonts.MessageBoxFont, FontStyle.Italic); _filter = new Regex(".*"); _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _revisionTester = new GitRevisionTester(_fullPathResolver); }
public FormDiff( GitUICommands commands, bool firstParentIsValid, ObjectId baseId, ObjectId headId, string baseCommitDisplayStr, string headCommitDisplayStr) : base(commands) { _baseCommitDisplayStr = baseCommitDisplayStr; _headCommitDisplayStr = headCommitDisplayStr; _firstParentIsValid = firstParentIsValid; InitializeComponent(); InitializeComplete(); _toolTipControl.SetToolTip(btnAnotherBaseBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherBaseCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnSwap, _btnSwapTooltip.Text); if (!IsUICommandsInitialized) { // UICommands is not initialized in translation unit test. return; } _baseRevision = new GitRevision(baseId); _headRevision = new GitRevision(headId); _mergeBase = new GitRevision(Module.GetMergeBase(_baseRevision.ObjectId, _headRevision.ObjectId)); ckCompareToMergeBase.Text += $" ({_mergeBase?.ObjectId.ToShortString()})"; _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _findFilePredicateProvider = new FindFilePredicateProvider(); _revisionTester = new GitRevisionTester(_fullPathResolver); _revisionDiffContextMenuController = new FileStatusListContextMenuController(); lblBaseCommit.BackColor = AppSettings.DiffRemovedColor; lblHeadCommit.BackColor = AppSettings.DiffAddedColor; DiffFiles.ContextMenuStrip = DiffContextMenu; DiffFiles.SelectedIndexChanged += delegate { ShowSelectedFileDiff(); }; DiffText.ExtraDiffArgumentsChanged += delegate { ShowSelectedFileDiff(); }; Load += delegate { PopulateDiffFiles(); }; }
public FileStatusList() { InitializeComponent(); CreateOpenSubmoduleMenuItem(); Translate(); FilterVisible = false; SelectFirstItemOnSetItems = true; FileStatusListView.SmallImageList = CreateImageList(); FileStatusListView.LargeImageList = CreateImageList(); HandleVisibility_NoFilesLabel_FilterComboBox(filesPresent: true); Controls.SetChildIndex(NoFiles, 0); NoFiles.Font = new Font(SystemFonts.MessageBoxFont, FontStyle.Italic); _filter = new Regex(".*"); _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _revisionTester = new GitRevisionTester(_fullPathResolver); }
public FileStatusList() { InitializeComponent(); CreateOpenSubmoduleMenuItem(); Translate(); FilterVisible = false; SelectFirstItemOnSetItems = true; FileStatusListView.MouseMove += FileStatusListView_MouseMove; FileStatusListView.MouseDown += FileStatusListView_MouseDown; if (_images == null) { _images = new ImageList(); _images.Images.Add(Resources.Removed); // 0 _images.Images.Add(Resources.Added); // 1 _images.Images.Add(Resources.Modified); // 2 _images.Images.Add(Resources.Renamed); // 3 _images.Images.Add(Resources.Copied); // 4 _images.Images.Add(Resources.IconSubmoduleDirty); // 5 _images.Images.Add(Resources.IconSubmoduleRevisionUp); // 6 _images.Images.Add(Resources.IconSubmoduleRevisionUpDirty); // 7 _images.Images.Add(Resources.IconSubmoduleRevisionDown); // 8 _images.Images.Add(Resources.IconSubmoduleRevisionDownDirty); // 9 _images.Images.Add(Resources.IconSubmoduleRevisionSemiUp); // 10 _images.Images.Add(Resources.IconSubmoduleRevisionSemiUpDirty); // 11 _images.Images.Add(Resources.IconSubmoduleRevisionSemiDown); // 12 _images.Images.Add(Resources.IconSubmoduleRevisionSemiDownDirty); // 13 _images.Images.Add(Resources.IconFileStatusUnknown); // 14 } FileStatusListView.SmallImageList = _images; FileStatusListView.LargeImageList = _images; HandleVisibility_NoFilesLabel_FilterComboBox(filesPresent: true); Controls.SetChildIndex(NoFiles, 0); NoFiles.Font = new Font(SystemFonts.MessageBoxFont, FontStyle.Italic); _filter = new Regex(".*"); _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _revisionTester = new GitRevisionTester(_fullPathResolver); }
public FormDiff(GitUICommands commands, RevisionGrid revisionGrid, string baseCommitSha, string headCommitSha, string baseCommitDisplayStr, string headCommitDisplayStr) : base(commands) { _revisionGrid = revisionGrid; _baseCommitDisplayStr = baseCommitDisplayStr; _headCommitDisplayStr = headCommitDisplayStr; InitializeComponent(); Translate(); _toolTipControl.SetToolTip(btnAnotherBaseBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadBranch, _anotherBranchTooltip.Text); _toolTipControl.SetToolTip(btnAnotherBaseCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnAnotherHeadCommit, _anotherCommitTooltip.Text); _toolTipControl.SetToolTip(btnSwap, _btnSwapTooltip.Text); if (!IsUICommandsInitialized) { // UICommands is not initialized in translation unit test. return; } _baseRevision = new GitRevision(baseCommitSha); _headRevision = new GitRevision(headCommitSha); _mergeBase = new GitRevision(Module.GetMergeBase(_baseRevision.Guid, _headRevision.Guid)); _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _findFilePredicateProvider = new FindFilePredicateProvider(); _revisionTester = new GitRevisionTester(_fullPathResolver); _revisionDiffContextMenuController = new FileStatusListContextMenuController(); lblBaseCommit.BackColor = AppSettings.DiffRemovedColor; lblHeadCommit.BackColor = AppSettings.DiffAddedColor; DiffFiles.SelectedIndexChanged += DiffFiles_SelectedIndexChanged; DiffFiles.ContextMenuStrip = DiffContextMenu; Load += (sender, args) => PopulateDiffFiles(); DiffText.ExtraDiffArgumentsChanged += DiffTextOnExtraDiffArgumentsChanged; }
public RevisionDiffController(IGitRevisionTester revisionTester) { _revisionTester = revisionTester; }
public void Setup() { _tester = Substitute.For <IGitRevisionTester>(); _controller = new RevisionDiffController(_tester); }
public FileStatusList() { InitializeComponent(); InitialiseFiltering(); CreateOpenSubmoduleMenuItem(); lblSplitter.Height = DpiUtil.Scale(1); InitializeComplete(); FilterVisible = false; SelectFirstItemOnSetItems = true; FileStatusListView.SmallImageList = CreateImageList(); FileStatusListView.LargeImageList = CreateImageList(); FileStatusListView.AllowCollapseGroups = true; HandleVisibility_NoFilesLabel_FilterComboBox(filesPresent: true); Controls.SetChildIndex(NoFiles, 0); NoFiles.Font = new Font(NoFiles.Font, FontStyle.Italic); _fullPathResolver = new FullPathResolver(() => Module.WorkingDir); _revisionTester = new GitRevisionTester(_fullPathResolver); ImageList CreateImageList() { const int rowHeight = 18; return(new ImageList { ImageSize = DpiUtil.Scale(new Size(16, rowHeight)), // Scale ImageSize and images scale automatically Images = { ScaleHeight(Images.FileStatusRemoved), // 0 ScaleHeight(Images.FileStatusAdded), // 1 ScaleHeight(Images.FileStatusModified), // 2 ScaleHeight(Images.FileStatusRenamed), // 3 ScaleHeight(Images.FileStatusCopied), // 4 ScaleHeight(Images.SubmoduleDirty), // 5 ScaleHeight(Images.SubmoduleRevisionUp), // 6 ScaleHeight(Images.SubmoduleRevisionUpDirty), // 7 ScaleHeight(Images.SubmoduleRevisionDown), // 8 ScaleHeight(Images.SubmoduleRevisionDownDirty), // 9 ScaleHeight(Images.SubmoduleRevisionSemiUp), // 10 ScaleHeight(Images.SubmoduleRevisionSemiUpDirty), // 11 ScaleHeight(Images.SubmoduleRevisionSemiDown), // 12 ScaleHeight(Images.SubmoduleRevisionSemiDownDirty), // 13 ScaleHeight(Images.FileStatusUnknown) // 14 } }); Bitmap ScaleHeight(Bitmap input) { Debug.Assert(input.Height < rowHeight, "Can only increase row height"); var scaled = new Bitmap(input.Width, rowHeight, input.PixelFormat); using (var g = Graphics.FromImage(scaled)) { g.DrawImageUnscaled(input, 0, (rowHeight - input.Height) / 2); } return(scaled); } } }
public void Setup() { _tester = new GitRevisionTester(); }