Revision f02e08f4
Added by Katja Luther over 4 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/ListComponent.java | ||
---|---|---|
163 | 163 |
//there's a valid selection |
164 | 164 |
//so go ahead and remove whatever's selected. |
165 | 165 |
int index = list.getSelectionIndex(); |
166 |
String item = list.getItem(index); |
|
167 |
if (item.equals(serverSidePreference)) { |
|
168 |
return; |
|
169 |
} |
|
170 |
list.remove(index); |
|
166 |
try{ |
|
167 |
String item = list.getItem(index); |
|
168 |
if (item.equals(serverSidePreference)) { |
|
169 |
return; |
|
170 |
} |
|
171 |
list.remove(index); |
|
171 | 172 |
|
172 | 173 |
|
173 |
int size = list.getItemCount(); |
|
174 |
int size = list.getItemCount();
|
|
174 | 175 |
|
175 |
if (size == 0) { //Nothing's left, disable removing. |
|
176 |
removeButton.setEnabled(false); |
|
176 |
if (size == 0) { //Nothing's left, disable removing.
|
|
177 |
removeButton.setEnabled(false);
|
|
177 | 178 |
|
178 |
} else { //Select an index. |
|
179 |
if (index == size) { |
|
180 |
//removed item in last position |
|
181 |
index--; |
|
182 |
} |
|
179 |
} else { //Select an index.
|
|
180 |
if (index == size) {
|
|
181 |
//removed item in last position
|
|
182 |
index--;
|
|
183 |
}
|
|
183 | 184 |
|
184 |
list.setSelection(index-1); |
|
185 |
preferencePage.setApply(true); |
|
185 |
list.setSelection(index-1);
|
|
186 |
preferencePage.setApply(true);
|
|
186 | 187 |
|
188 |
} |
|
189 |
}catch(IllegalArgumentException iae){ |
|
190 |
//nothing was selected |
|
191 |
return; |
|
187 | 192 |
} |
193 |
|
|
188 | 194 |
} |
189 | 195 |
/** |
190 | 196 |
* {@inheritDoc} |
Also available in: Unified diff
ref #8385: fix general and abcd pages