Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Ostroukhov2011-09-27 12:29:24 +0000
committerAndrew Gvozdev2011-09-27 12:36:53 +0000
commitaf1c5a901fe350bb27baf0282e40be6f2aa882b8 (patch)
treeed02f386ce55cdebff5f6c36c150df1dc474f445
parent150793bfcce15d53abb09f14de1fd31fa0c5d8e1 (diff)
downloadorg.eclipse.cdt-af1c5a901fe350bb27baf0282e40be6f2aa882b8.tar.gz
org.eclipse.cdt-af1c5a901fe350bb27baf0282e40be6f2aa882b8.tar.xz
org.eclipse.cdt-af1c5a901fe350bb27baf0282e40be6f2aa882b8.zip
bug 358832: Includes and Symbols tabs do not remember selected language
-rw-r--r--core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java
index 7528b6f7fde..354891faf92 100644
--- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java
+++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/newui/AbstractLangsListTab.java
@@ -35,7 +35,6 @@ import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
@@ -119,6 +118,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
};
private static final Comparator<Object> comp = CDTListComparator.getInstance();
+ private static String selectedLanguageId;
private final static Image IMG_FOLDER = CDTSharedImages.getImage(CDTSharedImages.IMG_OBJS_FOLDER);
private final static Image IMG_INCLUDES_FOLDER = CDTSharedImages.getImage(CDTSharedImages.IMG_OBJS_INCLUDES_FOLDER);
@@ -291,6 +291,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
ICLanguageSetting langSetting = (ICLanguageSetting) items[0].getData();
if (langSetting != null) {
lang = langSetting;
+ selectedLanguageId = lang.getLanguageId();
update();
}
}
@@ -372,7 +373,7 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
if (rcDes == null || !canBeVisible()) return;
updateExport();
langTree.removeAll();
- TreeItem firstItem = null;
+ TreeItem selectedItem = null;
ls = getLangSetting(rcDes);
if (ls != null) {
Arrays.sort(ls, CDTListComparator.getInstance());
@@ -392,15 +393,15 @@ public abstract class AbstractLangsListTab extends AbstractCPropertyTab {
langId = langSetting.getName();
t.setText(0, langId);
t.setData(langSetting);
- if (firstItem == null) {
- firstItem = t;
+ if (selectedItem == null || langSetting.getLanguageId().equals(selectedLanguageId)) {
+ selectedItem = t;
lang = langSetting;
}
}
}
- if (firstItem != null && table != null) {
- langTree.setSelection(firstItem);
+ if (selectedItem != null && table != null) {
+ langTree.setSelection(selectedItem);
}
}
update();

Back to the top