Skip to content

Commit 41dc3e8

Browse files
committed
replaced manual sorting with sortedList
1 parent 794c0e7 commit 41dc3e8

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed

src/main/java/de/doubleslash/keeptime/controller/Controller.java

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -186,18 +186,6 @@ public void editProject(final Project projectToBeUpdated, final Project newValue
186186

187187
public void editWork(final Work workToBeEdited, final Work newValuedWork) {
188188
LOG.info("Changing work '{}' to '{}'.", workToBeEdited, newValuedWork);
189-
int index = model.getPastWorkItems().size() - 1;
190-
for (int i = 0; i < model.getPastWorkItems().size(); i++) {
191-
final Work work = model.getPastWorkItems().get(i);
192-
if (work.getId() == workToBeEdited.getId()) {
193-
model.getPastWorkItems().remove(work);
194-
continue;
195-
}
196-
if (work.getStartTime().isAfter(newValuedWork.getStartTime())) {
197-
index = i;
198-
break;
199-
}
200-
}
201189

202190
workToBeEdited.setCreationDate(newValuedWork.getCreationDate());
203191
workToBeEdited.setStartTime(newValuedWork.getStartTime());
@@ -207,7 +195,7 @@ public void editWork(final Work workToBeEdited, final Work newValuedWork) {
207195

208196
final LocalDate dateNow = dateProvider.dateTimeNow().toLocalDate();
209197
if (dateNow.equals(workToBeEdited.getCreationDate())) {
210-
model.getPastWorkItems().add(index, workToBeEdited);
198+
model.getPastWorkItems().add(workToBeEdited);
211199
}
212200

213201
model.getWorkRepository().save(workToBeEdited);

src/main/java/de/doubleslash/keeptime/model/Model.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import java.util.Comparator;
2020

2121
import org.springframework.beans.factory.annotation.Autowired;
22+
import org.springframework.context.ConfigurableApplicationContext;
2223
import org.springframework.stereotype.Component;
2324

2425
import de.doubleslash.keeptime.model.repos.ProjectRepository;
@@ -63,6 +64,8 @@ public Model(final ProjectRepository projectRepository, final WorkRepository wor
6364
private ObservableList<Project> allProjects = FXCollections.observableArrayList();
6465

6566
protected final ObservableList<Work> pastWorkItems = FXCollections.observableArrayList();
67+
private final SortedList<Work> sortedPastWorkItems = new SortedList<>(pastWorkItems,
68+
Comparator.comparing(Work::getStartTime));
6669
public final ObjectProperty<Work> activeWorkItem = new SimpleObjectProperty<>();
6770

6871
public final ObjectProperty<Color> taskBarColor = new SimpleObjectProperty<>(ORIGINAL_TASK_BAR_FONT_COLOR);
@@ -76,6 +79,9 @@ public Model(final ProjectRepository projectRepository, final WorkRepository wor
7679
public final ObjectProperty<Boolean> useHotkey = new SimpleObjectProperty<>(false);
7780
public final ObjectProperty<Boolean> displayProjectsRight = new SimpleObjectProperty<>(false);
7881
public final ObjectProperty<Boolean> hideProjectsOnMouseExit = new SimpleObjectProperty<>(true);
82+
public final ObjectProperty<Boolean> emptyNoteReminder = new SimpleObjectProperty<>(false);
83+
84+
private ConfigurableApplicationContext springContext;
7985

8086
public void setWorkRepository(final WorkRepository workRepository) {
8187
this.workRepository = workRepository;
@@ -128,4 +134,16 @@ public ObservableList<Project> getAvailableProjects() {
128134
public ObservableList<Project> getAllProjects() {
129135
return allProjects;
130136
}
137+
138+
public void setSpringContext(final ConfigurableApplicationContext springContext) {
139+
this.springContext = springContext;
140+
}
141+
142+
public ConfigurableApplicationContext getSpringContext() {
143+
return this.springContext;
144+
}
145+
146+
public SortedList<Work> getSortedPastWorkItems() {
147+
return sortedPastWorkItems;
148+
}
131149
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ private void initialize() {
295295

296296
projectsListViewController.tick();
297297

298-
mainColorTimeLine.update(model.getPastWorkItems(), controller.calcTodaysSeconds());
298+
mainColorTimeLine.update(model.getSortedPastWorkItems(), controller.calcTodaysSeconds());
299299
updateTaskbarIcon(currentWorkSeconds);
300300
});
301301

0 commit comments

Comments
 (0)