ref #7849: remove OVERRIDE constants from IPreferenceKeys and handle it by method
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / preference / GeneralPreferencePage.java
1 /**
2 * Copyright (C) 2018 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
5 *
6 * The contents of this file are subject to the Mozilla Public License Version 1.1
7 * See LICENSE.TXT at the top of this package for the full license terms.
8 */
9 package eu.etaxonomy.taxeditor.preference;
10
11 import org.eclipse.swt.SWT;
12 import org.eclipse.swt.events.SelectionAdapter;
13 import org.eclipse.swt.events.SelectionEvent;
14 import org.eclipse.swt.widgets.Button;
15 import org.eclipse.swt.widgets.Composite;
16 import org.eclipse.swt.widgets.Control;
17
18 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
19 import eu.etaxonomy.taxeditor.l10n.Messages;
20 import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
21
22 /**
23 * @author k.luther
24 * @since 29.05.2018
25 *
26 */
27 public class GeneralPreferencePage extends CdmPreferencePage {
28
29
30 protected boolean isShowIOMenu;
31 // protected boolean isShowMediaView;
32 protected boolean isShowCheckListPerspective;
33 protected boolean isShowTaxonNodeWizard;
34 protected boolean isAllowOverrideShowIOMenu;
35 protected boolean isAllowOverrideShowMediaView;
36 protected boolean isAllowOverrideShowCheckListPerspective;
37 protected boolean isAllowOverrideShowTaxonNodeWizard;
38 protected boolean isOverrideShowIOMenu;
39 protected boolean isOverrideShowMediaView;
40 protected boolean isOverrideShowCheckListPerspective;
41 protected boolean isOverrideShowTaxonNodeWizard;
42
43 /**
44 * {@inheritDoc}
45 */
46 @Override
47 protected Control createContents(Composite parent) {
48 getValues();
49 final Composite composite = createComposite(parent);
50
51 final Button showIOMenuButton = new Button(composite, SWT.CHECK);
52 showIOMenuButton.setText(Messages.DatabasePreferncesPage_Show_IOMenu);
53 showIOMenuButton.setSelection(isShowIOMenu);
54 showIOMenuButton.addSelectionListener(new SelectionAdapter(){
55 @Override
56 public void widgetSelected(SelectionEvent e) {
57 isShowIOMenu = showIOMenuButton.getSelection();
58 }
59 });
60 Button allowOverrideShowIOMenuButton = createAllowOverrideButton(composite);
61 if (isAdminPreference){
62 allowOverrideShowIOMenuButton.setSelection(isAllowOverrideShowIOMenu);
63 allowOverrideShowIOMenuButton.addSelectionListener(new SelectionAdapter(){
64 @Override
65 public void widgetSelected(SelectionEvent e) {
66 isAllowOverrideShowIOMenu = allowOverrideShowIOMenuButton.getSelection();
67 }
68 });
69 }else{
70 allowOverrideShowIOMenuButton.setSelection(isOverrideShowIOMenu);
71 allowOverrideShowIOMenuButton.addSelectionListener(new SelectionAdapter(){
72 @Override
73 public void widgetSelected(SelectionEvent e) {
74 isOverrideShowIOMenu = allowOverrideShowIOMenuButton.getSelection();
75 }
76 });
77 if (!isAllowOverrideShowIOMenu){
78 showIOMenuButton.setEnabled(false);
79 allowOverrideShowIOMenuButton.setEnabled(false);
80 }
81 }
82
83 // final Button showMediaViewButton = new Button(composite, SWT.CHECK);
84 // showMediaViewButton.setText(Messages.DatabasePreferncesPage_Show_MediaView);
85 // showMediaViewButton.setSelection(isShowMediaView);
86 // showMediaViewButton.addSelectionListener(new SelectionAdapter(){
87 // @Override
88 // public void widgetSelected(SelectionEvent e) {
89 // isShowMediaView = showIOMenuButton.getSelection();
90 // }
91 // });
92 //
93 // Button allowOverrideShowMediaViewButton = createAllowOverrideButton(composite);
94 // if (isAdminPreference){
95 // allowOverrideShowMediaViewButton.setSelection(isAllowOverrideShowMediaView);
96 // allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
97 // @Override
98 // public void widgetSelected(SelectionEvent e) {
99 // isAllowOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
100 // }
101 // });
102 // }else{
103 // allowOverrideShowMediaViewButton.setSelection(isOverrideShowMediaView);
104 // allowOverrideShowMediaViewButton.addSelectionListener(new SelectionAdapter(){
105 // @Override
106 // public void widgetSelected(SelectionEvent e) {
107 // isOverrideShowMediaView = allowOverrideShowMediaViewButton.getSelection();
108 // }
109 // });
110 // if (!isAllowOverrideShowMediaView){
111 // showMediaViewButton.setEnabled(false);
112 // allowOverrideShowMediaViewButton.setEnabled(false);
113 // }
114 // }
115
116 final Button showChecklistPerspectiveButton = new Button(composite, SWT.CHECK);
117 showChecklistPerspectiveButton.setText(Messages.DatabasePreferncesPage_Show_ChecklistPerspective);
118 showChecklistPerspectiveButton.setSelection(isShowCheckListPerspective);
119 showChecklistPerspectiveButton.addSelectionListener(new SelectionAdapter(){
120 @Override
121 public void widgetSelected(SelectionEvent e) {
122 isShowCheckListPerspective = showChecklistPerspectiveButton.getSelection();
123 }
124 });
125
126 Button allowOverrideShowChecklistButton = createAllowOverrideButton(composite);
127 if (isAdminPreference){
128 allowOverrideShowChecklistButton.setSelection(isAllowOverrideShowCheckListPerspective);
129 allowOverrideShowChecklistButton.addSelectionListener(new SelectionAdapter(){
130 @Override
131 public void widgetSelected(SelectionEvent e) {
132 isAllowOverrideShowCheckListPerspective = allowOverrideShowChecklistButton.getSelection();
133 }
134 });
135 }else{
136 allowOverrideShowChecklistButton.setSelection(isOverrideShowCheckListPerspective);
137 allowOverrideShowChecklistButton.addSelectionListener(new SelectionAdapter(){
138 @Override
139 public void widgetSelected(SelectionEvent e) {
140 isOverrideShowCheckListPerspective = allowOverrideShowChecklistButton.getSelection();
141 }
142 });
143 if (!isAllowOverrideShowCheckListPerspective){
144 showChecklistPerspectiveButton.setEnabled(false);
145 allowOverrideShowChecklistButton.setEnabled(false);
146 }
147 }
148
149 final Button showTaxonNodeWizardButton = new Button(composite, SWT.CHECK);
150 showTaxonNodeWizardButton.setText(Messages.DatabasePreferncesPage_Show_TaxonNodeWizard);
151 showTaxonNodeWizardButton.setSelection(isShowTaxonNodeWizard);
152 showTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
153 @Override
154 public void widgetSelected(SelectionEvent e) {
155 isShowTaxonNodeWizard = showTaxonNodeWizardButton.getSelection();
156 }
157 });
158
159 Button allowOverrideShowTaxonNodeWizardButton = createAllowOverrideButton(composite);
160 if (isAdminPreference){
161 allowOverrideShowTaxonNodeWizardButton.setSelection(isAllowOverrideShowTaxonNodeWizard);
162 allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
163 @Override
164 public void widgetSelected(SelectionEvent e) {
165 isAllowOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();
166 }
167 });
168 }else{
169 allowOverrideShowTaxonNodeWizardButton.setSelection(isOverrideShowTaxonNodeWizard);
170 allowOverrideShowTaxonNodeWizardButton.addSelectionListener(new SelectionAdapter(){
171 @Override
172 public void widgetSelected(SelectionEvent e) {
173 isOverrideShowTaxonNodeWizard = allowOverrideShowTaxonNodeWizardButton.getSelection();
174 }
175 });
176 if (!isAllowOverrideShowTaxonNodeWizard){
177 showTaxonNodeWizardButton.setEnabled(false);
178 allowOverrideShowTaxonNodeWizardButton.setEnabled(false);
179 }
180 }
181
182
183 return composite;
184 }
185
186 @Override
187 public void createControl(Composite parent){
188 super.createControl(parent);
189 getControl().setVisible(false);
190 }
191
192 @Override
193 public boolean performOk() {
194 if (isAllowOverrideShowCheckListPerspective){
195 PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowChecklistPerspective.getKey()), isOverrideShowCheckListPerspective);
196 PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowChecklistPerspective.getKey(), isShowCheckListPerspective);
197 }
198 if (isAllowOverrideShowIOMenu){
199 PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowImportExportMenu.getKey(), isShowIOMenu);
200 PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowImportExportMenu.getKey()), isOverrideShowIOMenu);
201 }
202 // if (isAllowOverrideShowMediaView){
203 // PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey(), isShowMediaView);
204 // }
205 if (isAllowOverrideShowTaxonNodeWizard){
206 PreferencesUtil.setBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey()), isOverrideShowTaxonNodeWizard);
207 PreferencesUtil.setBooleanValue(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey(), isShowTaxonNodeWizard);
208 }
209
210 return true;
211 }
212 @Override
213 protected void getValues(){
214 isAdminPreference = false;
215
216 CdmPreferenceCache cache = CdmPreferenceCache.instance();
217 isShowIOMenu = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowImportExportMenu.getKey());
218 isOverrideShowIOMenu = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowImportExportMenu.getKey()));
219 CdmPreference pref = cache.get(EditorPreferencePredicate.ShowImportExportMenu.getKey());
220 if (pref != null){
221 isAllowOverrideShowIOMenu = pref.isAllowOverride();
222 }else{
223 isAllowOverrideShowIOMenu = true;
224 }
225 // isShowMediaView = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowMediaView.getKey());
226 // pref = cache.get(EditorPreferencePredicate.ShowMediaView.getKey());
227 // if (pref != null){
228 // isAllowOverrideShowMediaView = pref.isAllowOverride();
229 // }else{
230 // isAllowOverrideShowMediaView = true;
231 // }
232 isShowCheckListPerspective = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowChecklistPerspective.getKey());
233 isOverrideShowCheckListPerspective = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowChecklistPerspective.getKey()));
234 pref = cache.get(EditorPreferencePredicate.ShowChecklistPerspective.getKey());
235 if (pref != null){
236 isAllowOverrideShowCheckListPerspective = pref.isAllowOverride();
237 }else{
238 isAllowOverrideShowCheckListPerspective = true;
239 }
240 isShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey());
241 isOverrideShowTaxonNodeWizard = PreferencesUtil.getBooleanValue(PreferencesUtil.prefOverrideKey(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey()));
242 pref = cache.get(EditorPreferencePredicate.ShowTaxonNodeWizard.getKey());
243 if (pref != null){
244 isAllowOverrideShowTaxonNodeWizard = pref.isAllowOverride();
245 }else{
246 isAllowOverrideShowTaxonNodeWizard = true;
247 }
248 }
249
250 }