diff options
author | Walter Harley | 2006-04-13 22:33:03 +0000 |
---|---|---|
committer | Walter Harley | 2006-04-13 22:33:03 +0000 |
commit | ba817bc66501a247c08115b9c5d0975672ee47ce (patch) | |
tree | c48b1bf38757413de32046add712daf303de698e /org.eclipse.jdt.apt.ui | |
parent | 931f9abc01ffde10b8deb0208d22a402929fa505 (diff) | |
download | eclipse.jdt.core-ba817bc66501a247c08115b9c5d0975672ee47ce.tar.gz eclipse.jdt.core-ba817bc66501a247c08115b9c5d0975672ee47ce.tar.xz eclipse.jdt.core-ba817bc66501a247c08115b9c5d0975672ee47ce.zip |
bug 136498: make it easier for users to enable APT via the UI. Remove workspace pref panes, fix help, automatically check "enable APT".
Diffstat (limited to 'org.eclipse.jdt.apt.ui')
3 files changed, 28 insertions, 2 deletions
diff --git a/org.eclipse.jdt.apt.ui/plugin.xml b/org.eclipse.jdt.apt.ui/plugin.xml index 6b18d3d783..91b47ee0e1 100644 --- a/org.eclipse.jdt.apt.ui/plugin.xml +++ b/org.eclipse.jdt.apt.ui/plugin.xml @@ -5,7 +5,8 @@ <!-- =================================================================================== --> <!-- Extension: Preferences --> <!-- =================================================================================== --> - <extension + <!-- Disabled: see Bugzilla 136498 + extension point="org.eclipse.ui.preferencePages"> <page category="org.eclipse.jdt.ui.preferences.CompliancePreferencePage" @@ -17,7 +18,7 @@ class="org.eclipse.jdt.apt.ui.internal.preferences.FactoryPathPreferencePage" id="org.eclipse.jdt.apt.ui.preferences.factoryPathPreferences" name="%factoryPathName"/> - </extension> + </extension --> <extension point="org.eclipse.ui.propertyPages"> <page diff --git a/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/AptConfigurationBlock.java b/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/AptConfigurationBlock.java index 21d8b3f656..4cf7a2f658 100644 --- a/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/AptConfigurationBlock.java +++ b/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/AptConfigurationBlock.java @@ -87,6 +87,9 @@ public class AptConfigurationBlock extends BaseConfigurationBlock { private String fOriginalGenSrcDir; private boolean fOriginalAptEnabled; + // used to distinguish actual changes from re-setting of same value - see useProjectSpecificSettings() + private boolean fPerProjSettingsEnabled; + /** * Event handler for Processor Options list control. */ @@ -307,6 +310,7 @@ public class AptConfigurationBlock extends BaseConfigurationBlock { fOriginalProcOptions= AptConfig.getRawProcessorOptions(fJProj); fOriginalGenSrcDir = AptConfig.getGenSrcDir(fJProj); fOriginalAptEnabled = AptConfig.isEnabled(fJProj); + fPerProjSettingsEnabled = hasProjectSpecificOptionsNoCache(fProject); } protected void initContents() { @@ -442,6 +446,18 @@ public class AptConfigurationBlock extends BaseConfigurationBlock { } /** + * Bugzilla 136498: when project-specific settings are enabled, force APT to be enabled. + */ + @Override + public void useProjectSpecificSettings(boolean enable) { + super.useProjectSpecificSettings(enable); + if (enable ^ fPerProjSettingsEnabled) { + fAptEnabledField.setSelection(enable); + fPerProjSettingsEnabled = enable; + } + } + + /** * Save the contents of the options list. */ private void saveProcessorOptions(List<ProcessorOption> elements) { @@ -469,6 +485,7 @@ public class AptConfigurationBlock extends BaseConfigurationBlock { @Override public void performDefaults() { + fPerProjSettingsEnabled = false; if (fJProj != null) { // If project-specific, load workspace settings loadProcessorOptions(null); diff --git a/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/BasePreferencePage.java b/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/BasePreferencePage.java index 6cebaa5afb..f96b4c13d8 100644 --- a/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/BasePreferencePage.java +++ b/org.eclipse.jdt.apt.ui/src/org/eclipse/jdt/apt/ui/internal/preferences/BasePreferencePage.java @@ -75,6 +75,14 @@ public abstract class BasePreferencePage extends PropertyAndPreferencePage { return getConfigurationBlock().hasProjectSpecificOptionsNoCache(project); } + /* + * See bug 136498: don't show workspace preferences. + */ + @Override + protected boolean offerLink() { + return false; + } + /* * @see org.eclipse.jface.preference.IPreferencePage#performApply() */ |