subsurface/desktop-widgets
Berthold Stoeger 487974ea91 selection: avoid select_dive() and deselect_dive calls in dive list
Each of these calls recalculates the current dive and divecomputer.
Instead, collect the dives to be selected/deselected and (de)select
them at once.

This needs some code refactoring in the core, because we need a
function that
1) doesn't send a signal by itself.
2) doesn't clear the trip-selection.

This contains some reorganization of the selection functions
signatures: The filter code is the only caller that keeps the
selected dive and the only caller that cares about whether the
current dive changed. So let only the function that keeps the
selected dive return whether the current dive changed.

It's all very fragile.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2023-04-16 20:23:59 +02:00
..
css Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
preferences Map Short Names - add preference setting 2022-08-21 18:53:35 -07:00
qml statistics: don't import QtQuick in StatsView QML file 2022-11-19 15:07:07 -08:00
tab-widgets selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
about.cpp cleanup: don't add QKeySequence values 2022-03-12 08:28:32 -08:00
about.h cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
about.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
addfilterpreset.ui filter: create a primitive "create filter preset" dialog 2020-09-29 16:13:03 -07:00
btdeviceselectiondialog.cpp Qt6: Bluetooth API changes 2022-03-12 08:28:32 -08:00
btdeviceselectiondialog.h cleanup: remove QPointer instances 2020-12-17 13:03:56 -08:00
btdeviceselectiondialog.ui Desktop: add checkbox to show all BT devices 2019-02-14 09:05:58 -08:00
CMakeLists.txt statistics: remove old unused statistics code 2022-11-19 15:03:30 -08:00
configuredivecomputerdialog.cpp core: use divelog struct in downloader code 2023-04-14 21:20:23 +02:00
configuredivecomputerdialog.h cleanup: use safe connect() in ConfigureDiveComputerDialog 2020-10-06 10:38:45 -07:00
configuredivecomputerdialog.ui Desktop: Add option to force overwrite firmware for OSTC4. 2023-03-18 00:11:08 +13:00
divecomponentselection.ui core: replace dive master by dive guide 2022-02-15 09:35:43 -08:00
divelistview.cpp selection: avoid select_dive() and deselect_dive calls in dive list 2023-04-16 20:23:59 +02:00
divelistview.h cleanup: mark DiveListView::selectionChanged() as overridden 2022-08-28 13:34:13 -07:00
divelogexportdialog.cpp cleanup: fix incorrect QFuture return value 2022-03-12 08:28:32 -08: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 core: use divelog in importDives() and process_imported_dives() 2023-04-14 21:20:23 +02:00
divelogimportdialog.h parser: replace params[] code by new xml_params struct 2020-10-23 18:17:02 -07:00
divelogimportdialog.ui Use icons relative path. 2017-11-30 23:14:46 -08:00
divepicturewidget.cpp cleanup: remove unnecessary includes from divepicturewidget.cpp 2020-12-03 10:32:20 -08:00
divepicturewidget.h Cleanup: remove DivePictureThumbnailThread 2020-05-06 13:58:09 -07:00
diveplanner.cpp selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
diveplanner.h profile: move DiveHandler to profile-widget folder 2020-12-12 15:52:40 -08:00
diveplanner.ui Choose water presets from a qcombobox in planner, custom value possible 2018-03-02 08:38:22 -08:00
diveshareexportdialog.cpp Qt6: move connection into C++ source 2022-03-12 08:28:32 -08:00
diveshareexportdialog.h desktop-widgets: diveDiveShareExportDialog add signal handling 2019-12-11 11:08:51 -05:00
diveshareexportdialog.ui Qt6: move connection into C++ source 2022-03-12 08:28:32 -08:00
divesiteimportdialog.cpp core: fold display.h into profile.h 2022-03-13 15:07:33 -07: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
divesitelistview.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
divesitelistview.h desktop: make dive site list an independent widget 2022-09-23 15:50:49 +02:00
divesitelistview.ui desktop: make dive site list an independent widget 2022-09-23 15:50:49 +02:00
downloadfromdivecomputer.cpp core: use divelog struct in downloader code 2023-04-14 21:20:23 +02:00
downloadfromdivecomputer.h Qt6: if we want the QString argument we need the TextChanged slot 2022-03-12 08:28:32 -08:00
downloadfromdivecomputer.ui Desktop/remember DCs: avoid highlighted button 2018-09-23 11:49:30 -07:00
filterconstraintwidget.cpp cleanup: Fix a Coverity warning 2022-02-15 09:30:43 -08:00
filterconstraintwidget.h filter: add a filter constraint widget 2020-09-29 16:13:03 -07:00
filterwidget.cpp desktop: fold ApplicationState into MainWindow 2021-02-17 07:26:55 -08:00
filterwidget.h cleanup: rename FilterWidget2 to FilterWidget 2020-09-29 16:14:31 -07:00
filterwidget.ui cleanup: rename FilterWidget2 to FilterWidget 2020-09-29 16:14:31 -07:00
findmovedimagesdialog.cpp media: move picture function from dive.c to picture.c 2020-04-10 10:53:03 -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 Qt6: add include files to keep QVectorIterator working 2022-03-12 08:28:32 -08:00
groupedlineedit.h Cleanup: reinstate override modifiers 2018-09-29 15:23:25 -07:00
importgps.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07: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 cleanup: prevent distracing conversion warnings 2022-03-12 08:28:32 -08: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 selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
locationinformation.h desktop: make DiveLocationModel entries "editable" 2022-08-22 09:20:45 -07:00
locationinformation.ui Desktop: Import dive coordinates directly from GPS 2020-01-24 09:51:02 -08:00
mainwindow.cpp selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
mainwindow.h core: remove autogroup global 2023-04-14 21:20:23 +02:00
mainwindow.ui desktop: make dive site list an independent widget 2022-09-23 15:50:49 +02:00
mapwidget.cpp selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
mapwidget.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00
modeldelegates.cpp selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
modeldelegates.h Use combo box for moving sensor data 2022-09-03 13:38:34 -07:00
notificationwidget.cpp cleanup: fix incorrect QFuture return value 2022-03-12 08:28:32 -08:00
notificationwidget.h cleanup: fix incorrect QFuture return value 2022-03-12 08:28:32 -08:00
plannerDetails.ui Bring back style sheet HTML for planner output 2017-02-24 01:06:09 -08:00
plannerSettings.ui Planner: Add option to treat O2 as narcotic 2019-10-31 00:30:38 -07:00
printdialog.cpp Add printing option for page orientation 2023-03-28 21:08:37 -07:00
printdialog.h planner: pass in_planner down to TemplateLayout 2021-02-17 07:26:55 -08:00
printer.cpp profile: merge plotDive() into draw() call 2021-12-17 11:54:23 -08:00
printer.h profile: for printing/mobile access ProfileScene directly 2021-12-17 11:54:23 -08:00
printoptions.cpp Add printing option for page orientation 2023-03-28 21:08:37 -07:00
printoptions.h Add printing option for page orientation 2023-03-28 21:08:37 -07:00
printoptions.ui Add printing option for page orientation 2023-03-28 21:08:37 -07:00
profilewidget.cpp selection: move current dive and divecomputer to selection.cpp 2023-04-16 20:23:59 +02:00
profilewidget.h profile: automatically enter edit mode 2022-03-12 18:33:34 +01:00
profilewidget.ui profile: remove profile widget code from mainwindow 2021-12-17 11:54:23 -08:00
qtwaitingspinner.cpp cleanup: prevent distracing conversion warnings 2022-03-12 08:28:32 -08:00
qtwaitingspinner.h Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
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 desktop/image-time-shift: reorder UI 2021-09-22 09:09:12 -07:00
shifttimes.ui cleanup: remove duplicate connections in .ui files 2022-03-12 08:28:32 -08:00
simplewidgets.cpp desktop: pass dive list to ShiftTimesDialog 2023-01-18 15:42:47 -08:00
simplewidgets.h desktop: pass dive list to ShiftTimesDialog 2023-01-18 15:42:47 -08:00
starwidget.cpp cleanup: remove reference to deprecated enum value 2020-10-26 19:27:03 -07:00
starwidget.h cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
statswidget.cpp Qt6: prevent QML object from being garbage collected 2022-03-12 08:28:32 -08:00
statswidget.h Qt6: prevent QML object from being garbage collected 2022-03-12 08:28:32 -08:00
statswidget.ui statistics: add a sort mode for categorical bar charts 2022-01-04 11:14:24 -08:00
subsurfacewebservices.cpp core: use divelog in importDives() and process_imported_dives() 2023-04-14 21:20:23 +02:00
subsurfacewebservices.h Qt6: update the connect calls for QNetworkReply 2022-04-18 07:24:39 +02:00
tableview.cpp desktop: fix saving of column-widths of device and site tables 2020-11-07 11:37:51 -08:00
tableview.h Desktop: don't connect to remove() slot of model from TableModel 2019-12-05 10:14:25 -08:00
tableview.ui Move qt-ui to desktop-widgets 2015-10-30 10:36:49 -07:00
tagwidget.cpp desktop: let tag-widget completion popup accept composition events 2022-08-13 11:19:37 -07:00
tagwidget.h desktop: improve composition on TagWidgets 2022-08-13 11:19:37 -07:00
templateedit.cpp planner: pass in_planner down to TemplateLayout 2021-02-17 07:26:55 -08:00
templateedit.h printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
templateedit.ui templateedit.ui: give the layout for "Border width" unique name 2017-03-12 09:19:03 -07:00
templatelayout.cpp cleanup: move minute formating to format-string.cpp 2022-09-03 13:49:02 -07:00
templatelayout.h planner: pass in_planner down to TemplateLayout 2021-02-17 07:26:55 -08: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
tripselectiondialog.cpp core: introduce divelog structure 2023-04-14 21:20:23 +02:00
tripselectiondialog.h desktop: add trip selection dialog 2020-10-03 10:01:13 -07:00
tripselectiondialog.ui desktop: add trip selection dialog 2020-10-03 10:01:13 -07:00
updatemanager.cpp desktop/update-check: fix logic when to ask about update check 2021-01-06 10:18:23 -08:00
updatemanager.h Add SPDX header to desktop widgets 2017-04-29 13:32:55 -07:00
urldialog.ui Allow more than one media file when importing from the web 2022-04-01 08:28:05 -07:00
usermanual.cpp cleanup: don't initialize flags with just an integer 2020-10-26 19:27:03 -07:00
usermanual.h Remove partial support for QWebEngine 2019-03-20 08:45:02 -07:00
webservices.ui Use icons relative path. 2017-11-30 23:14:46 -08:00