subsurface/desktop-widgets
Berthold Stoeger f1fc89b978 Dive list: split DiveTripModel into distinct models (tree and list)
The DiveTripModel was used to represent both, trip and list views.
Thus many functions had conditionals checking for the current mode
and both modes had to be represented by the same data structure.

Instead, split the model in two and derive them from a base class,
which implements common functions and defines an interface.

The model can be switched by a call to resetModel(), which invalidates
any pointer obtained by instance(). This is quite surprising
behavior. To handle it, straighten out the control flow:

DiveListView --> MultiFilterSortModel --> DiveTripModelBase

Before, DiveListView accessed DiveTripModelBase directly.

A goal of this commit is to enable usage of the same model by mobile
and desktop.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2019-01-07 09:33:52 -08:00
..
css
plugins Cleanup: Turn widget accessor-functions into simple pointers 2018-10-13 21:42:53 -04:00
preferences desktop/preferences: rename the default file group 2019-01-02 09:43:34 -08:00
statistics Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tab-widgets Show average max depth in statistics tab 2018-12-17 12:18:26 +01:00
about.cpp update year to 2019 in about screens 2019-01-02 09:45:01 -08:00
about.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
about.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
btdeviceselectiondialog.cpp Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.h Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.ui Introduce mode field in Bluetooth device selection dialog 2017-11-16 14:26:51 +01:00
CMakeLists.txt Drop old filter code 2018-12-14 01:05:18 +08:00
command.cpp Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
command.h Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
command_base.cpp Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
command_base.h Undo: isolate undo-commands 2018-10-11 16:22:27 -07:00
command_divelist.cpp Cleanup: remove unused parameter was_autogen 2018-12-23 20:00:45 +01:00
command_divelist.h Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
configuredivecomputerdialog.cpp Cleanup: we don't support configuring a Uemis SDA 2018-08-28 12:03:03 -07:00
configuredivecomputerdialog.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
configuredivecomputerdialog.ui Configure ostc3: Remove obsoleted setting 2018-04-27 21:33:47 +03:00
divecomponentselection.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divecomputermanagementdialog.cpp Dive computers: turn QMultiMap into sorted vector 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.h Cleanup: fold DiveComputerManagementDialog::update() into init() 2018-06-17 06:53:13 +09:00
divecomputermanagementdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divelistview.cpp Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
divelistview.h Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
divelogexportdialog.cpp Dive site: replace dive->dive_site_uuid by dive_site 2018-10-29 00:09:31 +00:00
divelogexportdialog.h Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
divelogexportdialog.ui Desktop UI: small layout correction export dialog 2018-09-16 08:07:33 -07:00
divelogimportdialog.cpp Drop old filter code 2018-12-14 01:05:18 +08:00
divelogimportdialog.h Import: Make DiveLogImportDialog modal 2018-10-04 10:22:11 +02:00
divelogimportdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divepicturewidget.cpp Dive media: transport dive-id in drag'n'drop events 2018-07-18 09:06:37 -07:00
divepicturewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplanner.cpp core/settings: change bestmixend to int, to allow qml to work 2018-09-11 17:25:00 -07:00
diveplanner.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
diveplanner.ui Choose water presets from a qcombobox in planner, custom value possible 2018-03-02 08:38:22 -08:00
diveshareexportdialog.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
diveshareexportdialog.h Random whitespace cleanup 2017-05-27 11:07:20 -07:00
diveshareexportdialog.ui
downloadfromdivecomputer.cpp Import: unglobalize downloadTable 2018-12-17 07:37:32 -08:00
downloadfromdivecomputer.h Bluetooth: run a discovery agent for BT/BLE dive computers on macOS 2018-10-12 08:22:44 -07:00
downloadfromdivecomputer.ui Desktop/remember DCs: avoid highlighted button 2018-09-23 11:49:30 -07:00
filterwidget2.cpp Hide unimplemented components from search 2018-12-14 01:05:18 +08:00
filterwidget2.h Handle Show / Close of the Filter Box 2018-12-14 01:05:18 +08:00
filterwidget2.ui Hide unimplemented components from search 2018-12-14 01:05:18 +08:00
findmovedimagesdialog.cpp UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
findmovedimagesdialog.h Dive pictures: implement FindMovedImagesDialog 2018-07-04 02:27:36 +08:00
findmovedimagesdialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
groupedlineedit.cpp Unused code: GroupedLineEdit::removeAllColors() 2018-01-10 16:45:42 +01:00
groupedlineedit.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
kmessagewidget.cpp Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
kmessagewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
listfilter.ui Start to implement a simplified version of the filter widget 2018-12-14 01:05:18 +08:00
locationinformation.cpp Drop old filter code 2018-12-14 01:05:18 +08:00
locationinformation.h Dive site: remove [start|stop]FilterDiveSite signals 2018-10-29 00:09:31 +00:00
locationInformation.ui Use correct alias for satellite icon for revers geo lookup 2018-01-27 12:29:00 -08:00
mainwindow.cpp Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
mainwindow.h Drop old filter code 2018-12-14 01:05:18 +08:00
mainwindow.ui Drop old filter code 2018-12-14 01:05:18 +08:00
mapwidget.cpp Dive site: pass pointer-to-dive_site via QVariant 2018-10-29 00:09:31 +00:00
mapwidget.h Dive site: pass pointer to updateDiveSiteCoordinates() 2018-10-29 00:09:31 +00:00
modeldelegates.cpp Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
modeldelegates.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
notificationwidget.cpp Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
notificationwidget.h Use queued connection to thread-safe MainWindow error handling 2018-01-31 14:47:26 +01:00
plannerDetails.ui Bring back style sheet HTML for planner output 2017-02-24 01:06:09 -08:00
plannerSettings.ui Planner and profile limit minimum GFlow to 10 and minimum GFhigh to 40 2017-11-13 11:53:55 +01:00
printdialog.cpp Drop old filter code 2018-12-14 01:05:18 +08:00
printdialog.h Cleanup: replace virtual by override where appropriate 2018-07-31 11:02:34 +02:00
printer.cpp Cleanup: Turn widget accessor-functions into simple pointers 2018-10-13 21:42:53 -04:00
printer.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
printoptions.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
printoptions.h cleanup: Uninitialized pointer field 2017-12-29 09:14:20 -08:00
printoptions.ui
qtwaitingspinner.cpp
qtwaitingspinner.h
renumber.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
searchbar.ui Use better aliases for icons. 2017-11-30 23:14:46 -08:00
setpoint.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
shiftimagetimes.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
shifttimes.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
simplewidgets.cpp Drop old filter code 2018-12-14 01:05:18 +08:00
simplewidgets.h Drop old filter code 2018-12-14 01:05:18 +08:00
starwidget.cpp Cleanup: remove parameter from currentDiveChanged signal 2018-07-30 12:20:26 -07:00
starwidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
subsurfacewebservices.cpp Fix error message capitalization for web services. 2018-12-23 10:55:46 -08:00
subsurfacewebservices.h Cleanup: Devirtualize WebServices::downloadTimedOut() 2018-09-29 15:16:11 -07:00
tableview.cpp Use better aliases for icons. 2017-11-30 23:14:46 -08:00
tableview.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tableview.ui
tagwidget.cpp Cleanup: rename MainWindow member variables 2018-10-13 21:42:53 -04:00
tagwidget.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
templateedit.cpp Warnings: replace memcpy by assignment 2018-11-19 13:51:03 -08:00
templateedit.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
templateedit.ui templateedit.ui: give the layout for "Border width" unique name 2017-03-12 09:19:03 -07:00
templatelayout.cpp Statistics: only consider selected dives in HTML export statistics 2018-10-07 17:50:51 +03:00
templatelayout.h Translations: unify gettextFromC::tr() and QObject::tr() 2018-07-04 05:33:31 +08:00
updatemanager.cpp update-manager: actually remember that we asked the user 2018-10-02 13:20:44 -07:00
updatemanager.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
urldialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
usermanual.cpp Cleanup: fold core/helpers.h into core/qthelper.h 2018-06-04 08:50:10 -07:00
usermanual.h Desktop: Derive UserManual from QDialog 2018-05-31 21:29:29 +03:00
usersurvey.cpp Revert "desktop-widgets: remove QSettings from desktop-widgets" 2018-08-29 03:09:10 -07:00
usersurvey.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
usersurvey.ui fix: User survey UI. 2017-03-06 06:40:00 -08:00
webservices.ui Use icons relative path. 2017-11-30 23:14:46 -08:00