Project

General

Profile

« Previous | Next » 

Revision d5a2a496

Added by Katja Luther over 4 years ago

ref #8489: fix preference and term issues - continue

View differences:

eu.etaxonomy.taxeditor.store/plugin.xml
870 870
         id="eu.etaxonomy.taxeditor.store.supplementalDataSourcePreferences"
871 871
         name="%page.name.sources">
872 872
   </page>
873
   <page
874
         category="eu.etaxonomy.taxeditor.preferences.general"
875
         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.UIAdminPreference"
876
         id="eu.etaxonomy.taxeditor.store.UIAdminPreference"
877
         name="%page.name.53">
878
   </page>
879
     <page
880
         category="eu.etaxonomy.taxeditor.store.UIAdminPreference"
881
         class="eu.etaxonomy.taxeditor.databaseAdmin.preferencePage.TaxonNodeOrderAdminPreference"
882
         id="eu.etaxonomy.taxeditor.store.TaxonNavigator"
883
         name="%page.name.32">
884
   </page>
873 885
</extension>
874 886
</plugin>
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/TaxonNodeOrderAdminPreference.java
8 8
*/
9 9
package eu.etaxonomy.taxeditor.databaseAdmin.preferencePage;
10 10

  
11
import org.eclipse.jface.dialogs.MessageDialog;
12

  
13
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
14
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
15
import eu.etaxonomy.taxeditor.l10n.Messages;
16
import eu.etaxonomy.taxeditor.preference.NavigatorOrderEnum;
11 17
import eu.etaxonomy.taxeditor.preference.OrderPreferences;
18
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
12 19

  
13 20
/**
14 21
 * @author k.luther
......
16 23
 */
17 24
public class TaxonNodeOrderAdminPreference extends OrderPreferences {
18 25

  
26

  
27
    @Override
28
    public boolean performOk() {
29
        if (isApply()){
30
            PreferencesUtil.setPreferenceToDB(CdmPreference.NewTaxEditorInstance(PreferencePredicate.TaxonNodeOrder, this.orderActivated.getKey()));
31
            MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);
32
            setApply(false);
33
        }
34
        return true;
35

  
36
    }
37

  
38
    @Override
39
    protected void getValues(){
40
        isAdminPreference = true;
41
        orderPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.TaxonNodeOrder);
42
        allowOverride = orderPref != null? orderPref.isAllowOverride():true;
43
        if (orderPref == null){
44
            orderPref = CdmPreference.NewTaxEditorInstance(PreferencePredicate.TaxonNodeOrder, PreferencePredicate.TaxonNodeOrder.getDefaultValue().toString());
45
        }
46
        orderActivated = orderPref.getValue() != null?NavigatorOrderEnum.valueOf(orderPref.getValue()): null;
47
    }
48

  
49

  
50

  
51

  
19 52
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/databaseAdmin/preferencePage/UIAdminPreference.java
1
/**
2
* Copyright (C) 2019 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.databaseAdmin.preferencePage;
10

  
11
/**
12
 * @author k.luther
13
 * @since 04.09.2019
14
 */
