ref #8385: fix general and abcd pages
authorKatja Luther <k.luther@bgbm.org>
Mon, 26 Aug 2019 12:43:45 +0000 (14:43 +0200)
committerKatja Luther <k.luther@bgbm.org>
Mon, 26 Aug 2019 12:43:45 +0000 (14:43 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/AbcdImportPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/GeneralPreferencePage.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ListComponent.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NameDetailsViewConfiguration.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishFlagLocalPreference.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/menu/CdmPreferencePage.java

index f3acfdc60c2993f41373e91e93d85679fc42ab8d..7b496308a7dd99d667ce6e3fc9fb1d5ef8a7f3a4 100755 (executable)
@@ -392,7 +392,7 @@ public class AbcdImportPreference extends CdmPreferencePage implements IE4Prefer
             nomenclaturalCodeSelectionCombo.select(index);
         }
         if (isAdminPreference){
-            checkAllowOverride.setSelection(allowOverride);
+            checkAllowOverride.setSelection(allowOverride || preference == null);
         }else{
             checkAllowOverride.setSelection(override);
         }
index d002c6f3aa865625ab77f07d8d08877364e1791c..56c9ad1dafaf562f34088ee331baeeca1384973b 100755 (executable)
@@ -74,17 +74,11 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
 
         showIOMenuButton.addSelectionListener(this);
 
-        if (isShowIOMenu == null || (!isOverrideShowIOMenu && !isAdminPreference)){
-            showIOMenuButton.select(0);
-        }else if (isShowIOMenu){
-            showIOMenuButton.select(1);
-        }else{
-            showIOMenuButton.select(2);
-        }
+
         if (isAdminPreference){
         allowOverrideShowIOMenuButton = createAllowOverrideButton(composite);
 
-            allowOverrideShowIOMenuButton.setSelection(isAllowOverrideShowIOMenu);
+
             allowOverrideShowIOMenuButton.addSelectionListener(new SelectionAdapter(){
                 @Override
                 public void widgetSelected(SelectionEvent e) {
@@ -99,17 +93,10 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
                 isAdminPreference);
 
         showChecklistPerspectiveButton.addSelectionListener(this);
-        if (isShowCheckListPerspective == null || (!isOverrideShowIOMenu && !isAdminPreference)){
-            showChecklistPerspectiveButton.select(0);
-        }else if (isShowCheckListPerspective){
-            showChecklistPerspectiveButton.select(1);
-        }else{
-            showChecklistPerspectiveButton.select(2);
-        }
+
 
         if (isAdminPreference){
             allowOverrideShowChecklistButton = createAllowOverrideButton(composite);
-            allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
             allowOverrideShowChecklistButton.addSelectionListener(new SelectionAdapter(){
                 @Override
                 public void widgetSelected(SelectionEvent e) {
@@ -121,23 +108,12 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
 
         showTaxonNodeWizardButton = createBooleanCombo(composite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowTaxonNodeWizard, "Show Taxonnode Wizard",
                 isAdminPreference);
-
-
         showTaxonNodeWizardButton.setText(Messages.DatabasePreferncesPage_Show_TaxonNodeWizard);
-
-        if (isShowTaxonNodeWizard == null || (!isOverrideShowIOMenu && !isAdminPreference)){
-            showTaxonNodeWizardButton.select(0);
-        }else if (isShowTaxonNodeWizard){
-            showTaxonNodeWizardButton.select(1);
-        }else{
-            showTaxonNodeWizardButton.select(2);
-        }
         showTaxonNodeWizardButton.addSelectionListener(this);
 
 
         if (isAdminPreference){
             allowOverrideShowTaxonNodeWizardButton = createAllowOverrideButton(composite);
-            allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);
             allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
                 @Override
                 public void widgetSelected(SelectionEvent e) {
@@ -161,7 +137,7 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
             }
         }
 
-
+        setSelections();
         return composite;
     }
 
@@ -173,18 +149,26 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
             return true;
         }
         if (isAllowOverrideShowCheckListPerspective){
-            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowChecklistPerspective.getKey()), isOverrideShowCheckListPerspective);
-            PreferencesUtil.setBooleanValue(PreferencePredicate.ShowChecklistPerspective.getKey(), isShowCheckListPerspective);
+            if (isShowCheckListPerspective != null){
+                PreferencesUtil.setBooleanValue(PreferencePredicate.ShowChecklistPerspective.getKey(), isShowCheckListPerspective);
+            }
+            PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowChecklistPerspective.getKey()), false);
+
 
         }
         if (isAllowOverrideShowIOMenu){
-            PreferencesUtil.setBooleanValue(PreferencePredicate.ShowImportExportMenu.getKey(), isShowIOMenu);
+            if (isShowIOMenu != null){
+                PreferencesUtil.setBooleanValue(PreferencePredicate.ShowImportExportMenu.getKey(), isShowIOMenu);
+            }
             PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowImportExportMenu.getKey()), isOverrideShowIOMenu);
         }
 
         if (isAllowOverrideShowTaxonNodeWizard){
+            if (isShowTaxonNodeWizard != null){
+                PreferencesUtil.setBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);
+            }
             PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);
