diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Activator.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Activator.java index c4c884e8e5a..f5164f7cd7a 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Activator.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Activator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 QNX Software Systems and others. + * Copyright (c) 2014, 2015 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal; @@ -53,6 +54,7 @@ public class Activator extends AbstractUIPlugin { // Preference ids public static final String PREF_ENABLE_LAUNCHBAR = "enableLaunchBar"; //$NON-NLS-1$ + public static final String PREF_ENABLE_TARGETSELECTOR = "enableTargetSelector"; //$NON-NLS-1$ public static final String PREF_LAUNCH_HISTORY_SIZE = "launchHistorySize"; //$NON-NLS-1$ // The shared instance diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarInjector.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarInjector.java index ad697e01050..ce87ead0b42 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarInjector.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarInjector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 QNX Software Systems and others. + * Copyright (c) 2014, 2014 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal; @@ -71,6 +72,14 @@ public class LaunchBarInjector { boolean enabled = Boolean.parseBoolean(event.getNewValue().toString()); injectIntoAll(enabled); } + if (event.getProperty().equals(Activator.PREF_ENABLE_TARGETSELECTOR)) { + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + boolean enabled = store.getBoolean(Activator.PREF_ENABLE_LAUNCHBAR); + if (enabled){ + injectIntoAll(false); + injectIntoAll(true); + } + } } }); } diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferenceInitializer.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferenceInitializer.java index 6aff0a56f42..3cde32d1a02 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferenceInitializer.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferenceInitializer.java @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal; @@ -19,6 +20,7 @@ public class LaunchBarPreferenceInitializer extends AbstractPreferenceInitialize public void initializeDefaultPreferences() { IPreferenceStore store = Activator.getDefault().getPreferenceStore(); store.setDefault(Activator.PREF_ENABLE_LAUNCHBAR, true); + store.setDefault(Activator.PREF_ENABLE_TARGETSELECTOR, true); store.setDefault(Activator.PREF_LAUNCH_HISTORY_SIZE, 3); } diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferencePage.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferencePage.java index 3016001605b..814222893aa 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferencePage.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/LaunchBarPreferencePage.java @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal; @@ -31,6 +32,7 @@ public class LaunchBarPreferencePage extends FieldEditorPreferencePage implement @Override protected void createFieldEditors() { addField(new BooleanFieldEditor(Activator.PREF_ENABLE_LAUNCHBAR, Messages.LaunchBarPreferencePage_1, getFieldEditorParent())); + addField(new BooleanFieldEditor(Activator.PREF_ENABLE_TARGETSELECTOR, Messages.LaunchBarPreferencePage_EnableTargetSelector, getFieldEditorParent())); } } diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Messages.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Messages.java index b6421bd3531..1621a8ce5f8 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Messages.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 QNX Software Systems and others. + * Copyright (c) 2014, 2015 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal; @@ -32,6 +33,7 @@ public class Messages extends NLS { public static String LaunchBarListViewer_0; public static String LaunchBarPreferencePage_0; public static String LaunchBarPreferencePage_1; + public static String LaunchBarPreferencePage_EnableTargetSelector; public static String LaunchConfigurationEditDialog_0; public static String LaunchConfigurationEditDialog_1; public static String LaunchConfigurationEditDialog_2; diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/LaunchBarControl.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/LaunchBarControl.java index 768601e22c0..b527c1329bc 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/LaunchBarControl.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/LaunchBarControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 QNX Software Systems and others. + * Copyright (c) 2014, 2015 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Doug Schaefer + * Torkild U. Resheim - add preference to control target selector *******************************************************************************/ package org.eclipse.launchbar.ui.internal.controls; @@ -14,7 +15,7 @@ import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.eclipse.debug.core.ILaunchMode; - +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.launchbar.core.ILaunchDescriptor; import org.eclipse.launchbar.core.internal.LaunchBarManager; import org.eclipse.launchbar.core.internal.LaunchBarManager.Listener; @@ -75,13 +76,17 @@ public class LaunchBarControl implements Listener { configSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); configSelector.setInput(manager); - Label label = new Label(container, SWT.NONE); - label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); - label.setText(Messages.LaunchBarControl_0 + ":"); //$NON-NLS-1$ - - targetSelector = new TargetSelector(container, SWT.NONE); - targetSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); - targetSelector.setInput(manager); + IPreferenceStore store = Activator.getDefault().getPreferenceStore(); + boolean enabled = store.getBoolean(Activator.PREF_ENABLE_TARGETSELECTOR); + if (enabled) { + Label label = new Label(container, SWT.NONE); + label.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); + label.setText(Messages.LaunchBarControl_0 + ":"); //$NON-NLS-1$ + + targetSelector = new TargetSelector(container, SWT.NONE); + targetSelector.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); + targetSelector.setInput(manager); + } syncSelectors(); } @@ -147,7 +152,9 @@ public class LaunchBarControl implements Listener { @Override public void launchTargetsChanged() { - targetSelector.refresh(); + if (targetSelector!=null){ + targetSelector.refresh(); + } } public ConfigSelector getConfigSelector() { diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/messages.properties b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/messages.properties index 0484937e241..d1d335eb26f 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/messages.properties +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/messages.properties @@ -16,6 +16,7 @@ LaunchBarControl_Stop=Stop LaunchBarListViewer_0=Increase/Decrease size of recently used elements pane LaunchBarPreferencePage_0=Preferences for the Launch Bar. LaunchBarPreferencePage_1=Enable the Launch Bar. +LaunchBarPreferencePage_EnableTargetSelector=Enable the target selector. LaunchConfigurationEditDialog_0=Delete LaunchConfigurationEditDialog_1=Duplicate LaunchConfigurationEditDialog_2=Launch