Skip to content

Commit 5124a5e

Browse files
committed
using a filtered list now. removed auto select after change.
1 parent a81fbfc commit 5124a5e

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

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

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import javafx.beans.property.StringProperty;
3434
import javafx.beans.value.ChangeListener;
3535
import javafx.beans.value.ObservableValue;
36+
import javafx.collections.transformation.FilteredList;
3637
import javafx.fxml.FXML;
3738
import javafx.scene.Node;
3839
import javafx.scene.control.ComboBox;
@@ -76,9 +77,12 @@ public class ManageWorkController {
7677
private boolean comboChange;
7778
private Project selectedProject;
7879

80+
private FilteredList<Project> filteredList;
81+
7982
public void setModel(final Model model) {
8083
this.model = model;
81-
projectComboBox.setItems(model.getSortedAvailableProjects());
84+
filteredList = new FilteredList<>(model.getSortedAvailableProjects());
85+
projectComboBox.setItems(filteredList);
8286
}
8387

8488
@FXML
@@ -187,17 +191,15 @@ public Project fromString(final String string) {
187191
comboChange = true;
188192
// needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
189193
Platform.runLater(() -> {
190-
projectComboBox.getEditor().selectAll();
191194
setTextColor(projectComboBox.getEditor(), newValue.getColor());
192-
193195
});
194196
}
195197

196198
);
197199

198200
projectComboBox.getEditor().textProperty().addListener(new ChangeListener<String>() {
199201

200-
Boolean isValidProject = true;
202+
boolean isValidProject = true;
201203

202204
@Override
203205
public void changed(final ObservableValue<? extends String> observable, final String oldValue,
@@ -223,9 +225,11 @@ public void changed(final ObservableValue<? extends String> observable, final St
223225
// needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
224226
Platform.runLater(() -> {
225227
projectComboBox.hide();
226-
projectComboBox
227-
.setItems(model.getSortedAvailableProjects().filtered(project -> ProjectsListViewController
228-
.doesProjectMatchSearchFilter(projectComboBox.getEditor().getText(), project)));
228+
229+
final String searchText = projectComboBox.getEditor().getText();
230+
filteredList.setPredicate(
231+
project -> ProjectsListViewController.doesProjectMatchSearchFilter(searchText, project));
232+
229233
if (projectComboBox.getEditor().focusedProperty().get()) {
230234
projectComboBox.show();
231235
}

0 commit comments

Comments
 (0)