subsurface/qt-models
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
..
cleanertablemodel.cpp qt-models: Change Q_UNUSED to no parameter name 2018-05-21 12:48:04 -07:00
cleanertablemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
CMakeLists.txt Cleanup: Remove SsrfFilterSortProxyModel 2018-10-11 16:25: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 Cleanup: pass gasmix by value 2018-08-23 05:16:38 -07: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 Import: unglobalize downloadTable 2018-12-17 07:37:32 -08:00
diveimportedmodel.h Import: unglobalize downloadTable 2018-12-17 07:37:32 -08:00
divelistmodel.cpp Cleanup: remove getDiveId() functions 2018-12-27 15:19:50 -08:00
divelistmodel.h Cleanup: remove getDiveId() functions 2018-12-27 15:19:50 -08:00
divelocationmodel.cpp Dive site: pass pointer-to-dive_site via QVariant 2018-10-29 00:09:31 +00:00
divelocationmodel.h Dive site: remove UUIDs from LocationInformationModel 2018-10-29 00:09:31 +00:00
divepicturemodel.cpp Dive media: put duration on video thumbnails 2018-07-28 15:31:25 -07:00
divepicturemodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplannermodel.cpp Undo: make adding of planned dive undo-able 2018-10-11 16:22:27 -07:00
diveplannermodel.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -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 list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -08:00
filtermodels.h Dive list: split DiveTripModel into distinct models (tree and list) 2019-01-07 09:33:52 -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 Dive list: don't pass dive_site via uintptr_t through QML 2018-10-29 00:09:31 +00: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 Change from gettextFromC::instance()->tr() to gettextFromC::tr(); 2018-06-18 07:42:39 +02:00
models.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07: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 Show average max depth in yearly statistics 2018-12-17 12:18:26 +01:00
yearlystatisticsmodel.h Show average max depth in yearly statistics 2018-12-17 12:18:26 +01:00