1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Fixed losing selection after "Restore Defaults" in some cases.

This commit is contained in:
Andrew Gvozdev 2011-08-15 14:40:51 -04:00
parent 36c081996e
commit af5998ac94

View file

@ -477,7 +477,9 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
String selectedId = selectedProvider!=null ? selectedProvider.getId() : null; String selectedId = selectedProvider!=null ? selectedProvider.getId() : null;
// update viewer if the list of providers changed // update viewer if the list of providers changed
int pos = tableProviders.getSelectionIndex();
tableProvidersViewer.setInput(presentedProviders); tableProvidersViewer.setInput(presentedProviders);
tableProviders.setSelection(pos);
ICConfigurationDescription cfgDescription = getConfigurationDescription(); ICConfigurationDescription cfgDescription = getConfigurationDescription();
if (cfgDescription!=null) { if (cfgDescription!=null) {
@ -544,7 +546,10 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
// renders better when using temporary // renders better when using temporary
presentedProviders = providers; presentedProviders = providers;
int pos = tableProviders.getSelectionIndex();
tableProvidersViewer.setInput(presentedProviders); tableProvidersViewer.setInput(presentedProviders);
tableProviders.setSelection(pos);
} }
private ICOptionPage createOptionsPage(ILanguageSettingsProvider provider, ICConfigurationDescription cfgDescription) { private ICOptionPage createOptionsPage(ILanguageSettingsProvider provider, ICConfigurationDescription cfgDescription) {
@ -891,7 +896,6 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
} }
} else if (page.isForPrefs()) { } else if (page.isForPrefs()) {
int pos = tableProviders.getSelectionIndex();
List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(presentedProviders); List<ILanguageSettingsProvider> providers = new ArrayList<ILanguageSettingsProvider>(presentedProviders);
for (int i=0;i<providers.size();i++) { for (int i=0;i<providers.size();i++) {
ILanguageSettingsProvider provider = providers.get(i); ILanguageSettingsProvider provider = providers.get(i);
@ -903,6 +907,8 @@ public class LanguageSettingsProviderTab extends AbstractCPropertyTab {
} }
// seems to render better when temporary is used // seems to render better when temporary is used
presentedProviders = providers; presentedProviders = providers;
int pos = tableProviders.getSelectionIndex();
tableProvidersViewer.setInput(presentedProviders); tableProvidersViewer.setInput(presentedProviders);
tableProviders.setSelection(pos); tableProviders.setSelection(pos);