Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Keppler2019-11-23 17:43:16 +0000
committerMichael Keppler2019-11-24 16:05:19 +0000
commit1b6c1c646276d3a7762604b3a691de023630a3e5 (patch)
tree07ecb142c3327de6fde99d3d0cb33ed9630b705f /org.eclipse.egit.ui/src/org/eclipse
parent8d15ef9e8b12e56a3ba5a656bd0d427ea4e63745 (diff)
downloadegit-1b6c1c646276d3a7762604b3a691de023630a3e5.tar.gz
egit-1b6c1c646276d3a7762604b3a691de023630a3e5.tar.xz
egit-1b6c1c646276d3a7762604b3a691de023630a3e5.zip
Add separators in ref filter menu
Add a separator before and after the preconfigured filters to make the menu easier to read. Bug: 553093 Change-Id: I2d34f1c1d0f799a78d41ee3603164b9723622e65 Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/DropDownMenuAction.java14
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositoryMenuUtil.java8
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java21
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java7
4 files changed, 32 insertions, 18 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/DropDownMenuAction.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/DropDownMenuAction.java
index ca8b3516e1..b65c3ef1ca 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/DropDownMenuAction.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/DropDownMenuAction.java
@@ -13,10 +13,9 @@ package org.eclipse.egit.ui.internal.components;
import java.util.Collection;
import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jgit.annotations.NonNull;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Control;
@@ -83,8 +82,7 @@ public abstract class DropDownMenuAction extends Action
}
private Menu fillMenu(Menu m) {
- for (IAction action : getActions()) {
- ActionContributionItem item = new ActionContributionItem(action);
+ for (IContributionItem item : getActions()) {
item.fill(m, -1);
}
return m;
@@ -114,12 +112,12 @@ public abstract class DropDownMenuAction extends Action
}
/**
- * Obtains the actions to display in the drop-down menu.
+ * Obtains the items to display in the drop-down menu. Might be action
+ * contributions or separators.
*
- * @return the actions
+ * @return the items
*/
- @NonNull
- protected abstract Collection<IAction> getActions();
+ protected abstract Collection<IContributionItem> getActions();
@Override
public void dispose() {
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositoryMenuUtil.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositoryMenuUtil.java
index eafed3f64b..82411bd156 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositoryMenuUtil.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/components/RepositoryMenuUtil.java
@@ -22,6 +22,7 @@ import java.util.Map;
import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
+import java.util.stream.Collectors;
import org.eclipse.core.runtime.preferences.IEclipsePreferences;
import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
@@ -32,7 +33,9 @@ import org.eclipse.egit.ui.internal.CommonUtils;
import org.eclipse.egit.ui.internal.UIIcons;
import org.eclipse.egit.ui.internal.UIText;
import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jgit.annotations.NonNull;
@@ -228,11 +231,12 @@ public final class RepositoryMenuUtil {
@Override
- public Collection<IAction> getActions() {
+ public Collection<IContributionItem> getActions() {
Repository current = currentRepo.get();
File gitDir = current == null ? null : current.getDirectory();
return RepositoryMenuUtil.getRepositoryActions(includeBare, gitDir,
- action);
+ action).stream().map(ActionContributionItem::new)
+ .collect(Collectors.toList());
}
@Override
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
index e8a3e01131..12eb010acf 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GitHistoryPage.java
@@ -34,6 +34,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
+import java.util.stream.Collectors;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.IWorkspaceRoot;
@@ -82,6 +83,7 @@ import org.eclipse.egit.ui.internal.selection.RepositorySelectionProvider;
import org.eclipse.egit.ui.internal.selection.SelectionUtils;
import org.eclipse.egit.ui.internal.trace.GitTraceLocation;
import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.ControlContribution;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionItem;
@@ -359,8 +361,9 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
}
@Override
- protected Collection<IAction> getActions() {
- return actions;
+ protected Collection<IContributionItem> getActions() {
+ return actions.stream().map(ActionContributionItem::new)
+ .collect(Collectors.toList());
}
@Override
@@ -672,12 +675,13 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
}
@Override
- protected Collection<IAction> getActions() {
+ protected Collection<IContributionItem> getActions() {
if (historyPage.getCurrentRepo() == null) {
return new ArrayList<>();
}
- List<IAction> actions = new ArrayList<>();
- actions.add(configureFiltersAction);
+ List<IContributionItem> actions = new ArrayList<>();
+ actions.add(new ActionContributionItem(configureFiltersAction));
+ actions.add(new Separator());
Set<RefFilter> filters = helper.getRefFilters();
List<RefFilter> sortedFilters = new ArrayList<>(
filters);
@@ -688,6 +692,7 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
.thenComparing(RefFilter::getFilterString,
String.CASE_INSENSITIVE_ORDER));
+ boolean separated = false;
for (RefFilter filter : sortedFilters) {
Action action = new ShownRefAction(filter, () -> {
helper.setRefFilters(filters);
@@ -695,7 +700,11 @@ public class GitHistoryPage extends HistoryPage implements RefsChangedListener,
updateUiForMode();
historyPage.refresh();
});
- actions.add(action);
+ if (!separated && !filter.isPreconfigured()) {
+ actions.add(new Separator());
+ separated = true;
+ }
+ actions.add(new ActionContributionItem(action));
}
return actions;
}
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
index 58df936768..5fec3702e9 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/staging/StagingView.java
@@ -40,6 +40,7 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import java.util.stream.Collectors;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.commands.operations.IUndoContext;
@@ -113,6 +114,7 @@ import org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode;
import org.eclipse.egit.ui.internal.selection.MultiViewerSelectionProvider;
import org.eclipse.egit.ui.internal.selection.RepositorySelectionProvider;
import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.ControlContribution;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionItem;
@@ -4581,8 +4583,9 @@ public class StagingView extends ViewPart
}
@Override
- protected Collection<IAction> getActions() {
- return actions;
+ protected Collection<IContributionItem> getActions() {
+ return actions.stream().map(ActionContributionItem::new)
+ .collect(Collectors.toList());
}
@Override

Back to the top