ref #8648: default handling in name details preference - continue
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / databaseAdmin / preferencePage / AbcdImportProviderAdminPreferencePage.java
index 15dcb48acbc5e8775a9bbd809cb7d0ebff4d6416..8af7232feeb51d333a231039a4045aff9cdf3a7b 100755 (executable)
@@ -9,6 +9,11 @@
 package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
 
 import org.apache.commons.lang.StringUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 
@@ -18,6 +23,7 @@ import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
 import eu.etaxonomy.taxeditor.preference.AbcdImportProvider;
 import eu.etaxonomy.taxeditor.preference.ListComponent;
+import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 
 /**
@@ -27,12 +33,35 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class AbcdImportProviderAdminPreferencePage extends AbcdImportProvider implements IE4AdminPreferencePage{
 
-    private ListComponent biocaseProviderList;
+
 
     @Override
     protected Control createContents(Composite parent) {
-        Control composite = super.createContents(parent);
-        biocaseProviderList.setAdmin(true);
+        isAdminPreference = true;
+        final Composite composite = new Composite(parent, SWT.NULL);
+
+        GridLayout gridLayout = new GridLayout();
+        composite.setLayout(gridLayout);
+
+        gridLayout.numColumns = 2;
+        //gridLayout.horizontalSpacing= 5;
+        //gridLayout.makeColumnsEqualWidth = true;
+
+        composite.setLayout(gridLayout);
+        biocaseProviderList = new ListComponent(composite, SWT.SCROLL_LINE,true, this);
+        allowOverride = createAllowOverrideButton(composite);
+        GridData layoutData = (GridData) allowOverride.getLayoutData();
+        layoutData.horizontalAlignment = SWT.LEFT;
+        //layoutData.horizontalSpan = 2;
+
+        allowOverride.setSelection(biocaseProviderList.getProviderListPreference() != null? biocaseProviderList.getProviderListPreference().isAllowOverride(): true);
+        allowOverride.addSelectionListener(new SelectionAdapter() {
+            @Override
+            public void widgetSelected(SelectionEvent e) {
+                setApply(true);
+            }
+        });
+
         setApply(true);
         return composite;
     }
@@ -44,7 +73,7 @@ public class AbcdImportProviderAdminPreferencePage extends AbcdImportProvider im
             providerList = biocaseProviderList.createAllProviderString();
 
             CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.BioCaseProvider, providerList);
-            pref.setAllowOverride(true);
+            pref.setAllowOverride(allowOverride.getSelection());
 
             ICdmRepository controller = CdmStore.getCurrentApplicationConfiguration();
             if (controller == null){
@@ -57,7 +86,7 @@ public class AbcdImportProviderAdminPreferencePage extends AbcdImportProvider im
                 service.set(pref);
             }
         }
-
+        PreferencesUtil.updateDBPreferences();
         return true;
     }