ref #10305: fix doubled entries
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / LanguageRepresentationPreferencePage.java
index 890ca3612300d56278aebd10d3469757adb2bb0a..0ff9019784a7b59af027a532030030c11941a2ae 100644 (file)
@@ -26,6 +26,7 @@ import org.eclipse.swt.widgets.Label;
 import eu.etaxonomy.cdm.model.common.Language;\r
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;\r
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;\r
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;\r
 import eu.etaxonomy.cdm.model.term.TermType;\r
 import eu.etaxonomy.taxeditor.l10n.Messages;\r
 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;\r
@@ -45,7 +46,7 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
     protected CdmPreference termLanguagePref =null;\r
     protected boolean overrideActivated;\r
     protected Button allowOverrideOrderButton;\r
-    private String defaultSettings = "Use default settings";\r
+    private String defaultSettings = "Default settings";\r
     protected Combo combo_globalLanguage;\r
 \r
 //     private Composite createComposite(Composite parent){\r
@@ -86,26 +87,24 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
                final Label labelFree = new Label(composite, SWT.NONE);\r
            // label.setText(Messages.LanguageRepresentationPreferencePage_global);\r
 \r
-               Combo combo_globalLanguage = new Combo(composite, SWT.NONE);\r
-\r
-               List<Language> preferredLanguages = CdmStore.getTermManager().getPreferredTerms(TermType.Language);\r
-\r
+               //combo_globalLanguage = new Combo(composite, SWT.NONE);\r
+               \r
+               List<DefinedTermBase> preferredLanguages = CdmStore.getTermManager().getPreferredTerms(TermType.Language);\r
+               combo_globalLanguage = createComboTerms(composite, preferredLanguages, PreferencePredicate.TermLanguage, "Term Language", isAdminPreference);\r
 \r
 \r
 \r
                for(int i = 0; i < preferredLanguages.size(); i++){\r
-                       Language language = preferredLanguages.get(i);\r
-                       combo_globalLanguage.add(language.getLabel(), i);\r
-                       combo_globalLanguage.setData(language.getLabel(), language);\r
+                       Language language = (Language)preferredLanguages.get(i);\r
+                       \r
                        if(language.equals(globalLanguage)){\r
                                curentSelectionIndex = i;\r
                        }\r
                }\r
-               if (!isAdminPreference) {\r
-                combo_globalLanguage.add("Use default settings", 0);\r
-                curentSelectionIndex++;\r
-            }\r
 \r
+               if (curentSelectionIndex != 0) {\r
+                   curentSelectionIndex ++;\r
+               }\r
                combo_globalLanguage.select(curentSelectionIndex);\r
 \r
                combo_globalLanguage.addSelectionListener(new SelectionAdapter() {\r
@@ -116,7 +115,7 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
                        public void widgetSelected(SelectionEvent e) {\r
 \r
                                int selectionIndex = combo_globalLanguage.getSelectionIndex();\r
-                               if (combo_globalLanguage.getItem(selectionIndex).equals(defaultSettings)){\r
+                               if (combo_globalLanguage.getItem(selectionIndex).startsWith(Messages.Preference_Use_Default)){\r
                            overrideActivated = false;\r
                        }else {\r
                            globalLanguage = (Language)combo_globalLanguage.getData(combo_globalLanguage.getItem(selectionIndex));\r
@@ -169,7 +168,11 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
                 }\r
                 //globalLanguage = Language.getLanguageFromUuid(UUID.fromString(PreferencesUtil.getStringValue(PreferencePredicate.TermLanguage.getKey(), true)));\r
             } else {\r
-                globalLanguage = termLanguagePref.getValue() != null? Language.getLanguageFromUuid(UUID.fromString(termLanguagePref.getValue())): CdmStore.getDefaultLanguage();\r
+                if(!overrideActivated){\r
+                    globalLanguage = null;\r
+                }else{\r
+                    globalLanguage = termLanguagePref.getValue() != null? Language.getLanguageFromUuid(UUID.fromString(termLanguagePref.getValue())): CdmStore.getDefaultLanguage();\r
+                }\r
             }\r
 \r
         } else {\r
@@ -199,4 +202,17 @@ public class LanguageRepresentationPreferencePage extends CdmPreferencePage{
        // }\r
                return super.performOk();\r
        }\r
+       \r
+       @Override\r
+    protected void performDefaults() {\r
+\r
+           globalLanguage =  null;\r
+           \r
+           combo_globalLanguage.select(0);\r
+           overrideActivated = false;\r
+        \r
+        setApply(true);\r
+\r
+    }\r
+       \r
 }\r