Distinguish between interactive and periodic save

A new argument to io_save_cal() makes it possible for the periodic save thread
to avoid 1) user interaction and 2) overwriting new data.

At the moment the thread has no way to report on the result of the save.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
This commit is contained in:
Lars Henriksen
2018-08-30 16:20:15 +02:00
committed by Lukas Fleischer
parent 39ab4665e6
commit 657f007cd2
3 changed files with 17 additions and 9 deletions

View File

@@ -274,7 +274,7 @@ static inline void key_generic_save(void)
char *msg = NULL;
int ret;
ret = io_save_cal();
ret = io_save_cal(interactive);
if (ret == IO_SAVE_RELOAD) {
ui_todo_load_items();
@@ -505,7 +505,7 @@ static inline void key_generic_scroll_down(void)
static inline void key_generic_quit(void)
{
if (conf.auto_save)
io_save_cal();
io_save_cal(interactive);
if (conf.auto_gc)
note_gc();
@@ -540,7 +540,7 @@ static inline void key_generic_cmd(void)
if (!strcmp(cmd_name, "write") || !strcmp(cmd_name, "w") ||
!strcmp(cmd_name, "wq")) {
io_save_cal();
io_save_cal(interactive);
valid = 1;
}
if (!strcmp(cmd_name, "quit") || !strcmp(cmd_name, "q") ||