subsurface/desktop-widgets
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
..
css
preferences replace deprecated qSort() with std::sort() 2019-04-12 12:59:17 +03:00
statistics
tab-widgets Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
about.cpp
about.h
about.ui
btdeviceselectiondialog.cpp
btdeviceselectiondialog.h
btdeviceselectiondialog.ui
CMakeLists.txt Undo: implement rudimentary undo of dive-notes editing 2019-04-12 18:19:07 +03:00
command.cpp Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
command.h Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
command_base.cpp
command_base.h Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
command_divelist.cpp Undo: implement undo of dive date- and time-editing 2019-04-12 18:19:07 +03:00
command_divelist.h Undo: keep frontend informed of changes to dive site count 2019-04-12 18:19:07 +03:00
command_divesite.cpp Dive site: implement purge of unused dive sites 2019-04-12 18:19:07 +03:00
command_divesite.h Dive site: implement purge of unused dive sites 2019-04-12 18:19:07 +03:00
command_edit.cpp Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
command_edit.h Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
configuredivecomputerdialog.cpp
configuredivecomputerdialog.h
configuredivecomputerdialog.ui
divecomponentselection.ui
divecomputermanagementdialog.cpp
divecomputermanagementdialog.h
divecomputermanagementdialog.ui
divelistview.cpp replace deprecated qSort() with std::sort() 2019-04-12 12:59:17 +03:00
divelistview.h
divelogexportdialog.cpp Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
divelogexportdialog.h
divelogexportdialog.ui Export profile data 2019-04-04 09:33:56 -07:00
divelogimportdialog.cpp Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
divelogimportdialog.h
divelogimportdialog.ui
divepicturewidget.cpp
divepicturewidget.h
diveplanner.cpp Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
diveplanner.h
diveplanner.ui
diveshareexportdialog.cpp
diveshareexportdialog.h
diveshareexportdialog.ui
downloadfromdivecomputer.cpp Undo: make undo-system dive site-aware 2019-04-12 18:19:07 +03:00
downloadfromdivecomputer.h Leak fix: make ostcFirmwareCheck a unique_ptr 2019-03-18 09:06:32 -07:00
downloadfromdivecomputer.ui
filterwidget2.cpp Cleanup: provide our own qOverload<> implementation. 2019-04-11 11:17:56 +03:00
filterwidget2.h
filterwidget2.ui Filter panel: add suit and notes search fields 2019-02-28 15:45:42 -08:00
findmovedimagesdialog.cpp Desktop: fix another variable name conflict 2019-03-18 19:40:32 -07:00
findmovedimagesdialog.h
findmovedimagesdialog.ui
groupedlineedit.cpp
groupedlineedit.h
kmessagewidget.cpp
kmessagewidget.h
listfilter.ui
locationinformation.cpp Desktop: Dive site editing: give up focus on ESC 2019-04-12 18:19:07 +03:00
locationinformation.h Desktop: Dive site editing: give up focus on ESC 2019-04-12 18:19:07 +03:00
locationinformation.ui Undo: update map when dive site location is changed by undo command 2019-04-12 18:19:07 +03:00
mainwindow.cpp Undo: implement undo of dive site editing 2019-04-12 18:19:07 +03:00
mainwindow.h Cleanup: remove unnecessary signal 2019-04-12 18:19:07 +03:00
mainwindow.ui
mapwidget.cpp Dive site: remove edit mode from dive location widget 2019-04-12 18:19:07 +03:00
mapwidget.h Dive site: remove edit mode from dive location widget 2019-04-12 18:19:07 +03:00
modeldelegates.cpp Dive sites: simplify nr_of_dives_at_dive_site() 2019-04-12 18:19:07 +03:00
modeldelegates.h
notificationwidget.cpp
notificationwidget.h
plannerDetails.ui
plannerSettings.ui Add UI element for final surface segment in planner 2019-03-29 06:51:12 -07:00
printdialog.cpp
printdialog.h
printer.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
printer.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
printoptions.cpp replace deprecated qSort() with std::sort() 2019-04-12 12:59:17 +03:00
printoptions.h Cleanup: remove all Q_NULLPTR instances 2019-04-02 07:34:46 -07:00
printoptions.ui
qtwaitingspinner.cpp
qtwaitingspinner.h
renumber.ui
searchbar.ui
setpoint.ui
shiftimagetimes.ui
shifttimes.ui
simplewidgets.cpp Dive sites: prepare for dive site ref-counting 2019-04-12 18:19:07 +03:00
simplewidgets.h
starwidget.cpp
starwidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
subsurfacewebservices.cpp Dive site: add dive site ref-counting 2019-04-12 18:19:07 +03:00
subsurfacewebservices.h
tableview.cpp
tableview.h
tableview.ui
tagwidget.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
tagwidget.h
templateedit.cpp
templateedit.h
templateedit.ui
templatelayout.cpp get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
templatelayout.h
textedit.cpp Desktop: create new custom TextEdit widget for notes-field 2019-04-12 18:19:07 +03:00
textedit.h Desktop: create new custom TextEdit widget for notes-field 2019-04-12 18:19:07 +03:00
updatemanager.cpp
updatemanager.h
urldialog.ui
usermanual.cpp tell QObject to give the desired children right away 2019-04-12 12:59:17 +03:00
usermanual.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
usersurvey.cpp
usersurvey.h
usersurvey.ui
webservices.ui