cleanup: move mark_divelist_changed() to qmlmanager.cpp

Desktop does not use mark_divelist_changed() anymore - all is done
via the undo machinery. Therefore move this function (and its
counterpart unsaved_changes()) to qmlmanager.cpp.

Ultimately, it probably should be removed from there as well, but
currently I don't dare to touch all the cloud-logic!

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2020-10-21 23:34:15 +02:00 committed by Dirk Hohndel
parent c263487e7c
commit 3358bff432
3 changed files with 18 additions and 20 deletions

View file

@ -17,10 +17,6 @@
#include "table.h"
#include "trip.h"
/* This flag is set to true by operations that are not implemented in the
* undo system. It is therefore only cleared on save and load. */
static bool dive_list_changed = false;
bool autogroup = false;
void set_autogroup(bool value)
@ -803,19 +799,6 @@ bool filter_dive(struct dive *d, bool shown)
return changed;
}
void mark_divelist_changed(bool changed)
{
if (dive_list_changed == changed)
return;
dive_list_changed = changed;
updateWindowTitle();
}
int unsaved_changes()
{
return dive_list_changed;
}
void process_loaded_dives()
{
int i;
@ -1058,7 +1041,6 @@ void add_imported_dives(struct dive_table *import_table, struct trip_table *impo
/* We might have deleted the old selected dive.
* Choose the newest dive as selected (if any) */
current_dive = dive_table.nr > 0 ? dive_table.dives[dive_table.nr - 1] : NULL;
mark_divelist_changed(true);
free_device_table(devices_to_add);

View file

@ -26,8 +26,6 @@ extern struct dive_table dive_table;
#define DATAFORMAT_VERSION 3
extern void update_cylinder_related_info(struct dive *);
extern void mark_divelist_changed(bool);
extern int unsaved_changes(void);
extern int init_decompression(struct deco_state *ds, struct dive *dive);
/* divelist core logic functions */

View file

@ -93,6 +93,23 @@ static void appendTextToLogStandalone(const char *text)
self->appendTextToLog(QString(text));
}
// This flag is set to true by operations that are not implemented in the
// undo system. It is therefore only cleared on save and load.
static bool dive_list_changed = false;
void mark_divelist_changed(bool changed)
{
if (dive_list_changed == changed)
return;
dive_list_changed = changed;
updateWindowTitle();
}
int unsaved_changes()
{
return dive_list_changed;
}
// this callback is used from the uiNotification() function
// the detour via callback allows us to keep the core code independent from QMLManager
// I'm not sure it makes sense to have three different progress callbacks,
@ -455,6 +472,7 @@ void QMLManager::mergeLocalRepo()
struct filter_preset_table filter_presets;
parse_file(qPrintable(nocloud_localstorage()), &table, &trips, &sites, &devices, &filter_presets);
add_imported_dives(&table, &trips, &sites, &devices, IMPORT_MERGE_ALL_TRIPS);
mark_divelist_changed(true);
}
void QMLManager::copyAppLogToClipboard()