diff --git a/bundles/org.eclipse.launchbar.core/src/org/eclipse/launchbar/core/internal/LaunchBarManager.java b/bundles/org.eclipse.launchbar.core/src/org/eclipse/launchbar/core/internal/LaunchBarManager.java index ca8787cb1f3..a982bfe30ef 100644 --- a/bundles/org.eclipse.launchbar.core/src/org/eclipse/launchbar/core/internal/LaunchBarManager.java +++ b/bundles/org.eclipse.launchbar.core/src/org/eclipse/launchbar/core/internal/LaunchBarManager.java @@ -868,6 +868,7 @@ public class LaunchBarManager implements ILaunchBarManager, IRemoteConnectionCha fireLaunchTargetsChanged(); break; default: + fireLaunchTargetsChanged(); break; } } diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/CSelector.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/CSelector.java index 53bfc7eca7c..3b790248664 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/CSelector.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/controls/CSelector.java @@ -52,6 +52,7 @@ import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.PlatformUI; public abstract class CSelector extends Composite { private IStructuredContentProvider contentProvider; @@ -557,7 +558,15 @@ public abstract class CSelector extends Composite { } public void refresh() { - // TODO add any new ones to the popup if it's open + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + update(selection); // update current selection - name or icon may have changed + if (popup != null && !popup.isDisposed()) { + listViewer.refresh(true); // update all labels in the popup + } + } + }); } public void update(Object element) { 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 8c3959e5396..768601e22c0 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 @@ -108,6 +108,7 @@ public class LaunchBarControl implements Listener { button.setImage(srcImage); button.setToolTipText(toolTipText); button.addSelectionListener(new SelectionAdapter() { + @Override public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) { Activator.runCommand(command); }; @@ -146,8 +147,7 @@ public class LaunchBarControl implements Listener { @Override public void launchTargetsChanged() { - // TODO Auto-generated method stub - + targetSelector.refresh(); } public ConfigSelector getConfigSelector() {