Skip to content

Commit 63209ad

Browse files
author
Martin Plieske
committed
moved tooltip logic to addProjectToProjectList method, moved logic for adding projects to ...NodeMap to returnListCellOfProject method
1 parent c094255 commit 63209ad

File tree

1 file changed

+7
-11
lines changed

1 file changed

+7
-11
lines changed

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

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import de.doubleslash.keeptime.exceptions.FXMLLoaderException;
2121
import de.doubleslash.keeptime.model.Model;
2222
import de.doubleslash.keeptime.model.Project;
23-
import javafx.collections.ListChangeListener;
2423
import javafx.collections.ObservableList;
2524
import javafx.collections.transformation.FilteredList;
2625
import javafx.fxml.FXMLLoader;
@@ -77,14 +76,6 @@ public ProjectsListViewController(final Model model, final Controller controller
7776

7877
projectSelectionNodeMap = new HashMap<>(model.getAvailableProjects().size());
7978

80-
model.getSortedAvailableProjects().addListener((ListChangeListener<? super Project>) listener -> {
81-
listener.next();
82-
if (listener.wasAdded()) {
83-
final Project addedProject = listener.getAddedSubList().get(0);
84-
addProjectToProjectSelectionNodeMap(addedProject);
85-
}
86-
});
87-
8879
for (final Project project : model.getSortedAvailableProjects()) {
8980
addProjectToProjectSelectionNodeMap(project);
9081
}
@@ -160,8 +151,6 @@ public ProjectsListViewController(final Model model, final Controller controller
160151
private void addProjectToProjectSelectionNodeMap(final Project project) {
161152
if (project.isEnabled()) {
162153
final Pane projectElement = addProjectToProjectList(project);
163-
final Label projectNameLabel = (Label) projectElement.getChildren().get(0);
164-
projectNameLabel.setTooltip(new Tooltip(projectNameLabel.getText()));
165154
projectSelectionNodeMap.put(project, projectElement);
166155
}
167156
}
@@ -273,6 +262,8 @@ private Pane addProjectToProjectList(final Project p) {
273262
projectNameLabel.setEffect(null);
274263
});
275264

265+
projectNameLabel.setTooltip(new Tooltip(projectNameLabel.getText()));
266+
276267
final MenuItem changeWithTimeMenuItem = new MenuItem("Change with time");
277268
changeWithTimeMenuItem.setOnAction(e -> {
278269
final ChangeWithTimeDialog changeWithTimeDialog = new ChangeWithTimeDialog(model,
@@ -394,6 +385,11 @@ protected void updateItem(final Project item, final boolean empty) {
394385
if (item == null || empty) {
395386
setGraphic(null);
396387
} else {
388+
final Pane graphic = (Pane) projectSelectionNodeMap.get(item);
389+
if (graphic == null) {
390+
final Project addedProject = item;
391+
addProjectToProjectSelectionNodeMap(addedProject);
392+
}
397393
LOG.trace("Item: '{}' -> '{}'", item.getName(), projectSelectionNodeMap.get(item));
398394
setGraphic(projectSelectionNodeMap.get(item));
399395
}

0 commit comments

Comments
 (0)