Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Vogel2019-09-20 16:53:31 +0000
committerLars Vogel2019-09-25 05:45:18 +0000
commit7ad658f38c5a22456ceac3f819dd615dbe3bde62 (patch)
treec14fc6e0925f19d32ae674f6e119f7b959722f83
parent3ef00e965323cd7a3ae21ddde3fe480116547651 (diff)
downloadeclipse.platform.ui-7ad658f38c5a22456ceac3f819dd615dbe3bde62.tar.gz
eclipse.platform.ui-7ad658f38c5a22456ceac3f819dd615dbe3bde62.tar.xz
eclipse.platform.ui-7ad658f38c5a22456ceac3f819dd615dbe3bde62.zip
Bug 551139 - Use ToolItem "Find Actions" quick access similar to the
perspective switcher Change-Id: I26bcfeb273d66ec43efc66c33afc2e25cf2e2d60 Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
-rw-r--r--bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/quickaccess/SearchField.java39
1 files changed, 24 insertions, 15 deletions
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/quickaccess/SearchField.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/quickaccess/SearchField.java
index 5ffb21233e4..9ae8c1e0de0 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/quickaccess/SearchField.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/quickaccess/SearchField.java
@@ -32,18 +32,19 @@ import org.eclipse.e4.ui.bindings.internal.BindingTableManager;
import org.eclipse.e4.ui.bindings.internal.ContextSet;
import org.eclipse.jface.bindings.Binding;
import org.eclipse.jface.bindings.TriggerSequence;
-import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.layout.RowLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Listener;
+import org.eclipse.swt.widgets.ToolBar;
+import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.commands.ICommandImageService;
@@ -55,7 +56,7 @@ public class SearchField {
private static final String QUICK_ACCESS_COMMAND_ID = "org.eclipse.ui.window.quickAccess"; //$NON-NLS-1$
- private Button quickAccessButton;
+ private ToolItem quickAccessButton;
private Display display;
private ParameterizedCommand quickAccessCommand;
private TriggerSequence triggerSequence = null;
@@ -77,7 +78,7 @@ public class SearchField {
comp.setSize(SWT.DEFAULT, 32);
GridLayoutFactory.swtDefaults().margins(3, 3).applyTo(comp);
updateQuickAccessTriggerSequence();
- quickAccessButton = createButton(comp);
+ quickAccessButton = createQuickAccessToolbar(comp);
updateQuickAccessText();
quickAccessButton.addSelectionListener(SelectionListener.widgetSelectedAdapter(e -> {
@@ -121,27 +122,35 @@ public class SearchField {
}
}
- private Button createButton(Composite parent) {
- Button res = new Button(parent, SWT.PUSH | SWT.FLAT);
- GridDataFactory.swtDefaults().align(SWT.CENTER, SWT.CENTER).applyTo(res);
+ private ToolItem createQuickAccessToolbar(Composite parent) {
+ Composite comp = new Composite(parent, SWT.NONE);
+ RowLayout layout = new RowLayout(SWT.HORIZONTAL);
+ layout.marginLeft = layout.marginRight = 8;
+ layout.marginBottom = 0;
+ layout.marginTop = 0;
+ comp.setLayout(layout);
+ ToolBar toolbar = new ToolBar(comp, SWT.FLAT | SWT.WRAP | SWT.RIGHT);
+
+ ToolItem quickAccessToolItem = new ToolItem(toolbar, SWT.PUSH);
+
try {
- res.setText(quickAccessCommand.getName());
+ quickAccessToolItem.setText(quickAccessCommand.getName());
} catch (NotDefinedException e) {
WorkbenchPlugin.log(e);
}
ImageDescriptor imageDescriptor = commandImageService.getImageDescriptor(quickAccessCommand.getId());
if (imageDescriptor != null) {
Image image = imageDescriptor.createImage();
- res.setImage(image);
- res.addDisposeListener(e -> image.dispose());
+ quickAccessToolItem.setImage(image);
+ quickAccessToolItem.addDisposeListener(e -> image.dispose());
}
- res.addMenuDetectListener(e -> {
- if (res.getMenu() == null) {
- res.setMenu(parent.getMenu());
+ toolbar.addMenuDetectListener(e -> {
+ if (toolbar.getMenu() == null) {
+ toolbar.setMenu(parent.getMenu());
e.doit = true;
}
});
- return res;
+ return quickAccessToolItem;
}
private void updateQuickAccessText() {
@@ -156,7 +165,7 @@ public class SearchField {
} else {
quickAccessButton.setToolTipText(QuickAccessMessages.QuickAccess_TooltipDescription_Empty);
}
- quickAccessButton.requestLayout();
+ quickAccessButton.getParent().requestLayout();
}

Back to the top