15
public class UIAdminPreference extends EmptyAdminPreferencePage {
16

  
17
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/NavigatorOrderEnum.java
8 8
*/
9 9
package eu.etaxonomy.taxeditor.preference;
10 10

  
11
import eu.etaxonomy.cdm.model.metadata.IKeyLabel;
11 12
import eu.etaxonomy.taxeditor.l10n.Messages;
12 13

  
13 14
/**
......
15 16
 * @since 19.11.2018
16 17
 *
17 18
 */
18
public enum NavigatorOrderEnum {
19
public enum NavigatorOrderEnum implements IKeyLabel{
19 20
    AlphabeticalOrder("AlphabeticalOrder", Messages.NavigatorOrderEnum_1), //$NON-NLS-1$
20 21
    NaturalOrder("NaturalOrder", Messages.NavigatorOrderEnum_3), //$NON-NLS-1$
21 22
    RankAndNameOrder("RankAndNameOrder", Messages.NavigatorOrderEnum_5); //$NON-NLS-1$
......
29 30
        this.key = key;
30 31
    }
31 32

  
33
    @Override
32 34
    public String getLabel(){
33 35
        return label;
34 36
    }
35 37

  
38
    @Override
36 39
    public String getKey(){
37 40
        return key;
38 41
    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/OrderPreferences.java
1 1
package eu.etaxonomy.taxeditor.preference;
2 2

  
3
import org.apache.commons.lang.StringUtils;
4 3
import org.eclipse.jface.dialogs.MessageDialog;
5 4
import org.eclipse.swt.SWT;
6 5
import org.eclipse.swt.events.SelectionAdapter;
7 6
import org.eclipse.swt.events.SelectionEvent;
8 7
import org.eclipse.swt.events.SelectionListener;
9
import org.eclipse.swt.layout.GridData;
10
import org.eclipse.swt.layout.GridLayout;
11 8
import org.eclipse.swt.widgets.Button;
12 9
import org.eclipse.swt.widgets.Combo;
13 10
import org.eclipse.swt.widgets.Composite;
14 11
import org.eclipse.swt.widgets.Control;
15
import org.eclipse.swt.widgets.Label;
16 12

  
13
import eu.etaxonomy.cdm.model.metadata.CdmPreference;
17 14
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
18 15
import eu.etaxonomy.taxeditor.l10n.Messages;
19 16
import eu.etaxonomy.taxeditor.preference.menu.CdmPreferencePage;
......
21 18
public class OrderPreferences extends CdmPreferencePage implements SelectionListener{
22 19

  
23 20

  
24
        NavigatorOrderEnum orderActivated;
21
        protected NavigatorOrderEnum orderActivated;
25 22
        private Combo orderSelectionCombo;
26 23
	    boolean isRestoreTaxonNavigator;
27
	    boolean isSelectionChanged = false;
28
	    boolean isStrictlyAlphabeticallyOrdered;
24

  
25

  
29 26
	    Button activateRestoreNavigatorButton;
27
	    protected Button allowOverrideButton;
28
	    protected CdmPreference orderPref;
29
	    boolean override = false;
30
	    protected boolean allowOverride;
31

  
30 32

  
31 33
	    @Override
32 34
	    protected Control createContents(Composite parent) {
33 35

  
34 36
	        isRestoreTaxonNavigator = PreferencesUtil.isStoreNavigatorState();
35

  
36
            Composite secondComposite = new Composite(parent, SWT.NULL);
37
            secondComposite.setLayout(new GridLayout());
38

  
39
            activateRestoreNavigatorButton = new Button(secondComposite, SWT.CHECK | SWT.LEFT);
40
            activateRestoreNavigatorButton.setText(Messages.OrderPreferences_Restore);
41
            activateRestoreNavigatorButton.setSelection(isRestoreTaxonNavigator);
42
            activateRestoreNavigatorButton.addSelectionListener(new SelectionAdapter(){
43
                @Override
44
                public void widgetSelected(SelectionEvent e) {
45
                    setApply(true);
46
                    if(isRestoreTaxonNavigator != activateRestoreNavigatorButton.getSelection()) {
47
                        isRestoreTaxonNavigator = activateRestoreNavigatorButton.getSelection();
48

  
37
	        getValues();
38
            Composite secondComposite = createComposite(parent);
39

  
40
            if(!isAdminPreference) {
41
                activateRestoreNavigatorButton = new Button(secondComposite, SWT.CHECK | SWT.LEFT);
42
                activateRestoreNavigatorButton.setText(Messages.OrderPreferences_Restore);
43
                activateRestoreNavigatorButton.setSelection(isRestoreTaxonNavigator);
44
                activateRestoreNavigatorButton.addSelectionListener(new SelectionAdapter(){
45
                    @Override
46
                    public void widgetSelected(SelectionEvent e) {
47
                        setApply(true);
48
                        if(isRestoreTaxonNavigator != activateRestoreNavigatorButton.getSelection()) {
49
                            isRestoreTaxonNavigator = activateRestoreNavigatorButton.getSelection();
50

  
51
                        }
49 52
                    }
50
                }
51

  
52
            });
53 53

  
54
                });
55
            }
54 56

  
55
            Composite composite = new Composite(parent, SWT.NULL);
56
	        composite.setLayout(new GridLayout());
57

  
58
	        Label label = new Label(composite, SWT.NONE);
59
	        label.setText(Messages.OrderPreferences_Sorting);
60

  
61
	        GridData gridData = new GridData();
62
            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
63
            gridData.horizontalIndent = 5;
57
//            Composite composite = new Composite(parent, SWT.NULL);
58
//	        composite.setLayout(new GridLayout());
59
//
60
//	        Label label = new Label(composite, SWT.NONE);
61
//	        label.setText(Messages.OrderPreferences_Sorting);
64 62

  
65
	        orderSelectionCombo = new Combo(composite, SWT.BORDER| SWT.READ_ONLY);
66
	        orderSelectionCombo.setLayoutData(gridData);
63
//	        GridData gridData = new GridData();
64
//            gridData = new GridData(GridData.BEGINNING, GridData.CENTER, true, false);
65
//            gridData.horizontalIndent = 5;
67 66

  
68
            for(NavigatorOrderEnum display: NavigatorOrderEnum.values()){
69
                orderSelectionCombo.add(display.getLabel());
70
            }
67
	        orderSelectionCombo = createCombo(secondComposite, NavigatorOrderEnum.values(), PreferencePredicate.TaxonNodeOrder, Messages.OrderPreferences_Sorting, isAdminPreference);
68
//	        orderSelectionCombo.setLayoutData(gridData);
71 69

  
72 70
            int index = 0;
73 71

  
74
            if (!StringUtils.isBlank(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()))){
75
                this.orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
76

  
77
                for (String itemLabel : orderSelectionCombo.getItems()){
78
                    if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){
79
                        orderSelectionCombo.select(index);
80
                        break;
81
                    }
82
                    index++;
72
            for (String itemLabel : orderSelectionCombo.getItems()){
73
                if (itemLabel.equalsIgnoreCase(orderActivated.getLabel())){
74
                    orderSelectionCombo.select(index);
75
                    break;
83 76
                }
77
                index++;
84 78
            }
85 79

  
86
            // TODO remember last selection
87
            orderSelectionCombo.addSelectionListener(this);
88 80

  
89
            final Label description = new Label(parent, SWT.NONE);
90
            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);
81
            orderSelectionCombo.addSelectionListener(this);
82
            if (isAdminPreference){
83
                allowOverrideButton = createAllowOverrideButton(secondComposite);
84
                allowOverrideButton.setSelection(allowOverride);
85
                allowOverrideButton.addSelectionListener(new SelectionAdapter(){
86
                    @Override
87
                    public void widgetSelected(SelectionEvent e) {
88
                        allowOverride = !allowOverride;
89
                        setApply(true);
90
                        }
91
                });
92
            }
91 93

  
92
	        return composite;
94
//            final CLabel description = new CLabel(secondComposite, SWT.NULL);
95
//            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);
96
//            GridData textGrid = createTextGridData();
97
//            textGrid.verticalSpan = 2;
98
//            description.setLayoutData(textGrid);
99

  
100
//            final Label description = new Label(secondComposite, SWT.NONE);
101
//            description.setText(Messages.OrderPreferencePage_NewNavigatorWindowRequired);
102
//            GridData textGrid = createTextGridData();
103
//            textGrid.verticalSpan = 2;
104
//            description.setLayoutData(textGrid);
105
	        return secondComposite;
93 106
	    }
94 107

  
95 108

  
......
97 110
		public boolean performOk() {
98 111
		    if (isApply()){
99 112
    		    PreferencesUtil.setSortNodes(this.orderActivated);
100
    	        PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);
113
    		    //PreferencesUtil.setBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder), value);
114
    		    PreferencesUtil.setStoreNavigatorState(isRestoreTaxonNavigator);
101 115
    	    	MessageDialog.openInformation(getShell(), null, Messages.OrderPreferencePage_PleaseReopenNavigator);
102 116
		    }
103
			return super.performOk();
117
			return true;
104 118

  
105 119
		}
106 120

  
......
111 125
        @Override
112 126
        public void widgetSelected(SelectionEvent e) {
113 127
            setApply(true);
114
            isSelectionChanged = true;
128

  
115 129
            for (NavigatorOrderEnum item : NavigatorOrderEnum.values()){
116
                if (item.getLabel().equalsIgnoreCase(orderSelectionCombo.getText())){
117
                    this.orderActivated = item;
130
                if (!orderSelectionCombo.getText().startsWith(Messages.Preference_Use_Default)){
131
                    orderActivated = (NavigatorOrderEnum)orderSelectionCombo.getData(orderSelectionCombo.getText());
132
                }else{
133
                    orderActivated = null;
118 134
                }
135

  
119 136
            }
120 137
        }
121 138

  
......
131 148

  
132 149
        @Override
133 150
        protected void performDefaults() {
134
            activateRestoreNavigatorButton.setSelection(false);
151
            if (!isAdminPreference) {
152
                activateRestoreNavigatorButton.setSelection(false);
153
            }
154

  
135 155
            isRestoreTaxonNavigator = false;
136 156
            orderActivated = NavigatorOrderEnum.RankAndNameOrder;
137 157
            int index = 0;
......
145 165
            super.performDefaults();
146 166
        }
147 167

  
168
        @Override
169
        protected void getValues(){
170
            orderPref = PreferencesUtil.getPreferenceFromDB(PreferencePredicate.TaxonNodeOrder);
171
            override = PreferencesUtil.getBooleanValue(PreferencesUtil.createOverridePreferenceString(PreferencePredicate.TaxonNodeOrder.getKey()));
172
            allowOverride = orderPref != null? orderPref.isAllowOverride():true;
173
            if (orderPref == null || (allowOverride && override)) {
174
                orderActivated = NavigatorOrderEnum.valueOf(PreferencesUtil.getStringValue(PreferencePredicate.TaxonNodeOrder.getKey()));
175
            }else{
176
                orderActivated = orderPref.getValue()!= null? NavigatorOrderEnum.valueOf(orderPref.getValue()):null;
177
            }
178

  
179
        }
148 180

  
149 181
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/PublishFlagLocalPreference.java
8 8
*/
9 9
package eu.etaxonomy.taxeditor.preference;
10 10

  
11
import java.util.ArrayList;
12
import java.util.List;
13

  
14 11
import org.eclipse.swt.SWT;
15 12
import org.eclipse.swt.custom.CLabel;
16 13
import org.eclipse.swt.events.SelectionAdapter;
......
70 67
            return composite;
71 68
        }
72 69

  
73

  
74
//        description.setText(Messages.PublishFlagPreference_description);
75
//        description.setLayoutData(createTextGridData());
76
//        publishFlagBehaviour = new Combo(composite, SWT.READ_ONLY);
77
        List<String> enumValues = new ArrayList();
78

  
79 70
        publishFlagBehaviour = createCombo(composite, PublishEnum.values(), PreferencePredicate.DefaultBehaviourForPublishFlag, Messages.PublishFlagPreference_description, isAdminPreference);
80

  
81
//        publishFlagBehaviour.setFont(parent.getFont());
82
//        for(PublishEnum display: PublishEnum.values()){
83
//            if (pref.getValue().equals(display.getKey())){
84
//                publishFlagBehaviour.add(display.getLabel() + " (Default)");
85
//            }
86
//            else
87
//        }
88

  
89 71
        publishFlagBehaviour.addSelectionListener(new SelectionListener() {
90 72

  
91 73
            @Override
......
107 89
        });
108 90
        if (this.isAdminPreference){
109 91
            allowOverrideButton = createAllowOverrideButton(composite);
110
            allowOverrideButton.setText(Messages.GeneralPreference_override);
111 92
            allowOverrideButton.setSelection(allowOverride);
112 93
            allowOverrideButton.addSelectionListener(new SelectionAdapter(){
113 94
                @Override

Also available in: Unified diff