diff options
4 files changed, 32 insertions, 5 deletions
diff --git a/org.eclipse.jface.text/META-INF/MANIFEST.MF b/org.eclipse.jface.text/META-INF/MANIFEST.MF index 578fa9d70bf..e463a5b293d 100644 --- a/org.eclipse.jface.text/META-INF/MANIFEST.MF +++ b/org.eclipse.jface.text/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.jface.text -Bundle-Version: 3.4.100.qualifier +Bundle-Version: 3.5.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Export-Package: diff --git a/org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateStore.java b/org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateStore.java index a246bc3946c..10bceecb54c 100644 --- a/org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateStore.java +++ b/org.eclipse.jface.text/src/org/eclipse/jface/text/templates/persistence/TemplateStore.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation 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 @@ -276,20 +276,47 @@ public class TemplateStore { /** * Deletes all user-added templates and reverts all contributed templates. + * + * @param doSave <code>true</code> if the store should be saved after restoring + * @since 3.5 */ - public void restoreDefaults() { + public void restoreDefaults(boolean doSave) { + String oldValue= null; + if (!doSave) + oldValue= fPreferenceStore.getString(fKey); + try { fIgnorePreferenceStoreChanges= true; fPreferenceStore.setToDefault(fKey); } finally { fIgnorePreferenceStoreChanges= false; } + try { load(); } catch (IOException x) { // can't log from jface-text x.printStackTrace(); } + + if (oldValue != null) { + try { + fIgnorePreferenceStoreChanges= true; + fPreferenceStore.putValue(fKey, oldValue); + } finally { + fIgnorePreferenceStoreChanges= false; + } + } + } + + /** + * Deletes all user-added templates and reverts all contributed templates. + * <p> + * <strong>Note:</strong> the store will be saved after restoring. + * </p> + */ + public void restoreDefaults() { + restoreDefaults(true); } /** diff --git a/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF b/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF index a38032ab1af..72ec04af112 100644 --- a/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF +++ b/org.eclipse.ui.workbench.texteditor/META-INF/MANIFEST.MF @@ -24,7 +24,7 @@ Export-Package: Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.2.0,4.0.0)", org.eclipse.core.expressions;bundle-version="[3.2.0,4.0.0)", - org.eclipse.jface.text;bundle-version="[3.4.0,4.0.0)", + org.eclipse.jface.text;bundle-version="[3.5.0,4.0.0)", org.eclipse.ui;bundle-version="[3.4.0,4.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Import-Package: com.ibm.icu.text diff --git a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java index c7090684f06..e57aaacbd08 100644 --- a/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java +++ b/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/templates/TemplatePreferencePage.java @@ -1388,7 +1388,7 @@ public abstract class TemplatePreferencePage extends PreferencePage implements I fFormatButton.setSelection(prefs.getDefaultBoolean(getFormatterPreferenceKey())); } - fTemplateStore.restoreDefaults(); + fTemplateStore.restoreDefaults(false); // refresh fTableViewer.refresh(); |