diff options
author | sarsenau | 2002-05-16 18:34:40 +0000 |
---|---|---|
committer | sarsenau | 2002-05-16 18:34:40 +0000 |
commit | 2fdfe61c5dda218094844874ce2ae985fb408fad (patch) | |
tree | 05bad16ad672be6a97e55f6f2917e5430e6e9206 | |
parent | 943011a32fb099e673e4154b1e358a3a393fff19 (diff) | |
download | eclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.tar.gz eclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.tar.xz eclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.zip |
Honor auto-save preference
4 files changed, 28 insertions, 13 deletions
diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java index d59dcef0b..97f7dd866 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java @@ -11,6 +11,7 @@ Contributors: **********************************************************************/ import java.util.ArrayList; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; @@ -186,6 +187,23 @@ public final class ToolUtil { } /** + * Saves any dirty editors if user preference + */ + public static void saveDirtyEditors(IWorkbenchWindow window) { + IPreferenceStore store = ExternalToolsPlugin.getDefault().getPreferenceStore(); + boolean autoSave = store.getBoolean(IPreferenceConstants.AUTO_SAVE); + if (autoSave) { + IWorkbenchWindow[] windows = window.getWorkbench().getWorkbenchWindows(); + for (int i=0; i < windows.length; i++) { + IWorkbenchPage[] pages = windows[i].getPages(); + for (int j = 0; j < pages.length; j++) { + pages[j].saveAllEditors(false); + } + } + } + } + + /** * Forces the log console view to open. Returns the view * part if successful, otherwise <code>null</code>. */ diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntAction.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntAction.java index 09619ad72..9493e2ca0 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntAction.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntAction.java @@ -45,8 +45,6 @@ public class AntAction extends Action { if (file == null) return; - saveDirtyEditors(); - AntTargetList targetList = AntUtil.getTargetList(file.getLocation()); if (targetList == null) { MessageDialog.openError( @@ -62,14 +60,4 @@ public class AntAction extends Action { dialog.create(); dialog.open(); } - - /** - * Saves any dirty editors if user preference - */ - private void saveDirtyEditors() { - IPreferenceStore store = ExternalToolsPlugin.getDefault().getPreferenceStore(); - boolean autoSave = store.getBoolean(IPreferenceConstants.AUTO_SAVE); - if (autoSave) - window.getActivePage().saveAllEditors(false); - } }
\ No newline at end of file diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntLaunchWizard.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntLaunchWizard.java index e8d7c85b8..da5f14156 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntLaunchWizard.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntLaunchWizard.java @@ -104,6 +104,7 @@ public class AntLaunchWizard extends Wizard { */ public boolean performFinish() { updateTool(); + ToolUtil.saveDirtyEditors(window); if (antTool.getShowLog()) { ToolUtil.showLogConsole(window); ToolUtil.clearLogDocument(); diff --git a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/ExternalToolsAction.java b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/ExternalToolsAction.java index 202b5f72c..c4adcc1ed 100644 --- a/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/ExternalToolsAction.java +++ b/org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/ExternalToolsAction.java @@ -33,6 +33,7 @@ import org.eclipse.ui.externaltools.internal.core.DefaultRunnerContext; import org.eclipse.ui.externaltools.internal.core.ExternalTool; import org.eclipse.ui.externaltools.internal.core.ExternalToolsPlugin; import org.eclipse.ui.externaltools.internal.core.ToolMessages; +import org.eclipse.ui.externaltools.internal.core.ToolUtil; /** * This action will display the external tool configuration dialog. @@ -163,7 +164,14 @@ public class ExternalToolsAction extends ActionDelegate implements IWorkbenchWin private void runTool(ExternalTool tool) { if (tool == null) return; - + + ToolUtil.saveDirtyEditors(window); + + if (tool.getShowLog()) { + ToolUtil.showLogConsole(window); + ToolUtil.clearLogDocument(); + } + DefaultRunnerContext context = new DefaultRunnerContext(tool, null, window.getWorkbench().getWorkingSetManager()); context.run(null, window.getShell()); } |