diff options
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java')
-rw-r--r-- | org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java | 31 |
1 files changed, 6 insertions, 25 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java index 8b8500256..527709750 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/actions/LaunchAction.java @@ -15,14 +15,8 @@ import java.util.ArrayList; import java.util.Set; import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchManager; import org.eclipse.debug.internal.ui.DebugUIPlugin; import org.eclipse.debug.internal.ui.IDebugHelpContextIds; import org.eclipse.debug.internal.ui.IInternalDebugUIConstants; @@ -35,7 +29,6 @@ import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialogWithToggle; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Event; import org.eclipse.ui.PlatformUI; @@ -84,24 +77,13 @@ public class LaunchAction extends Action { */ @Override public void run() { - DebugUITools.launch(fConfiguration, fMode); + runInternal(false); } - private void terminateIfPreferred(boolean isShift) { - if (DebugUIPlugin.getDefault().getPreferenceStore().getBoolean(IInternalDebugUIConstants.PREF_TERMINATE_AND_RELAUNCH_LAUNCH_ACTION) != isShift) { - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunch[] launches = launchManager.getLaunches(); - for (ILaunch iLaunch : launches) { - if (fConfiguration.contentsEqual(iLaunch.getLaunchConfiguration())) { - try { - iLaunch.terminate(); - } catch (DebugException e) { - DebugUIPlugin.log(new Status(IStatus.ERROR, DebugUIPlugin.getUniqueIdentifier(), NLS.bind(ActionMessages.TerminateAndLaunchFailure, iLaunch.getLaunchConfiguration().getName()), e)); - } - } - } - } + private void runInternal(boolean isShift) { + DebugUITools.launch(fConfiguration, fMode, isShift); } + /** * If the user has control-clicked the launch history item, open the launch * configuration dialog on the launch configuration, rather than running it. @@ -140,12 +122,11 @@ public class LaunchAction extends Action { DebugUITools.openLaunchConfigurationDialogOnGroup(DebugUIPlugin.getShell(), new StructuredSelection(fConfiguration), group.getIdentifier()); } else { - run(); + runInternal(((event.stateMask & SWT.SHIFT) > 0) ? true : false); } } else { - terminateIfPreferred(((event.stateMask & SWT.SHIFT) > 0) ? true : false); - run(); + runInternal(((event.stateMask & SWT.SHIFT) > 0) ? true : false); } } |