Skip to content

Commit 05fdde3

Browse files
committed
Merge branch 'develop' into bugfix/strg_combos_not_working_in_edit_work_dd
2 parents 4c95d2b + 522e571 commit 05fdde3

File tree

2 files changed

+42
-12
lines changed

2 files changed

+42
-12
lines changed

pom.xml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,22 @@
3232
</parent>
3333

3434
<repositories>
35-
<!-- Including for fontawesome -->
35+
36+
<!-- Including for fontawesome-->
3637
<repository>
3738
<id>fontawesomefx-repo</id>
3839
<name>FontAwesome Repository</name>
39-
<url>https://bintray.com/jerady/maven/FontAwesomeFX</url>
40+
<url>https://dl.bintray.com/jerady/maven</url>
4041
</repository>
41-
</repositories>
42+
43+
<!-- needed to resolve against central first-->
44+
<repository>
45+
<id>central</id>
46+
<name>Maven Central</name>
47+
<layout>default</layout>
48+
<url>https://repo1.maven.org/maven2</url>
49+
</repository>
50+
</repositories>
4251

4352
<properties>
4453
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

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

Lines changed: 30 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import javafx.beans.property.StringProperty;
3636
import javafx.beans.value.ChangeListener;
3737
import javafx.beans.value.ObservableValue;
38+
import javafx.collections.transformation.FilteredList;
3839
import javafx.fxml.FXML;
3940
import javafx.scene.Node;
4041
import javafx.scene.control.ComboBox;
@@ -81,9 +82,12 @@ public class ManageWorkController {
8182
private boolean comboChange;
8283
private Project selectedProject;
8384

85+
private FilteredList<Project> filteredList;
86+
8487
public void setModel(final Model model) {
8588
this.model = model;
86-
projectComboBox.setItems(model.getSortedAvailableProjects());
89+
filteredList = new FilteredList<>(model.getSortedAvailableProjects());
90+
projectComboBox.setItems(filteredList);
8791
}
8892

8993
@FXML
@@ -151,8 +155,11 @@ protected void updateItem(final Project project, final boolean empty) {
151155
if (project == null || empty) {
152156
setGraphic(null);
153157
} else {
154-
setColor(this, project.getColor());
158+
setColor(this, model.hoverBackgroundColor.get());
159+
160+
setTextFill(project.getColor());
155161
setText(project.getName());
162+
156163
setUnderline(project.isWork());
157164
}
158165
}
@@ -189,16 +196,15 @@ public Project fromString(final String string) {
189196
comboChange = true;
190197
// needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
191198
Platform.runLater(() -> {
192-
projectComboBox.getEditor().selectAll();
193-
setColor(projectComboBox, newValue.getColor());
199+
setTextColor(projectComboBox.getEditor(), newValue.getColor());
194200
});
195201
}
196202

197203
);
198204

199205
projectComboBox.getEditor().textProperty().addListener(new ChangeListener<String>() {
200206

201-
Boolean isValidProject = true;
207+
boolean isValidProject = true;
202208

203209
@Override
204210
public void changed(final ObservableValue<? extends String> observable, final String oldValue,
@@ -215,14 +221,20 @@ public void changed(final ObservableValue<? extends String> observable, final St
215221
if (isValidProject) {
216222
isValidProject = false;
217223
projectComboBox.getSelectionModel().clearSelection();
224+
// needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
225+
Platform.runLater(() -> {
226+
setTextColor(projectComboBox.getEditor(), model.hoverFontColor.get());
227+
});
218228
}
219229

220230
// needed to avoid exception on empty textfield https://bugs.openjdk.java.net/browse/JDK-8081700
221231
Platform.runLater(() -> {
222232
projectComboBox.hide();
223-
projectComboBox
224-
.setItems(model.getSortedAvailableProjects().filtered(project -> ProjectsListViewController
225-
.doesProjectMatchSearchFilter(projectComboBox.getEditor().getText(), project)));
233+
234+
final String searchText = projectComboBox.getEditor().getText();
235+
filteredList.setPredicate(
236+
project -> ProjectsListViewController.doesProjectMatchSearchFilter(searchText, project));
237+
226238
if (projectComboBox.getEditor().focusedProperty().get()) {
227239
projectComboBox.show();
228240
}
@@ -284,7 +296,10 @@ public void initializeWith(final Work work) {
284296

285297
projectComboBox.getSelectionModel().select(work.getProject());
286298

287-
setColor(projectComboBox, work.getProject().getColor());
299+
setColor(projectComboBox, model.hoverBackgroundColor.get());
300+
setColor(projectComboBox.getEditor(), model.hoverBackgroundColor.get());
301+
302+
setTextColor(projectComboBox.getEditor(), model.hoverFontColor.get());
288303

289304
}
290305

@@ -294,6 +309,12 @@ private void setColor(final Node object, final Color color) {
294309
object.setStyle(style);
295310
}
296311

312+
private void setTextColor(final Node object, final Color color) {
313+
final String style = StyleUtils.changeStyleAttribute(object.getStyle(), "fx-text-fill",
314+
"rgba(" + ColorHelper.colorToCssRgba(color) + ")");
315+
object.setStyle(style);
316+
}
317+
297318
public Work getWorkFromUserInput() {
298319

299320
return new Work(startDatePicker.getValue(),

0 commit comments

Comments
 (0)