diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java index b00251a6e4c..29dab8c8552 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/language/settings/providers/LanguageSettingsProviderTab.java @@ -731,25 +731,25 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab { ILanguageSettingsProvider provider = getSelectedProvider(); String id = (provider!=null) ? provider.getId() : null; - boolean isGlobal = LanguageSettingsManager.isWorkspaceProvider(provider); ILanguageSettingsProvider rawProvider = LanguageSettingsManager.getRawProvider(provider); currentOptionsPage = optionsPageMap.get(id); boolean isChecked = tableProvidersViewer.getChecked(provider); if (!page.isForPrefs()) { + boolean isShared = isPresentedAsShared(provider); boolean isRawProviderEditable = rawProvider instanceof ILanguageSettingsEditableProvider; - sharedProviderCheckBox.setSelection(isPresentedAsShared(provider)); + sharedProviderCheckBox.setSelection(isShared); sharedProviderCheckBox.setEnabled(isChecked && isRawProviderEditable); - sharedProviderCheckBox.setVisible(provider!=null); + sharedProviderCheckBox.setVisible(provider != null); - projectStorageCheckBox.setEnabled(!isGlobal); + projectStorageCheckBox.setEnabled(!isShared && isChecked); projectStorageCheckBox.setVisible(rawProvider instanceof LanguageSettingsSerializableProvider); projectStorageCheckBox.setSelection(provider instanceof LanguageSettingsSerializableProvider && LanguageSettingsManager.isStoringEntriesInProjectArea((LanguageSettingsSerializableProvider) provider)); - boolean needPreferencesLink=isGlobal && currentOptionsPage!=null; + boolean needPreferencesLink = isShared && currentOptionsPage != null; // TODO: message final String linkMsg = needPreferencesLink ? "Options of global providers below can be changed in Workspace Settings, Discovery Tab." : ""; linkWorkspacePreferences.setText(linkMsg);