diff options
author | Dirk Hohndel <dirk@hohndel.org> | 2014-06-02 18:13:50 -0700 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-06-02 23:38:36 -0700 |
commit | eb9d6d0f94adaf390ae94428afca74c78bc53c53 (patch) | |
tree | 6394c39454e544b381692ae5c2a4eb976a1b5b57 /qthelper.h | |
parent | db4a003ef52baeee8f7d56e56f8314cf61ec4b64 (diff) | |
download | subsurface-eb9d6d0f94adaf390ae94428afca74c78bc53c53.tar.gz |
Rewrite dive edit logic
The existing code took an odd approach. It tried to change all selected
dives whenever the user edited a field, and kept all this backup data in
case the user rejected the edits.
This code takes the opposite approach. Only edit a copy of the selected
dive and then when the user accepts it, edit all the dives and when the
user rejects the edit simply redraw the screen (as all the "real" data is
still unchanged).
This not only saves quite a bit of code, it should be much easier to get
correct.
Admitedly this code will need quite a bit more testing to make sure it
works as intended, but as far as I can tell it already gets more scenarios
right than the previous implementation.
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'qthelper.h')
-rw-r--r-- | qthelper.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/qthelper.h b/qthelper.h index fe0a47be3..528c6366d 100644 --- a/qthelper.h +++ b/qthelper.h @@ -12,7 +12,7 @@ extern QTranslator *qtTranslator, *ssrfTranslator; QString weight_string(int weight_in_grams); -bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed); +bool gpsHasChanged(struct dive *dive, struct dive *master, const QString &gps_text, bool *parsed_out = 0); QString printGPSCoords(int lat, int lon); QList<int> getDivesInTrip(dive_trip_t *trip); QString gasToStr(struct gasmix gas); |