subsurface/desktop-widgets
Berthold Stoeger 2021035cfc selection: replace selectedTrips() by singleSelectedTrip() function
To check wether the tab widgets should show the trip view, they called
the selectedTrips() function. The trip view was shown if that contained
only one trip. However, the selectedTrips() function was very slow,
because it has to query to core models.

Change the function to singleSelectedTrip(), which returns a trip
if there is exactly one trip selected. The function returns early
if there is more than one trip selected. This makes the select-all
case much faster.

There are two cases which are still very slow:
- List mode, because here all top-level items are queried.
- Dive log with many only top-level items.

Ultimately, we will have to cache the trip selection because
querying the model is too slow.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2020-04-26 13:54:59 -07:00
..
css
preferences Typo fix: Programm to program 2020-03-22 12:01:59 -07:00
statistics Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
tab-widgets selection: replace selectedTrips() by singleSelectedTrip() function 2020-04-26 13:54:59 -07:00
about.cpp cleanup: update all copyright dates to 2020 2020-04-04 12:00:24 -07:00
about.h
about.ui
btdeviceselectiondialog.cpp code cleanup: replace deprecated setBackgroundColor() method 2020-01-10 02:37:03 +09:00
btdeviceselectiondialog.h Bluetooth: use standard Qt code on Windows 2018-09-30 08:09:37 -07:00
btdeviceselectiondialog.ui Desktop: add checkbox to show all BT devices 2019-02-14 09:05:58 -08:00
CMakeLists.txt desktop: remove user survey 2020-04-19 14:27:54 -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
divecomponentselection.ui Add various enhancements to profile export and dive data copy 2019-02-07 16:06:43 +01:00
divecomputermanagementdialog.cpp
divecomputermanagementdialog.h
divecomputermanagementdialog.ui
divelistview.cpp selection: replace selectedTrips() by singleSelectedTrip() function 2020-04-26 13:54:59 -07:00
divelistview.h selection: replace selectedTrips() by singleSelectedTrip() function 2020-04-26 13:54:59 -07:00
divelogexportdialog.cpp cleanup: replace constructs of the type &vector[0] by vector.data() 2020-04-21 07:50:38 -07:00
divelogexportdialog.h desktop-widgets: move export functions to shared class 2019-12-03 21:30:39 -08:00
divelogexportdialog.ui Reorganise and reword divelog export panel 2020-04-18 12:08:48 -07:00
divelogimportdialog.cpp Grammar: replaces 'indexes' by 'indices' 2020-03-11 08:26:30 -07:00
divelogimportdialog.h Import: Make DiveLogImportDialog modal 2018-10-04 10:22:11 +02:00
divelogimportdialog.ui
divepicturewidget.cpp Cleanup: remove unneeded QtConcurrent includes 2020-02-16 16:52:12 -08:00
divepicturewidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
diveplanner.cpp Planner: don't filter cylinders 2020-02-11 20:37:09 -08:00
diveplanner.h code cleanup: remove unused QSignalMapper 2020-01-10 02:37:03 +09:00
diveplanner.ui
diveshareexportdialog.cpp desktop-widgets: diveDiveShareExportDialog add signal handling 2019-12-11 11:08:51 -05:00
diveshareexportdialog.h desktop-widgets: diveDiveShareExportDialog add signal handling 2019-12-11 11:08:51 -05:00
diveshareexportdialog.ui
divesiteimportdialog.cpp code cleanup: add empty table structures 2020-01-10 02:37:03 +09:00
divesiteimportdialog.h Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
divesiteimportdialog.ui Create DivesiteImportDialog to select sites to import 2019-05-06 10:48:44 +02:00
downloadfromdivecomputer.cpp mobile: unify download code on mobile and desktop 2020-03-10 09:25:57 -07:00
downloadfromdivecomputer.h Import: Make DownloadThread a subobject of DiveImportedModel 2019-10-02 08:04:49 -07:00
downloadfromdivecomputer.ui Desktop/remember DCs: avoid highlighted button 2018-09-23 11:49:30 -07:00
filterwidget2.cpp filter: implement filtering for divemode 2020-04-24 10:05:27 -07:00
filterwidget2.h Filter: split out filter from model 2019-11-19 21:13:40 -08:00
filterwidget2.ui filter: implement filtering for divemode 2020-04-24 10:05:27 -07:00
findmovedimagesdialog.cpp media: move picture function from dive.c to picture.c 2020-04-10 10:53:03 -07:00
findmovedimagesdialog.h
findmovedimagesdialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
groupedlineedit.cpp
groupedlineedit.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
importgps.cpp core: move GPX parsing into core 2020-01-24 09:51:02 -08:00
importgps.h core: move GPX parsing into core 2020-01-24 09:51:02 -08:00
importgps.ui Typo: UCT to UTC 2020-03-19 08:37:59 -07:00
kmessagewidget.cpp
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 Dive site: don't save invalid GPS coordinates 2020-02-06 08:50:22 -08:00
locationinformation.h Dive site: give visual clue for invalid coordinates 2020-02-06 08:50:22 -08:00
locationinformation.ui Desktop: Import dive coordinates directly from GPS 2020-01-24 09:51:02 -08:00
mainwindow.cpp cleanup: move clearing of event names to clear_dive_file_data() 2020-04-24 10:40:12 -07:00
mainwindow.h desktop: remove user survey 2020-04-19 14:27:54 -07:00
mainwindow.ui desktop: remove user survey 2020-04-19 14:27:54 -07:00
mapwidget.cpp map: call set_selection() core function to select dives 2020-04-25 13:20:25 -07:00
mapwidget.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00
modeldelegates.cpp delegates: remove TankInfoDelegate::createEditor() 2020-04-12 10:32:58 -07:00
modeldelegates.h delegates: remove TankInfoDelegate::createEditor() 2020-04-12 10:32:58 -07:00
notificationwidget.cpp
notificationwidget.h
plannerDetails.ui
plannerSettings.ui Planner: Add option to treat O2 as narcotic 2019-10-31 00:30:38 -07:00
printdialog.cpp Add the ability to export print template as html 2019-09-11 17:21:50 +01:00
printdialog.h Add the ability to export print template as html 2019-09-11 17:21:50 +01:00
printer.cpp Add the ability to export print template as html 2019-09-11 17:21:50 +01:00
printer.h Add the ability to export print template as html 2019-09-11 17:21:50 +01: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 UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
shifttimes.ui
simplewidgets.cpp undo: implement set point change undo command 2020-04-07 00:13:35 +02:00
simplewidgets.h undo: switch SetpointDialog from divecomputer to dive + dc-number 2020-04-07 00:13:35 +02:00
starwidget.cpp code cleanup: replace deprecated member function QColor::dark() 2020-01-10 02:37:03 +09:00
starwidget.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
subsurfacewebservices.cpp desktop: remove user survey 2020-04-19 14:27:54 -07:00
subsurfacewebservices.h desktop: remove user survey 2020-04-19 14:27:54 -07:00
tableview.cpp code cleanup: QFontMetrics::width() is deprecated 2020-01-10 02:37:03 +09:00
tableview.h Desktop: don't connect to remove() slot of model from TableModel 2019-12-05 10:14:25 -08:00
tableview.ui
tagwidget.cpp Desktop: remove edit-check in tag-widget completer 2019-04-14 03:38:22 +12:00
tagwidget.h Undo: implement undo of tag editing 2019-04-12 18:19:07 +03:00
templateedit.cpp Warnings: replace memcpy by assignment 2018-11-19 13:51:03 -08:00
templateedit.h
templateedit.ui
templatelayout.cpp Selection: move selection functions from divelist.c to selection.c 2019-12-04 13:00:23 +01:00
templatelayout.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00
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 core: move updatecheck to its own domain 2019-02-09 10:37:55 -08:00
updatemanager.h
urldialog.ui UI change of "images"/"photo" to "media" or "media files" 2018-07-15 09:38:12 -07:00
usermanual.cpp cleanup: split uiLanguage() in two functions 2020-03-22 12:01:09 -07:00
usermanual.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
webservices.ui