Skip to content

Commit 71cf0ea

Browse files
committed
#178: fix/restore settings handling
1 parent c8ec6ff commit 71cf0ea

File tree

5 files changed

+225
-217
lines changed

5 files changed

+225
-217
lines changed

src/main/java/de/doubleslash/keeptime/App.java

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -185,22 +185,6 @@ private void initialiseApplication(final Stage primaryStage) throws Exception {
185185
private void readSettings() {
186186
LOG.debug("Reading configuration");
187187

188-
if (false) {
189-
LOG.info("Empty settings. Set default");
190-
settings.setTaskBarColor(model.taskBarColor.get());
191-
192-
settings.setDefaultBackgroundColor(Model.ORIGINAL_DEFAULT_BACKGROUND_COLOR);
193-
settings.setDefaultFontColor(Model.ORIGINAL_DEFAULT_FONT_COLOR);
194-
195-
settings.setHoverBackgroundColor(Model.ORIGINAL_HOVER_BACKGROUND_COLOR);
196-
settings.setHoverFontColor(Model.ORIGINAL_HOVER_Font_COLOR);
197-
settings.setUseHotkey(false);
198-
settings.setDisplayProjectsRight(false);
199-
settings.setHideProjectsOnMouseExit(false);
200-
} else {
201-
LOG.info("Got settings from database");
202-
}
203-
204188
model.defaultBackgroundColor.set(settings.getDefaultBackgroundColor());
205189
model.defaultFontColor.set(settings.getDefaultFontColor());
206190
model.hoverBackgroundColor.set(settings.getHoverBackgroundColor());

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

Lines changed: 45 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.List;
2424

2525
import de.doubleslash.keeptime.model.settings.HeimatSettings;
26+
import javafx.scene.paint.Color;
2627
import org.slf4j.Logger;
2728
import org.slf4j.LoggerFactory;
2829
import org.springframework.stereotype.Service;
@@ -122,47 +123,60 @@ public void addNewProject(final Project project) {
122123
model.getProjectRepository().saveAll(changedProjects);
123124
}
124125

125-
public void updateHeimatSettings(final boolean active, String url, String pat){
126-
heimatSettings.setHeimatActive(active);
127-
heimatSettings.setHeimatUrl(url);
128-
heimatSettings.setHeimatPat(pat);
129-
heimatSettings.save();
130-
}
131-
132-
public void updateSettings(final Settings newValuedSettings) {
133-
settings.setTaskBarColor(newValuedSettings.getTaskBarColor());
134-
settings.setDefaultBackgroundColor(newValuedSettings.getDefaultBackgroundColor());
135-
settings.setDefaultFontColor(newValuedSettings.getDefaultFontColor());
136-
settings.setHoverBackgroundColor(newValuedSettings.getHoverBackgroundColor());
137-
settings.setHoverFontColor(newValuedSettings.getHoverFontColor());
138-
settings.setUseHotkey(newValuedSettings.isUseHotkey());
139-
settings.setDisplayProjectsRight(newValuedSettings.isDisplayProjectsRight());
140-
settings.setHideProjectsOnMouseExit(newValuedSettings.isHideProjectsOnMouseExit());
141-
settings.setSaveWindowPosition(newValuedSettings.isSaveWindowPosition());
142-
settings.setWindowXProportion(newValuedSettings.getWindowXProportion());
143-
settings.setWindowYProportion(newValuedSettings.getWindowYProportion());
144-
settings.setScreenHash(newValuedSettings.getScreenHash());
145-
settings.setRemindIfNotesAreEmpty(newValuedSettings.isRemindIfNotesAreEmpty());
146-
settings.setRemindIfNotesAreEmptyOnlyForWorkEntry(newValuedSettings.isRemindIfNotesAreEmptyOnlyForWorkEntry());
147-
settings.setConfirmClose(newValuedSettings.isConfirmClose());
126+
127+
public void updateColorSettings(final Color hoverBackgroundColor,final Color hoverFontColor,final Color defaultBackgroundColor,final Color defaultFontColor,final Color taskBarColor) {
128+
settings.setTaskBarColor(taskBarColor);
129+
settings.setDefaultBackgroundColor(defaultBackgroundColor);
130+
settings.setDefaultFontColor(defaultFontColor);
131+
settings.setHoverBackgroundColor(hoverBackgroundColor);
132+
settings.setHoverFontColor(hoverFontColor);
133+
settings.save();
148134

149135
model.defaultBackgroundColor.set(settings.getDefaultBackgroundColor());
150136
model.defaultFontColor.set(settings.getDefaultFontColor());
151137
model.hoverBackgroundColor.set(settings.getHoverBackgroundColor());
152138
model.hoverFontColor.set(settings.getHoverFontColor());
153139
model.taskBarColor.set(settings.getTaskBarColor());
154-
model.useHotkey.set(settings.isUseHotkey());
140+
}
141+
142+
public void updateLayoutSettings(final boolean displayProjectsRight,final boolean hideProjectsOnMouseExit,final double proportionalX,final double proportionalY,final int screenHash,final boolean saveWindowPosition) {
143+
settings.setDisplayProjectsRight(displayProjectsRight);
144+
settings.setHideProjectsOnMouseExit(hideProjectsOnMouseExit);
145+
settings.setSaveWindowPosition(saveWindowPosition);
146+
settings.setWindowXProportion(proportionalX);
147+
settings.setWindowYProportion(proportionalY);
148+
settings.setScreenHash(screenHash);
149+
settings.save();
150+
155151
model.displayProjectsRight.set(settings.isDisplayProjectsRight());
156152
model.hideProjectsOnMouseExit.set(settings.isHideProjectsOnMouseExit());
157153
model.screenSettings.saveWindowPosition.set(settings.isSaveWindowPosition());
158154
model.screenSettings.proportionalX.set(settings.getWindowXProportion());
159155
model.screenSettings.proportionalY.set(settings.getWindowYProportion());
160156
model.screenSettings.screenHash.set(settings.getScreenHash());
157+
}
158+
159+
public void updateFeatureSettings(final boolean useHotkey,final boolean emptyNoteReminder,final boolean emptyNoteReminderOnlyForWorkEntry,final boolean confirmClose) {
160+
settings.setUseHotkey(useHotkey);
161+
settings.setRemindIfNotesAreEmpty(emptyNoteReminder);
162+
settings.setRemindIfNotesAreEmptyOnlyForWorkEntry(emptyNoteReminderOnlyForWorkEntry);
163+
settings.setConfirmClose(confirmClose);
164+
settings.save();
165+
166+
model.useHotkey.set(settings.isUseHotkey());
161167
model.remindIfNotesAreEmpty.set(settings.isRemindIfNotesAreEmpty());
162168
model.remindIfNotesAreEmptyOnlyForWorkEntry.set(settings.isRemindIfNotesAreEmptyOnlyForWorkEntry());
163169
model.confirmClose.set(settings.isConfirmClose());
164170
}
165171

172+
173+
public void updateHeimatSettings(final boolean active, final String url, final String pat){
174+
heimatSettings.setHeimatActive(active);
175+
heimatSettings.setHeimatUrl(url);
176+
heimatSettings.setHeimatPat(pat);
177+
heimatSettings.save();
178+
}
179+
166180
@PreDestroy
167181
public void shutdown() {
168182
LOG.info("Controller shutdown");
@@ -171,14 +185,11 @@ public void shutdown() {
171185
changeProject(model.getIdleProject(), 0);
172186

173187
LOG.info("Updating settings to persist local changes on shutdown.");
174-
/*final Settings newSettings = new Settings(model.hoverBackgroundColor.get(), model.hoverFontColor.get(),
175-
model.defaultBackgroundColor.get(), model.defaultFontColor.get(), model.taskBarColor.get(),
176-
model.useHotkey.get(), model.displayProjectsRight.get(), model.hideProjectsOnMouseExit.get(),
177-
model.screenSettings.proportionalX.get(), model.screenSettings.proportionalY.get(),
178-
model.screenSettings.screenHash.get(), model.screenSettings.saveWindowPosition.get(),
179-
model.remindIfNotesAreEmpty.get(), model.remindIfNotesAreEmptyOnlyForWorkEntry.get(),
180-
model.confirmClose.get());
181-
updateSettings(newSettings);*/
188+
// these are changed while dragging the windows - not via Settings-Dialog. Therefore, we need to save them separately.
189+
settings.setScreenHash(model.screenSettings.screenHash.get());
190+
settings.setWindowXProportion(model.screenSettings.proportionalX.get());
191+
settings.setWindowYProportion(model.screenSettings.proportionalY.get());
192+
settings.save();
182193
}
183194

184195
public void deleteProject(final Project p) {
@@ -366,4 +377,6 @@ public long calcSeconds(final List<Work> workItems) {
366377

367378
return seconds;
368379
}
380+
381+
369382
}

0 commit comments

Comments
 (0)