Warn when reloading with unsaved modifications
Since the reload operation overwrites all changes, warn before reloading if there are unsaved modifications. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
19
src/io.c
19
src/io.c
@@ -83,6 +83,8 @@ HTABLE_PROTOTYPE(ht_keybindings, ht_keybindings_s)
|
||||
HTABLE_GENERATE(ht_keybindings, ht_keybindings_s, load_keys_ht_getkey,
|
||||
load_keys_ht_compare)
|
||||
|
||||
static int modified = 0;
|
||||
|
||||
/* Draw a progress bar while saving, loading or exporting data. */
|
||||
static void progress_bar(progress_bar_t type, int progress)
|
||||
{
|
||||
@@ -430,6 +432,8 @@ void io_save_cal(enum save_display display)
|
||||
if (!io_save_keys())
|
||||
ERROR_MSG("%s", access_pb);
|
||||
|
||||
io_unset_modified();
|
||||
|
||||
/* Print a message telling data were saved */
|
||||
if (ui_mode == UI_CURSES && conf.system_dialogs) {
|
||||
status_mesg(save_success, enter);
|
||||
@@ -1342,3 +1346,18 @@ int io_file_cp(const char *src, const char *dst)
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
void io_unset_modified(void)
|
||||
{
|
||||
modified = 0;
|
||||
}
|
||||
|
||||
void io_set_modified(void)
|
||||
{
|
||||
modified = 1;
|
||||
}
|
||||
|
||||
int io_get_modified(void)
|
||||
{
|
||||
return modified;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user