Skip to content

Commit ef5c645

Browse files
committed
selecting first project in filtered list again
1 parent 2a5b0f3 commit ef5c645

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/main/java/de/doubleslash/keeptime/view/ProjectsListViewController.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import javafx.scene.control.ListView;
3737
import javafx.scene.control.MenuItem;
3838
import javafx.scene.control.MultipleSelectionModel;
39+
import javafx.scene.control.SelectionMode;
3940
import javafx.scene.control.Spinner;
4041
import javafx.scene.control.SpinnerValueFactory.IntegerSpinnerValueFactory;
4142
import javafx.scene.control.TextField;
@@ -97,23 +98,25 @@ public ProjectsListViewController(final Model model, final Controller controller
9798
return false;
9899
});
99100
LOG.debug("Amount of projects to show '{}'.", filteredData.size());
101+
availableProjectsListView.getSelectionModel().selectFirst();
102+
availableProjectsListView.scrollTo(0);
100103
});
101104

102105
searchTextField.setOnKeyPressed(eh -> {
103106
final MultipleSelectionModel<Project> selectionModel = availableProjectsListView.getSelectionModel();
104-
final int selectedIndex = selectionModel.getSelectedIndex();
105107
switch (eh.getCode()) {
106108
case UP:
107109
LOG.debug("Arrow up pressed.");
108-
selectionModel.select(selectedIndex - 1);
110+
selectionModel.selectPrevious();
109111
eh.consume();
110112
break;
111113
case DOWN:
112114
LOG.debug("Arrow down pressed.");
113-
selectionModel.select(selectedIndex + 1);
115+
selectionModel.selectNext();
114116
eh.consume();
115117
break;
116118
case ESCAPE:
119+
LOG.debug("Esc pressed.");
117120
if (hideable) {
118121
mainStage.hide();
119122
}
@@ -123,7 +126,6 @@ public ProjectsListViewController(final Model model, final Controller controller
123126
break;
124127
}
125128
availableProjectsListView.scrollTo(selectionModel.getSelectedIndex());
126-
LOG.debug("Selected list item index '{}'.", selectionModel.getSelectedIndex());
127129
});
128130

129131
// enter pressed in textfield
@@ -135,6 +137,7 @@ public ProjectsListViewController(final Model model, final Controller controller
135137
}
136138
});
137139

140+
availableProjectsListView.getSelectionModel().setSelectionMode(SelectionMode.SINGLE);
138141
availableProjectsListView.getSelectionModel().selectFirst();
139142
}
140143

0 commit comments

Comments
 (0)