diff options
author | Thomas Wolf | 2018-07-17 09:34:51 +0000 |
---|---|---|
committer | Thomas Wolf | 2018-07-17 09:34:51 +0000 |
commit | 9cf5c4a0fa4718d2070b1dac3b7bc7eb17784de2 (patch) | |
tree | e945cc4914dbb3179a4a21cb5b3ad253aaab02b3 /org.eclipse.egit.ui/src/org/eclipse/egit | |
parent | d3a2f47f1aeba79b76d8929bd26c1828a9724e07 (diff) | |
download | egit-9cf5c4a0fa4718d2070b1dac3b7bc7eb17784de2.tar.gz egit-9cf5c4a0fa4718d2070b1dac3b7bc7eb17784de2.tar.xz egit-9cf5c4a0fa4718d2070b1dac3b7bc7eb17784de2.zip |
Disable "Compare with previous" for deletions
"Compare with Previous" in the history view and in the commit viewer
outline makes no sense for deletions. The operation makes only sense
if both a new and an old version exist.
Bug: 536799
Change-Id: Id08200fe9900942cd83a9da0e1badfd075a5590b
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit')
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorOutlinePage.java | 4 | ||||
-rw-r--r-- | org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java | 12 |
2 files changed, 10 insertions, 6 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorOutlinePage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorOutlinePage.java index fa2cb6bdb6..b89ca70087 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorOutlinePage.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/commit/DiffEditorOutlinePage.java @@ -224,7 +224,9 @@ public class DiffEditorOutlinePage extends NestedContentOutlinePage { } } }); - if (selected.size() == 1) { + if (selected.size() == 1 && !haveNew.isEmpty()) { + // "Compare with previous" makes only sense if there are + // both a new and a previous version. menuManager.add(new Separator()); menuManager.add(new Action( UIText.CommitFileDiffViewer_CompareMenuLabel) { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java index 2f4d5fa275..0a97359f4e 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/CommitFileDiffViewer.java @@ -107,7 +107,7 @@ public class CommitFileDiffViewer extends TableViewer { private IAction openWorkingTreeVersion; - private IAction compare; + private IAction compareWithPrevious; private IAction compareWorkingTreeVersion; @@ -264,7 +264,8 @@ public class CommitFileDiffViewer extends TableViewer { } }; - compare = new Action(UIText.CommitFileDiffViewer_CompareMenuLabel) { + compareWithPrevious = new Action( + UIText.CommitFileDiffViewer_CompareMenuLabel) { @Override public void run() { ISelection s = getSelection(); @@ -313,7 +314,7 @@ public class CommitFileDiffViewer extends TableViewer { mgr.add(openThisVersion); mgr.add(openPreviousVersion); mgr.add(new Separator()); - mgr.add(compare); + mgr.add(compareWithPrevious); mgr.add(compareWorkingTreeVersion); mgr.add(blame); @@ -366,7 +367,8 @@ public class CommitFileDiffViewer extends TableViewer { boolean oneOrMoreSelected = !sel.isEmpty(); openThisVersion.setEnabled(oneOrMoreSelected && !deleteSelected); openPreviousVersion.setEnabled(oneOrMoreSelected && !addSelected); - compare.setEnabled(sel.size() == 1 && !addSelected); + compareWithPrevious.setEnabled( + sel.size() == 1 && !addSelected && !deleteSelected); blame.setEnabled(oneOrMoreSelected); if (sel.size() == 1) { FileDiff diff = (FileDiff) sel.getFirstElement(); @@ -387,7 +389,7 @@ public class CommitFileDiffViewer extends TableViewer { openThisVersion.setEnabled(false); openPreviousVersion.setEnabled(false); openWorkingTreeVersion.setEnabled(false); - compare.setEnabled(false); + compareWithPrevious.setEnabled(false); blame.setEnabled(false); compareWorkingTreeVersion.setEnabled(false); } |