Merge branch 'release/5.10.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / OrderPreferences.java
index 7eb2a530e1394d97b750c900952e1e00a0476095..328b3e81258d1b50963063462c78e43e196c1554 100644 (file)
@@ -28,9 +28,19 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
            Button activateRestoreNavigatorButton;\r
            protected Button allowOverrideButton;\r
            protected CdmPreference orderPref;\r
+           protected CdmPreference nodePref;\r
            boolean override = false;\r
            protected boolean allowOverride;\r
 \r
+           protected Combo showTaxonNodeWizardButton;\r
+           protected Button allowOverrideShowTaxonNodeWizardButton;\r
+           protected boolean isOverrideShowTaxonNodeWizard;\r
+           protected boolean isAllowOverrideShowTaxonNodeWizard;\r
+           protected Boolean isShowTaxonNodeWizard;\r
+\r
+           final String SHOW = Messages.GeneralPreference_yes;\r
+           final String DO_NOT_SHOW = Messages.GeneralPreference_no;\r
+\r
 \r
            @Override\r
            protected Control createContents(Composite parent) {\r
@@ -56,18 +66,7 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
                 });\r
             }\r
 \r
-//            Composite composite = new Composite(parent, SWT.NULL);\r
-//             composite.setLayout(new GridLayout());\r
-//\r
-//             Label label = new Label(composite, SWT.NONE);\r
-//             label.setText(Messages.OrderPreferences_Sorting);\r
-\r
-//             GridData gridData = new GridData();\r
-//            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);\r
-//            gridData.horizontalIndent = 5;\r
-\r
                orderSelectionCombo = createCombo(secondComposite, NavigatorOrderEnum.values(), PreferencePredicate.TaxonNodeOrder, Messages.OrderPreferences_Sorting, isAdminPreference);\r
-//             orderSelectionCombo.setLayoutData(gridData);\r
 \r
             int index = 0;\r
 \r
@@ -108,17 +107,39 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
                 }\r
             }\r
 \r
-//            final CLabel description = new CLabel(secondComposite, SWT.NULL);\r
-//            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
-//            GridData textGrid = createTextGridData();\r
-//            textGrid.verticalSpan = 2;\r
-//            description.setLayoutData(textGrid);\r
-\r
-//            final Label description = new Label(secondComposite, SWT.NONE);\r
-//            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);\r
-//            GridData textGrid = createTextGridData();\r
-//            textGrid.verticalSpan = 2;\r
-//            description.setLayoutData(textGrid);\r
+            showTaxonNodeWizardButton = createBooleanCombo(secondComposite, SHOW, DO_NOT_SHOW, PreferencePredicate.ShowTaxonNodeWizard, "Show Taxonnode Wizard",\r
+                    isAdminPreference);\r
+            showTaxonNodeWizardButton.setText(Messages.DatabasePreferncesPage_Show_TaxonNodeWizard);\r
+            showTaxonNodeWizardButton.addSelectionListener(this);\r
+\r
+\r
+            if (isAdminPreference){\r
+                allowOverrideShowTaxonNodeWizardButton = createAllowOverrideButton(secondComposite);\r
+                allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){\r
+                    @Override\r
+                    public void widgetSelected(SelectionEvent e) {\r
+                        isAllowOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();\r
+                        setApply(true);\r
+                    }\r
+                });\r
+                allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);\r
+            }else{\r
+                if (!isAllowOverrideShowTaxonNodeWizard){\r
+                    showTaxonNodeWizardButton.setEnabled(false);\r
+\r
+                }\r
+            }\r
+\r
+            if (isShowTaxonNodeWizard == null || (!isOverrideShowTaxonNodeWizard && !isAdminPreference)){\r
+                showTaxonNodeWizardButton.select(0);\r
+            }else{\r
+                if (isShowTaxonNodeWizard){\r
+                    showTaxonNodeWizardButton.select(1);\r
+                }else{\r
+                    showTaxonNodeWizardButton.select(2);\r
+                }\r
+            }\r
+\r
                return secondComposite;\r
            }\r
 \r
@@ -133,7 +154,15 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
                        PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()), false);\r
                    }\r
                    PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);\r
-               MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);\r
+\r
+\r
+               if (isAllowOverrideShowTaxonNodeWizard){\r
+                   if (isShowTaxonNodeWizard != null){\r
+                         PreferencesUtil.setBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);\r
+                   }\r
+                   PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);\r
+               }\r
+\r
                    }\r
                        return true;\r
 \r
@@ -146,12 +175,29 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
         @Override\r
         public void widgetSelected(SelectionEvent e) {\r
             setApply(true);\r
+            if (e.getSource().equals(orderSelectionCombo)){\r
+                for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){\r
+                    if (!orderSelectionCombo.getText().startsWith(Messages.Preference_Use_Default)){\r
+                        orderActivated = (NavigatorOrderEnum)orderSelectionCombo.getData(orderSelectionCombo.getText());\r
+                    }else{\r
+                        orderActivated = null;\r
+                    }\r
 \r
-            for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){\r
-                if (!orderSelectionCombo.getText().startsWith(Messages.Preference_Use_Default)){\r
-                    orderActivated = (NavigatorOrderEnum)orderSelectionCombo.getData(orderSelectionCombo.getText());\r
+                }\r
+                MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);\r
+            }\r
+            if (e.getSource().equals(this.showTaxonNodeWizardButton)) {\r
+                String text = showTaxonNodeWizardButton.getText();\r
+                if (text.startsWith(Messages.Preference_Use_Default)){\r
+                    isOverrideShowTaxonNodeWizard = false;\r
+                    isShowTaxonNodeWizard = null;\r
+\r
+                }else if (text.equals(SHOW)){\r
+                    isShowTaxonNodeWizard = true;\r
+                    isOverrideShowTaxonNodeWizard = true;\r
                 }else{\r
-                    orderActivated = null;\r
+                    isShowTaxonNodeWizard = false;\r
+                    isOverrideShowTaxonNodeWizard = true;\r
                 }\r
 \r
             }\r
@@ -177,6 +223,9 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
             orderActivated = null;\r
 \r
             orderSelectionCombo.select(0);\r
+            isOverrideShowTaxonNodeWizard = false;\r
+            isShowTaxonNodeWizard = null;\r
+            showTaxonNodeWizardButton.select(0);\r
 \r
             super.performDefaults();\r
         }\r
@@ -194,6 +243,19 @@ public class OrderPreferences extends CdmPreferencePage implements SelectionList
                 orderActivated = orderPref.getValue()!= null? NavigatorOrderEnum.valueOf(orderPref.getValue()):null;\r
             }\r
 \r
+            isOverrideShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), true) != null? PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(PreferencePredicate.ShowTaxonNodeWizard.getKey()), true): false;\r
+            if (isOverrideShowTaxonNodeWizard){\r
+                isShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencePredicate.ShowTaxonNodeWizard.getKey(), true);\r
+            }\r
+\r
+\r
+            nodePref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.ShowTaxonNodeWizard);\r
+            if (nodePref != null){\r
+                isAllowOverrideShowTaxonNodeWizard = nodePref.isAllowOverride();\r
+            }else{\r
+                isAllowOverrideShowTaxonNodeWizard = true;\r
+            }\r
+\r
         }\r
 \r
 }\r