Project

General

Profile

« Previous | Next » 

Revision f48bafae

Added by Katja Luther over 6 years ago

ref #7119: filter dialog should not remember selection when clicking cancel

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/selection/FilterDialog.java
39 39
    List<TermVocabulary> vocabularies = new ArrayList<TermVocabulary>();
40 40

  
41 41
    List<TermVocabulary> selectedVocabularies = new ArrayList<TermVocabulary>();
42
    List<TermVocabulary> tempSelectedVocabularies = new ArrayList<TermVocabulary>();
42 43

  
43 44
    Object preferenceId;
44 45

  
......
49 50
        super(parentShell);
50 51
        vocabularies = CdmStore.getService(IVocabularyService.class).listByTermType(TermType.NamedArea, true, null, null, null, null);
51 52
        this.preferenceId = preferenceId;
52
        List<TermVocabulary> tempSelectedVocabularies = new ArrayList<>();
53 53
        this.selectedVocabularies = selectedVocabularies;
54

  
54
        this.tempSelectedVocabularies = new ArrayList();
55
        this.tempSelectedVocabularies.addAll(selectedVocabularies);
56
       
55 57
    }
56 58

  
57 59
    @Override
......
73 75
                @Override
74 76
                public void widgetSelected(SelectionEvent e) {
75 77
                   if (btnCheckButton.getSelection()){
76
                       Object obj = btnCheckButton.getData();
77
                       if (!selectedVocabularies.contains(btnCheckButton.getData())){
78
                           selectedVocabularies.add((TermVocabulary)btnCheckButton.getData());
78
                       if (!tempSelectedVocabularies.contains(btnCheckButton.getData())){
79
                    	   tempSelectedVocabularies.add((TermVocabulary)btnCheckButton.getData());
79 80
                       }
80 81
                   }else{
81
                       if (selectedVocabularies.contains(btnCheckButton.getData())){
82
                           selectedVocabularies.remove(btnCheckButton.getData());
82
                       if (tempSelectedVocabularies.contains(btnCheckButton.getData())){
83
                    	   tempSelectedVocabularies.remove(btnCheckButton.getData());
83 84
                       }
84 85
                   }
85 86

  
......
105 106
    @Override
106 107
    protected void okPressed(){
107 108
        for (TermVocabulary voc: vocabularies){
108
            if (selectedVocabularies.contains(voc)){
109
            if (tempSelectedVocabularies.contains(voc)){
109 110
                PreferencesUtil.getPreferenceStore().setValue(getPrefKey(voc), false);
111
                selectedVocabularies.add(voc);
110 112
            } else{
111 113
                PreferencesUtil.getPreferenceStore().setValue(getPrefKey(voc), true);
114
                selectedVocabularies.remove(voc);
112 115
            }
113 116
        }
114 117
        super.okPressed();
115 118
    }
119
    
120
    @Override
121
    protected void cancelPressed(){
122
//    	selectedVocabularies = oldSelectedVocabularies;
123
        super.cancelPressed();
124
    }
116 125

  
117 126
    private String getPrefKey(TermVocabulary vocabulary){
118 127
        return "hide_"+NamedAreaSelectionDialog.class.getCanonicalName()+vocabulary.getUuid()+preferenceId;

Also available in: Unified diff