import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
-import eu.etaxonomy.taxeditor.preference.EditorPreferencePredicate;
import eu.etaxonomy.taxeditor.preference.GeneralPreferencePage;
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
import eu.etaxonomy.taxeditor.store.CdmStore;
@Override
public boolean performOk() {
-
+ if (!isApply()){
+ return true;
+ }
if (controller != null){
IPreferenceService service = controller.getPreferenceService();
+ CdmPreference pref;
+ if (isShowIOMenu == null && isAllowOverrideShowIOMenu){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu));
+ }else{
+ pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowImportExportMenu, isShowIOMenu!= null? Boolean.toString(this.isShowIOMenu):null);
+ pref.setAllowOverride(isAllowOverrideShowIOMenu);
+ service.set(pref);
+ }
+
+ if(isShowCheckListPerspective == null && isAllowOverrideShowCheckListPerspective){
+ service.remove(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective));
+ }else{
+ pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowChecklistPerspective, isShowCheckListPerspective != null?Boolean.toString(this.isShowCheckListPerspective): null);
+ pref.setAllowOverride(isAllowOverrideShowCheckListPerspective);
+ service.set(pref);
+ }
+
- CdmPreference pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowImportExportMenu, Boolean.toString(this.isShowIOMenu));
- pref.setAllowOverride(isAllowOverrideShowIOMenu);
- service.set(pref);
-// pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowMediaView, Boolean.toString(this.isShowMediaView));
-// pref.setAllowOverride(isAllowOverrideShowMediaView);
-// service.set(pref);
- pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowChecklistPerspective, Boolean.toString(this.isShowCheckListPerspective));
- pref.setAllowOverride(isAllowOverrideShowCheckListPerspective);
- service.set(pref);
- pref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.ShowTaxonNodeWizard, Boolean.toString(this.isShowTaxonNodeWizard));
- pref.setAllowOverride(isAllowOverrideShowTaxonNodeWizard);
- service.set(pref);
PreferencesUtil.updateDBPreferences();
PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowImportExportMenu);
CdmPreference pref = service.find(key);
if (pref != null){
- isShowIOMenu = Boolean.valueOf(pref.getValue());
+ isShowIOMenu = pref.getValue()!= null?Boolean.valueOf(pref.getValue()): null;
isAllowOverrideShowIOMenu = pref.isAllowOverride();
}else{
- isShowIOMenu = Boolean.valueOf(EditorPreferencePredicate.ShowImportExportMenu.getDefaultValue().toString());
+ isShowIOMenu = null;
isAllowOverrideShowIOMenu = true;
}
// isShowMediaView = Boolean.valueOf(pref.getValue());
// isAllowOverrideShowMediaView = pref.isAllowOverride();
// }else{
-// isShowMediaView = Boolean.valueOf(EditorPreferencePredicate.ShowMediaView.getDefaultValue().toString());
+// isShowMediaView = Boolean.valueOf(PreferencePredicate.ShowMediaView.getDefaultValue().toString());
// isAllowOverrideShowMediaView = true;
// }
key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowChecklistPerspective);
pref = service.find(key);
if (pref != null){
- isShowCheckListPerspective = Boolean.valueOf(pref.getValue());
+ isShowCheckListPerspective = pref.getValue()!= null?Boolean.valueOf(pref.getValue()): null;
isAllowOverrideShowCheckListPerspective = pref.isAllowOverride();
}else{
- isShowCheckListPerspective = Boolean.valueOf(EditorPreferencePredicate.ShowChecklistPerspective.getDefaultValue().toString());
+ isShowCheckListPerspective = null;
isAllowOverrideShowCheckListPerspective = true;
}
key = CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.ShowTaxonNodeWizard);
pref = service.find(key);
- if (pref != null){
- isShowTaxonNodeWizard = Boolean.valueOf(pref.getValue());
- isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
- }else{
- isShowTaxonNodeWizard = Boolean.valueOf(EditorPreferencePredicate.ShowTaxonNodeWizard.getDefaultValue().toString());
- isAllowOverrideShowTaxonNodeWizard = true;
- }
+// if (pref != null){
+// isShowTaxonNodeWizard = pref.getValue() != null?Boolean.valueOf(pref.getValue()): null;
+// isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
+// }else{
+// isShowTaxonNodeWizard = null;
+// isAllowOverrideShowTaxonNodeWizard = true;
+// }
}
}
+ @Override
+ protected void performDefaults() {
+ isShowIOMenu = null;
+ isShowCheckListPerspective = null;
+ //isShowTaxonNodeWizard = null;
+
+
+ isAllowOverrideShowIOMenu = true;
+
+
+ isAllowOverrideShowCheckListPerspective = true;
+
+ //isAllowOverrideShowTaxonNodeWizard = true;
+ setSelections();
+ super.performDefaults();
+ }
+
}