mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Bug 357928: Odd behavior of indexer properties page.
This commit is contained in:
parent
4e00674583
commit
12d4746a36
1 changed files with 8 additions and 2 deletions
|
@ -88,6 +88,7 @@ public class IndexerBlock extends AbstractCOptionPage {
|
||||||
private Combo fBuildConfigComboBox;
|
private Combo fBuildConfigComboBox;
|
||||||
private ControlEnableState fEnableState;
|
private ControlEnableState fEnableState;
|
||||||
private Group fBuildConfigGroup;
|
private Group fBuildConfigGroup;
|
||||||
|
private int fLastScope;
|
||||||
|
|
||||||
public IndexerBlock(){
|
public IndexerBlock(){
|
||||||
super(INDEXER_LABEL);
|
super(INDEXER_LABEL);
|
||||||
|
@ -381,7 +382,9 @@ public class IndexerBlock extends AbstractCOptionPage {
|
||||||
|
|
||||||
protected void onPreferenceScopeChange() {
|
protected void onPreferenceScopeChange() {
|
||||||
int scope= computeScope();
|
int scope= computeScope();
|
||||||
if (fCurrentProperties == null || scope != IndexerPreferences.SCOPE_PROJECT_PRIVATE) {
|
if (fCurrentProperties == null || scope == IndexerPreferences.SCOPE_INSTANCE
|
||||||
|
|| (fLastScope == IndexerPreferences.SCOPE_INSTANCE
|
||||||
|
&& scope == IndexerPreferences.SCOPE_PROJECT_SHARED)) {
|
||||||
Properties props= IndexerPreferences.getProperties(getProject(), scope);
|
Properties props= IndexerPreferences.getProperties(getProject(), scope);
|
||||||
|
|
||||||
String indexerId= props.getProperty(IndexerPreferences.KEY_INDEXER_ID);
|
String indexerId= props.getProperty(IndexerPreferences.KEY_INDEXER_ID);
|
||||||
|
@ -393,14 +396,17 @@ public class IndexerBlock extends AbstractCOptionPage {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fCurrentProperties= props;
|
fCurrentProperties= props;
|
||||||
|
} else {
|
||||||
|
fCurrentProperties.putAll(fCurrentPage.getProperties());
|
||||||
}
|
}
|
||||||
updateForNewProperties(scope);
|
updateForNewProperties(scope);
|
||||||
updateBuildConfigForScope(scope);
|
updateBuildConfigForScope(scope);
|
||||||
|
fLastScope= scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateForNewProperties(int scope) {
|
private void updateForNewProperties(int scope) {
|
||||||
String indexerId= fCurrentProperties.getProperty(IndexerPreferences.KEY_INDEXER_ID);
|
String indexerId= fCurrentProperties.getProperty(IndexerPreferences.KEY_INDEXER_ID);
|
||||||
if (indexerId.equals(IPDOMManager.ID_NO_INDEXER)) {
|
if (IPDOMManager.ID_NO_INDEXER.equals(indexerId)) {
|
||||||
fEnableIndexer.setSelection(false);
|
fEnableIndexer.setSelection(false);
|
||||||
} else {
|
} else {
|
||||||
fEnableIndexer.setSelection(true);
|
fEnableIndexer.setSelection(true);
|
||||||
|
|
Loading…
Add table
Reference in a new issue