ref #8385: fixes in preferences - getDefaults() for all pages
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / NameDetailsViewConfiguration.java
index ce637fa44b0a564f295bae81abc5b0abe71dca18..c51a06cf9642916fe0e10f2f8b0d1a35dc6e0ea5 100644 (file)
@@ -93,9 +93,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
 
             Composite title  = createComposite(parent);
 //            nameDetailsConfig = PreferencesUtil.getPreferredNameDetailsConfiguration(!isAdminPreference);
-            if (nameDetailsConfig == null){
-                nameDetailsConfig = new NameDetailsConfigurator(false);
-            }
+//
 
             activateCheckButton = createBooleanCombo(title, ENABLE, DISABLE, PreferencePredicate.SimpleDetailsViewActivated, Messages.NameDetailsViewConfiguration_activateSimpleDetailsView, isAdminPreference);
             if (isAdminPreference){
@@ -119,8 +117,12 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
 
 //            activateCheckButton.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, true, 1, 1));
 //            activateCheckButton.setText(Messages.NameDetailsViewConfiguration_activateSimpleDetailsView);
-            isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
-
+            if (nameDetailsConfig != null){
+                isSimpleDetailsViewActivated = nameDetailsConfig.isSimpleDetailsViewActivated();
+            }
+            if (nameDetailsConfig == null){
+              nameDetailsConfig = new NameDetailsConfigurator(false);
+            }
             activateCheckButton.addSelectionListener(this);
 //            new SelectionAdapter(){
 //                @Override
@@ -140,7 +142,11 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
 
 
             dbSettings.setLayout(new GridLayout());
-            dbSettings.setEnabled(isSimpleDetailsViewActivated);
+            if (isSimpleDetailsViewActivated != null){
+                dbSettings.setEnabled(isSimpleDetailsViewActivated);
+            }else{
+                dbSettings.setEnabled(false);
+            }
 
 
             Label separator= new Label(dbSettings, SWT.HORIZONTAL | SWT.SEPARATOR);
@@ -155,7 +161,7 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
                      setApply(true);
                      isShowTaxon = showTaxon.getSelection();
                      nameDetailsConfig.setTaxonSectionActivated(isShowTaxon);
-                     if (isSimpleDetailsViewActivated){
+                     if (isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false){
                          showSecDetail.setEnabled(isShowTaxon);
                          secEnabled.setEnabled(isShowTaxon);
                      }
@@ -390,10 +396,13 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
                      nameDetailsConfig.setNameApprobiationActivated(isShowNameApprobiation);
                   }
              });
-            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated);
-            if (isSimpleDetailsViewActivated){
+            PreferencesUtil.recursiveSetEnabled(dbSettings, isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false);
+            if (isSimpleDetailsViewActivated!= null? isSimpleDetailsViewActivated:false){
                 showSecDetail.setEnabled(isShowTaxon);
                 secEnabled.setEnabled(isShowTaxon);
+            }else{
+                showSecDetail.setEnabled(false);
+                secEnabled.setEnabled(false);
             }
             setButtonSelections();
 
@@ -495,8 +504,9 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
         isSecEnabled = nameDetailsConfig.isSecEnabled();
         isShowTypeDesignation = nameDetailsConfig.isTypeDesignationSectionActivated();
         isShowHybrid = nameDetailsConfig.isHybridActivated();
-        isSimpleDetailsViewActivated = false;
+        isSimpleDetailsViewActivated = null;
         this.setButtonSelections();
+       // activateCheckButton.select(0);
         super.performDefaults();
     }
 
@@ -505,9 +515,10 @@ public class NameDetailsViewConfiguration extends CdmPreferencePage implements S
      */
     @Override
     public void widgetSelected(SelectionEvent e) {
+        setApply(true);
         if (e.getSource().equals(activateCheckButton)){
             String text = activateCheckButton.getText();
-            if(text.equals(Messages.Preference_Use_Default)){
+            if(text.startsWith(Messages.Preference_Use_Default)){
                 isSimpleDetailsViewActivated = null;
                 if (isAdminPreference){
                     nameDetailsPref.setAllowOverride(true);