subsurface/desktop-widgets
Berthold Stoeger 764aa6c512 planner: remove DivePlannerPointsModel::startTimeChanged signal
The way the starting time of a new plan was set was bonkers:

1) PlannerWidgets::planDive() invokes DivePlannerPointsModel::
   createSimpleDive().

2) createSimpleDive() calls DivePlannerPointsModel::
   setupStartTime()

3) setupStartTime() emits a signal startTimeChanged()

4) startTimeChanged is caught by PlannerWidget and sets
   the UI field

5) change of the UI field emits a timeChanged() signal which
   is connected to DivePlannerPointsModel::setStartTime()

6) setStartTime() sets the time of the plan and displayed_dive
   and emits dataChanged()

7) dataChanged() replots the dive()

8) Back in DivePlannerPointsModel::createSimpleDive() the diveplan
   start time is overwritten with displayed_dive (the value are
   equal owing to 6)

Wow!

But it gets worse:

9) The initial dive plan is set up in createSimpleDive().

Since the profile is drawn in 7) after clearing the displayed_dive
and before constructing the initial plan, the profile is shown
on a dive without samples. It therefore generates a dummy profile.

To make this somewhat less insane, remove the startTimeChanged()
signal in 3), explicitly set the start time of plan and dive to
the one calculated by setupStartTime() and explicitly set the UI
filed in the plannerWidget.

This still indirectly draws the profile via signals in a convoluted
way, but at it straightens out things somewhat. Most importantly,
the profile doesn't have to generate a fake DC.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-01-20 10:01:50 -08:00
..
css
preferences mobile: add GF fields for ceiling calculation 2021-01-19 12:34:46 -08:00
qml statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
statistics cleanup: remove empty files in desktop-widgets/statistics 2020-09-12 08:36:10 -07:00
tab-widgets profile: remove ProfileWidget2::dateTimeChanged() 2021-01-10 15:57:39 -08:00
about.cpp cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
about.h cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
about.ui
addfilterpreset.ui filter: create a primitive "create filter preset" dialog 2020-09-29 16:13:03 -07:00
btdeviceselectiondialog.cpp desktop: minor tweak for dark modes 2020-11-07 15:23:53 -08:00
btdeviceselectiondialog.h cleanup: remove QPointer instances 2020-12-17 13:03:56 -08:00
btdeviceselectiondialog.ui
CMakeLists.txt desktop: add statistics widget dummy and application state 2021-01-03 13:41:15 -08:00
configuredivecomputerdialog.cpp cleanup: use safe connect() in ConfigureDiveComputerDialog 2020-10-06 10:38:45 -07:00
configuredivecomputerdialog.h cleanup: use safe connect() in ConfigureDiveComputerDialog 2020-10-06 10:38:45 -07:00
configuredivecomputerdialog.ui
divecomponentselection.ui
divelistview.cpp cleanup: remove "GpsLocation *locationProvider" from MainWindow 2021-01-01 12:38:50 -08:00
divelistview.h desktop: init dive list header actions in constructor 2020-12-12 15:52:40 -08:00
divelogexportdialog.cpp Increase event icon size in print mode 2020-09-03 11:46:18 -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 cleanup: fix deprecated role 2020-10-26 19:27:03 -07:00
divelogimportdialog.h parser: replace params[] code by new xml_params struct 2020-10-23 18:17:02 -07:00
divelogimportdialog.ui
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 planner: remove DivePlannerPointsModel::startTimeChanged signal 2021-01-20 10:01:50 -08:00
diveplanner.h profile: move DiveHandler to profile-widget folder 2020-12-12 15:52:40 -08: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
divesiteimportdialog.ui
downloadfromdivecomputer.cpp cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
downloadfromdivecomputer.h cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
downloadfromdivecomputer.ui
filterconstraintwidget.cpp preferences: create global settingsChanged signal 2020-12-12 15:52:40 -08:00
filterconstraintwidget.h filter: add a filter constraint widget 2020-09-29 16:13:03 -07:00
filterwidget.cpp filter: don't escape '&' in filter-preset menu 2020-11-07 14:08:39 -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
findmovedimagesdialog.ui
groupedlineedit.cpp desktop: avoid crashes on drag&drop in GroupedLineEdit 2020-10-24 09:49:36 -07:00
groupedlineedit.h
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
kmessagewidget.h
listfilter.ui
locationinformation.cpp [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
locationinformation.h cleanup: fix compiler warning 2020-08-24 08:31:38 -07:00
locationinformation.ui Desktop: Import dive coordinates directly from GPS 2020-01-24 09:51:02 -08:00
mainwindow.cpp desktop: add statistics widget dummy and application state 2021-01-03 13:41:15 -08:00
mainwindow.h desktop: add statistics widget dummy and application state 2021-01-03 13:41:15 -08:00
mainwindow.ui desktop/UI: move statistics to View menu 2021-01-06 10:11:31 -08:00
mapwidget.cpp cleanup: invert control-flow when resetting the core structures 2020-05-07 08:43:27 -07:00
mapwidget.h Cleanup: lower-case filenames in core/subsurface-qt/ 2020-02-04 02:16:46 +01:00
modeldelegates.cpp core: remove the "no-name" tank info 2020-12-13 11:49:59 -08:00
modeldelegates.h cleanup: use pointer-to-member style connect for ComboBoxDelegate 2020-05-16 10:09:35 -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 printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
printdialog.h printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
printer.cpp cleanup: remove QPointer instances 2020-12-17 13:03:56 -08:00
printer.h cleanup: remove QPointer instances 2020-12-17 13:03:56 -08:00
printoptions.cpp printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
printoptions.h cleanup: make templateOptions and printOptions reference types 2020-12-17 13:03:56 -08:00
printoptions.ui Set printer resolution 2020-09-03 11:46:16 -07:00
qtwaitingspinner.cpp
qtwaitingspinner.h
renumber.ui
searchbar.ui
setpoint.ui
shiftimagetimes.ui
shifttimes.ui
simplewidgets.cpp undo: remove invalidate_dive_cache call from MainTab 2021-01-11 08:42:17 -08:00
simplewidgets.h desktop: move MinMaxAvgWidget to TabDiveStatistics 2020-10-26 20:56:56 -07: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 statistics: don't replot chart when changing features 2021-01-20 08:47:18 +01:00
statswidget.h statistics: turn ChartGrid into QSGNodes 2021-01-20 08:47:18 +01:00
statswidget.ui statistics: convert chart to QQuickItem 2021-01-10 15:16:52 -08:00
subsurfacewebservices.cpp cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07:00
subsurfacewebservices.h cleanup: fix deprecated QFlags use 2020-10-26 19:27:03 -07: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
tagwidget.cpp cleanup: SkipEmptyParts syntax has changed 2020-10-26 19:27:03 -07:00
tagwidget.h cleanup: remove TagWidget::fixPopupPosition() 2020-10-24 09:50:39 -07:00
templateedit.cpp printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
templateedit.h printing: move #includes from headers to source files 2020-12-17 13:03:56 -08:00
templateedit.ui
templatelayout.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
templatelayout.h printing: remove CylinderObjectHelper 2020-12-17 13:03:56 -08:00
textedit.cpp
textedit.h
tripselectiondialog.cpp desktop: add trip selection dialog 2020-10-03 10:01:13 -07: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
urldialog.ui
usermanual.cpp cleanup: don't initialize flags with just an integer 2020-10-26 19:27:03 -07:00
usermanual.h
webservices.ui