-            PreferencesUtil.setBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);
+
         }
 
        return true;
@@ -235,6 +219,7 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
      */
     @Override
     public void widgetSelected(SelectionEvent e) {
+
         if (e.getSource().equals(this.showIOMenuButton)) {
             String text = showIOMenuButton.getText();
             if (text.startsWith(Messages.Preference_Use_Default)){
@@ -242,8 +227,10 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
                 isShowIOMenu = null;
             }else if (text.equals(SHOW)){
                 isShowIOMenu = true;
+                isOverrideShowIOMenu = true;
             }else{
                 isShowIOMenu = false;
+                isOverrideShowIOMenu = true;
             }
         }
         if (e.getSource().equals(this.showChecklistPerspectiveButton)) {
@@ -253,8 +240,10 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
                 isShowCheckListPerspective = null;
             }else if (text.equals(SHOW)){
                 isShowCheckListPerspective = true;
+                isOverrideShowCheckListPerspective = true;
             }else{
                 isShowCheckListPerspective = false;
+                isOverrideShowCheckListPerspective = true;
             }
         }
         if (e.getSource().equals(this.showTaxonNodeWizardButton)) {
@@ -264,8 +253,10 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
                 isShowTaxonNodeWizard = null;
             }else if (text.equals(SHOW)){
                 isShowTaxonNodeWizard = true;
+                isOverrideShowTaxonNodeWizard = true;
             }else{
                 isShowTaxonNodeWizard = false;
+                isOverrideShowTaxonNodeWizard = true;
             }
         }
         this.setApply(true);
@@ -284,4 +275,50 @@ public class GeneralPreferencePage extends CdmPreferencePage implements Selectio
 
     }
 
+    @Override
+    protected void performDefaults() {
+        isOverrideShowTaxonNodeWizard = false;
+        isShowTaxonNodeWizard = null;
+
+        isOverrideShowCheckListPerspective = false;
+        isShowCheckListPerspective = null;
+
+        isOverrideShowIOMenu = false;
+        isShowIOMenu = null;
+        setSelections();
+        setApply(true);
+    }
+
+    protected void setSelections(){
+        if (isShowIOMenu == null || (!isOverrideShowIOMenu && !isAdminPreference)){
+            showIOMenuButton.select(0);
+        }else if (isShowIOMenu){
+            showIOMenuButton.select(1);
+        }else{
+            showIOMenuButton.select(2);
+        }
+
+        if (isShowCheckListPerspective == null || (!isOverrideShowIOMenu && !isAdminPreference)){
+            showChecklistPerspectiveButton.select(0);
+        }else if (isShowCheckListPerspective){
+            showChecklistPerspectiveButton.select(1);
+        }else{
+            showChecklistPerspectiveButton.select(2);
+        }
+
+        if (isShowTaxonNodeWizard == null || (!isOverrideShowIOMenu && !isAdminPreference)){
+            showTaxonNodeWizardButton.select(0);
+        }else if (isShowTaxonNodeWizard){
+            showTaxonNodeWizardButton.select(1);
+        }else{
+            showTaxonNodeWizardButton.select(2);
+        }
+
+        if (isAdminPreference){
+            allowOverrideShowIOMenuButton.setSelection(isAllowOverrideShowIOMenu);
+            allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
+            allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);
+        }
+    }
+
 }
index f27570c9f4060d3d0c0431be760b34fccfb8149a..291153bf9ac679e9010e0f713bac2f6db787b4bf 100755 (executable)
@@ -163,28 +163,34 @@ public class ListComponent implements ModifyListener
             //there's a valid selection
             //so go ahead and remove whatever's selected.
             int index = list.getSelectionIndex();
