Skip to content

Commit

Permalink
Fix selection loss in classifications view when moving
Browse files Browse the repository at this point in the history
  • Loading branch information
Bios-Marcel committed Jul 15, 2024
1 parent f6a5ab7 commit a315933
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions src/main/java/link/biosmarcel/baka/view/ClassificationsView.java
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,9 @@ protected void updateItem(@Nullable ClassificationRuleFX item, boolean empty) {
state.data.classificationRules.set(index, state.data.classificationRules.get(index - 1));
state.data.classificationRules.set(index - 1, selectedClassification.rule);

// FIXME delta change
listView.getItems().setAll(convertRules(state.data.classificationRules));
final int oldViewIndex = listView.getItems().indexOf(selectedClassification);
listView.getItems().set(oldViewIndex, listView.getItems().get(oldViewIndex - 1));
listView.getItems().set(index - 1, selectedClassification);
listView.getSelectionModel().select(selectedClassification);
});
final var downButton = new Button("↓");
Expand All @@ -136,8 +137,9 @@ protected void updateItem(@Nullable ClassificationRuleFX item, boolean empty) {
state.data.classificationRules.set(index, state.data.classificationRules.get(index + 1));
state.data.classificationRules.set(index + 1, selectedClassification.rule);

// FIXME delta change
listView.getItems().setAll(convertRules(state.data.classificationRules));
final int oldViewIndex = listView.getItems().indexOf(selectedClassification);
listView.getItems().set(oldViewIndex, listView.getItems().get(oldViewIndex + 1));
listView.getItems().set(index + 1, selectedClassification);
listView.getSelectionModel().select(selectedClassification);
});
final var listViewButtons = new HBox(
Expand Down

0 comments on commit a315933

Please sign in to comment.