diff options
author | Berthold Stoeger <bstoeger@mail.tuwien.ac.at> | 2019-03-30 18:39:27 +0100 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2019-04-12 18:19:07 +0300 |
commit | 58f2e5f77c2faaf4c2f75767ee8fde67cc0931ac (patch) | |
tree | 9f76fbf3ccb1cb17c516f077af08810f11fcb40d /core | |
parent | 837ab6c90b7952095c0dadf2de18db883b0f5ecf (diff) | |
download | subsurface-58f2e5f77c2faaf4c2f75767ee8fde67cc0931ac.tar.gz |
Undo: use QUndoStack::isClean() to determine unsaved changes
Properly implement the unsaved-changes flag(s). Since we currently have
two kinds of changes, there are two flags:
1) dive_list_changed in divelist.c marks non-undoable changes. This flag
is only cleared on save or load.
2) QUndoStack::isClean() is used to determine the state of undoable
changes. Every time the user returns to the state where they saved,
this flag is cleared.
Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
Diffstat (limited to 'core')
-rw-r--r-- | core/divelist.c | 2 | ||||
-rw-r--r-- | core/divesitehelpers.cpp | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/core/divelist.c b/core/divelist.c index 635fa0b6e..8881aceeb 100644 --- a/core/divelist.c +++ b/core/divelist.c @@ -20,6 +20,8 @@ #include "git-access.h" #include "table.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; diff --git a/core/divesitehelpers.cpp b/core/divesitehelpers.cpp index 10aab071b..6093c890c 100644 --- a/core/divesitehelpers.cpp +++ b/core/divesitehelpers.cpp @@ -108,7 +108,6 @@ void reverseGeoLookup(degrees_t latitude, degrees_t longitude, taxonomy_data *ta taxonomy->category[ri].category = TC_ADMIN_L3; taxonomy->nr++; } - mark_divelist_changed(true); } else { report_error("geonames.org did not provide reverse lookup information"); qDebug() << "no reverse geo lookup; geonames returned\n" << fullReply; @@ -157,7 +156,6 @@ void reverseGeoLookup(degrees_t latitude, degrees_t longitude, taxonomy_data *ta if (idx == taxonomy->nr) taxonomy->nr++; } - mark_divelist_changed(true); } } else { report_error("timeout accessing geonames.org"); |