diff options
author | Vadim Dmitriev | 2014-08-15 23:23:44 +0000 |
---|---|---|
committer | Matthias Sohn | 2014-09-03 23:02:51 +0000 |
commit | 40093b804e3493684a047d7be831a2caf18c1c0d (patch) | |
tree | edc044156575f2aa1e5533108c5d98ae338a77a5 | |
parent | c4406f74c505844dc40439514cede81805d46954 (diff) | |
download | egit-40093b804e3493684a047d7be831a2caf18c1c0d.tar.gz egit-40093b804e3493684a047d7be831a2caf18c1c0d.tar.xz egit-40093b804e3493684a047d7be831a2caf18c1c0d.zip |
Disable interactive rebase view action toolbar if selection is empty
Now action toolbar in the "Interactive Rebase" view is disabled if
changeset selection is empty. Before the change toolbar remained active
which was misleading.
Bug: 441923
Change-Id: I6d4269b8ee72e69a44b1784c725ef9296cb1c5d4
Signed-off-by: Vadim Dmitriev <dmgloss@mail.ru>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2 files changed, 14 insertions, 2 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveStepActionToolBarProvider.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveStepActionToolBarProvider.java index ece72b8f38..611d7d7f79 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveStepActionToolBarProvider.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveStepActionToolBarProvider.java @@ -255,8 +255,13 @@ public class RebaseInteractiveStepActionToolBarProvider { void mapActionItemsToSelection(ISelection selection) { setMoveItemsEnabled(false); - if (selection == null || selection.isEmpty()) + if (selection == null || selection.isEmpty()) { + if (theToolbar.isEnabled()) + theToolbar.setEnabled(false); + + unselectAllActionItemsExecpt(null); return; + } if (selection instanceof IStructuredSelection) { IStructuredSelection structured = (IStructuredSelection) selection; @@ -269,6 +274,11 @@ public class RebaseInteractiveStepActionToolBarProvider { ElementAction type = firstSelectedEntry.getPlanElementAction(); boolean singleTypeSelected = true; + + if (!theToolbar.isEnabled() + && !view.getCurrentPlan().hasRebaseBeenStartedYet()) + theToolbar.setEnabled(true); + if (structured.size() > 1) { // multi selection for (Object selectedObj : structured.toList()) { diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveView.java index 6f91638272..d2472ad0b1 100644 --- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveView.java +++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/rebase/RebaseInteractiveView.java @@ -813,7 +813,9 @@ public class RebaseInteractiveView extends ViewPart implements actionToolBarProvider.mapActionItemsToSelection(planTreeViewer .getSelection()); if (!currentPlan.hasRebaseBeenStartedYet()) { - actionToolBarProvider.getTheToolbar().setEnabled(true); + if (!planTreeViewer.getSelection().isEmpty()) + actionToolBarProvider.getTheToolbar().setEnabled(true); + startItem.setEnabled(true); abortItem.setEnabled(true); dndEnabled = true; |