subsurface/qt-models
Berthold Stoeger 6f574c53a3 Undo: implement undo of dive site editing
This one is a bit more tricky. There are two modes: set dive site
and set newly created dive site. This is realized using an OO model
with derived classed. Quite convoluted - but it seems to work.

Moreover, editing a dive site is not simply setting a value,
but the list of dives in a dive site has to be kept up to date.

Finally, we have to inform the dive site list of the changed
number of dives. Therefore add a new signal diveSiteDivesChanged.
To send only one signal per dive site, hook into the undo() and
redo() functions and call the functions of the base class there.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-04-12 18:19:07 +03:00
..
cleanertablemodel.cpp Icons: cache small edit icon 2019-04-12 18:19:07 +03:00
cleanertablemodel.h Icons: cache small edit icon 2019-04-12 18:19:07 +03:00
CMakeLists.txt CMake: add headers to targets 2019-03-27 14:07:32 -07:00
completionmodels.cpp Add SPDX header to Qt models 2017-04-29 13:32:55 -07:00
completionmodels.h Add SPDX header to Qt models 2017-04-29 13:32:55 -07:00
cylindermodel.cpp Dive site: add dive site list tab 2019-04-12 18:19:07 +03:00
cylindermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
divecomputerextradatamodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
divecomputerextradatamodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
divecomputermodel.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveimportedmodel.cpp Undo: make undo-system dive site-aware 2019-04-12 18:19:07 +03:00
diveimportedmodel.h Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
divelistmodel.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
divelistmodel.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
divelocationmodel.cpp Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
divelocationmodel.h Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
divepicturemodel.cpp Profile: add "synchronous" mode for picture plotting 2019-02-07 16:06:43 +01:00
divepicturemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplannermodel.cpp Undo: consider dive site in AddDive() 2019-04-12 18:19:07 +03:00
diveplannermodel.h Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
diveplotdatamodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
diveplotdatamodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
divetripmodel.cpp Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
divetripmodel.h Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
filtermodels.cpp Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
filtermodels.h Filter panel: add suit and notes search fields 2019-02-28 15:45:42 -08:00
gpslistmodel.cpp Add 'location_t' data structure 2018-10-21 19:55:09 +03:00
gpslistmodel.h Unused code: GpsListModel::addGpsFix() 2018-01-10 16:45:42 +01:00
maplocationmodel.cpp Map: create correct index in updateMapLocationCoordinates() 2019-03-15 07:40:13 -07:00
maplocationmodel.h Dive list: don't pass dive_site via uintptr_t through QML 2018-10-29 00:09:31 +00:00
messagehandlermodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
messagehandlermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
models.cpp Icons: cache small edit icon 2019-04-12 18:19:07 +03:00
models.h Icons: cache small edit icon 2019-04-12 18:19:07 +03:00
tankinfomodel.cpp equipment: sanitize 'tank_info' loop limits 2018-06-20 09:30:58 +09:00
tankinfomodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
treemodel.cpp Cleanup: make DiveTripModel a global object 2018-09-01 07:48:43 -07:00
treemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
weightmodel.cpp equipment: sanitize 'ws_info' loop limits 2018-06-20 09:30:58 +09:00
weightmodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
weightsysteminfomodel.cpp equipment: sanitize 'ws_info' loop limits 2018-06-20 09:30:58 +09:00
weightsysteminfomodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
yearlystatisticsmodel.cpp Cleanup: make argument to YearStatisticsItem constructor a reference 2019-03-19 16:06:14 -07:00
yearlystatisticsmodel.h Show average max depth in yearly statistics 2018-12-17 12:18:26 +01:00