Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsarsenau2002-05-16 18:34:40 +0000
committersarsenau2002-05-16 18:34:40 +0000
commit2fdfe61c5dda218094844874ce2ae985fb408fad (patch)
tree05bad16ad672be6a97e55f6f2917e5430e6e9206
parent943011a32fb099e673e4154b1e358a3a393fff19 (diff)
downloadeclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.tar.gz
eclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.tar.xz
eclipse.platform.debug-2fdfe61c5dda218094844874ce2ae985fb408fad.zip
Honor auto-save preference
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/core/ToolUtil.java18
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntAction.java12
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/AntLaunchWizard.java1
-rw-r--r--org.eclipse.ui.externaltools/External Tools/org/eclipse/ui/externaltools/internal/ui/ExternalToolsAction.java10
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());
}

Back to the top