Force one selection at a time and fix UI bug

Signed-off-by: Taylor Smock <taylor.smock@kaart.com>
pull/1/head v0.3.7
Taylor Smock 2020-01-02 08:02:15 -07:00
rodzic 4f98ae5de8
commit 6d2121f480
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 625F6A74A3E4311A
1 zmienionych plików z 6 dodań i 3 usunięć

Wyświetl plik

@ -192,10 +192,13 @@ public class MapWithAILayer extends OsmDataLayer implements ActiveLayerChangeLis
@Override
public void selectionChanged(SelectionChangeEvent event) {
final int maximumAdditionSelection = MapWithAIPreferenceHelper.getMaximumAddition();
if (maximumAdditionSelection < event.getSelection().size()
if ((event.getSelection().size() - event.getOldSelection().size() > 1
|| maximumAdditionSelection < event.getSelection().size())
&& (MapWithAIPreferenceHelper.getMaximumAddition() != 0 || !ExpertToggleAction.isExpert())) {
getDataSet().setSelected(event.getSelection().stream().distinct().limit(maximumAdditionSelection)
.collect(Collectors.toList()));
MainApplication.worker.execute(() -> {
getDataSet().setSelected(event.getSelection().stream().distinct().limit(maximumAdditionSelection)
.limit(event.getOldSelection().size() + 1L).collect(Collectors.toList()));
});
}
super.selectionChanged(event);
}