-            String item = list.getItem(index);
-            if (item.equals(serverSidePreference)) {
-                return;
-            }
-            list.remove(index);
+            try{
+                String item = list.getItem(index);
+                if (item.equals(serverSidePreference)) {
+                    return;
+                }
+                list.remove(index);
 
 
-            int size = list.getItemCount();
+                int size = list.getItemCount();
 
-            if (size == 0) { //Nothing's left, disable removing.
-                removeButton.setEnabled(false);
+                if (size == 0) { //Nothing's left, disable removing.
+                    removeButton.setEnabled(false);
 
-            } else { //Select an index.
-                if (index == size) {
-                    //removed item in last position
-                    index--;
-                }
+                } else { //Select an index.
+                    if (index == size) {
+                        //removed item in last position
+                        index--;
+                    }
 
-                list.setSelection(index-1);
-                preferencePage.setApply(true);
+                    list.setSelection(index-1);
+                    preferencePage.setApply(true);
 
+                }
+            }catch(IllegalArgumentException iae){
+                //nothing was selected
+                return;
             }
+
         }
         /**
          * {@inheritDoc}
index 1e27ff118a85af1b21924cebe29aeb9723769d6c..784e729cd385e5866867da2e6ddb9413e86be002 100644 (file)
@@ -58,7 +58,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
     protected boolean isSecDetailsActivated;
 
     protected boolean isAllowOverride;
-    private boolean isOverride;
+    private boolean isOverride = true;
     private Button showSecDetail;
     private Button secEnabled;
 
@@ -95,7 +95,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
 //            nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(!isAdminPreference);
 //
 
-            activateCheckButton = createBooleanCombo(title, ENABLE, DISABLE, PreferencePredicate.SimpleDetailsViewActivated, Messages.NameDetailsViewConfiguration_activateSimpleDetailsView, isAdminPreference);
+            activateCheckButton = createBooleanCombo(title, ENABLE, DISABLE, PreferencePredicate.NameDetailsView, Messages.NameDetailsViewConfiguration_activateSimpleDetailsView, isAdminPreference);
             if (isAdminPreference){
                 allowLocalPreference = createAllowOverrideButton(title);
 
@@ -391,7 +391,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
                      nameDetailsConfig.setNameApprobiationActivated(isShowNameApprobiation);
                   }
              });
-            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false);
+            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated!= null? (isSimpleDetailsViewActivated && isOverride):false);
             if (isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false){
                 showSecDetail.setEnabled(isShowTaxon);
                 secEnabled.setEnabled(isShowTaxon);
@@ -505,6 +505,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
         isShowHybrid = nameDetailsConfig.isHybridActivated();
         isSimpleDetailsViewActivated = null;
         this.setButtonSelections();
+        PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false);
        // activateCheckButton.select(0);
         super.performDefaults();
     }
@@ -520,11 +521,14 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
             if(text.startsWith(Messages.Preference_Use_Default)){
                 isSimpleDetailsViewActivated = null;
                 if (isAdminPreference){
-                    nameDetailsPref.setAllowOverride(true);
+                    if (nameDetailsPref != null){
+                        nameDetailsPref.setAllowOverride(true);
+                    }
                     allowLocalPreference.setSelection(true);
                 }else{
                     isOverride = false;
                 }
+                PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated!= null? (isSimpleDetailsViewActivated && isOverride):false);
                 return;
             }
             isOverride = true;
index 2cc70af118f58469bb4dded8cd5df283249b508d..dd0fdf70eb22604c41560f1cba72f0a22a242cb3 100755 (executable)
@@ -91,6 +91,7 @@ public class PublishFlagLocalPreference extends CdmPreferencePage {
             @Override
             public void widgetSelected(SelectionEvent e) {
                 setApply(true);
+
             }
 
             @Override
index 57e3b55763af631fd60b2002c88a6f6ba8a2b12e..deb38aba8751218ef13f1b87c275b764ef0b18b5 100644 (file)
@@ -18,6 +18,7 @@ import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 
+import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.IKeyLabel;
 import eu.etaxonomy.cdm.model.metadata.IPreferencePredicate;
 import eu.etaxonomy.taxeditor.l10n.Messages;
@@ -161,27 +162,24 @@ public abstract class CdmPreferencePage extends PreferencePage implements IE4Pre
 
         Combo booleanCombo = new Combo(parent, SWT.BORDER | SWT.READ_ONLY);
 
-//        CdmPreference dbPref = PreferencesUtil.getPreferenceFromDB(predicate);
-//        boolean defaultValue = true;
-//        if (dbPref != null && !isAdminPage){
-//            defaultValue = Boolean.valueOf(dbPref.getValue());
-//        }else{
-          boolean defaultValue = (Boolean)predicate.getDefaultValue();
-          String defaultString;
-          if (defaultValue){
-              defaultString = " ("+textTrue+")";
-          }else{
-              defaultString = " ("+textFalse+")";
-          }
-//        }
-//        if (defaultValue){
-            booleanCombo.add(Messages.Preference_Use_Default + defaultString);
-            booleanCombo.add(textTrue);
-            booleanCombo.add(textFalse);
-//        }else{
-//
-//            booleanCombo.add(textFalse + Messages.Preference_Use_Default);
-//        }
+        CdmPreference dbPref = PreferencesUtil.getPreferenceFromDB(predicate);
+        boolean defaultValue = true;
+        if (dbPref != null && !isAdminPage){
+            defaultValue = Boolean.valueOf(dbPref.getValue());
+        }else{
+          defaultValue = (Boolean)predicate.getDefaultValue();
+
+        }
+        String defaultString;
+        if (defaultValue){
+            defaultString = " ("+textTrue+")";
+        }else{
+            defaultString = " ("+textFalse+")";
+        }
+        booleanCombo.add(Messages.Preference_Use_Default + defaultString);
+        booleanCombo.add(textTrue);
+        booleanCombo.add(textFalse);
+
         return booleanCombo;
 
     }