subsurface/profile-widget
Berthold Stoeger 77a6bc6d62 profile/planner: don't update dive in ProfileWidget2::plotDive()
In planner or profile-edit mode, the plotDive() function takes
the current plan and turns it into a dive profile. Not only
is this a layering violation (the display layer modifying the
dive), it is also fundamentally flawed. The control-flow is
out of control, if you wish. There are numerous reasons why
the profile needs to be replot, many of which do not need
a recalculated dive profile.

Move the code that updates the dive-profile to the
DivePlannerPointsModel. Thus, the profile recalculations
and replots can be pooled. This will break the planner, since
there now might be missing calls to the profile recalculation.
But it already has some positive effects: when removing
multiple points, the profile is only recalculated once.

This will need much more work, but it is a start.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-04-02 13:53:23 -07:00
..
animationfunctions.cpp Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
animationfunctions.h Profile: add speed parameter to Animation::* functions 2019-07-12 09:59:28 +02:00
CMakeLists.txt profile: move DiveHandler to profile-widget folder 2020-12-12 15:52:40 -08:00
divecartesianaxis.cpp profile: explicitly update gas-axis 2021-01-10 15:57:39 -08:00
divecartesianaxis.h profile: explicitly update gas-axis 2021-01-10 15:57:39 -08:00
diveeventitem.cpp profile: initialize DiveEventItem::dive to null 2021-03-05 08:30:23 +01:00
diveeventitem.h profile: pass dive to EventItem 2021-01-10 15:57:39 -08:00
divehandler.cpp profile use unique_ptr to manage dive handler objects 2021-04-02 13:53:23 -07:00
divehandler.h profile: pass dive to DiveHandler 2021-01-10 15:57:39 -08:00
divelineitem.cpp Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divelineitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divepixmapitem.cpp profile: move picture removal from DivePictureItem to ProfileWidget2 2020-12-19 20:19:51 +01:00
divepixmapitem.h profile: move picture removal from DivePictureItem to ProfileWidget2 2020-12-19 20:19:51 +01:00
diveprofileitem.cpp profile: fix color on pressure-item 2021-03-31 08:48:38 -07:00
diveprofileitem.h planner: pass in_planner argument to replot() 2021-02-17 07:26:55 -08:00
diverectitem.cpp Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
diverectitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divetextitem.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divetextitem.h Add SPDX header to profile widgets 2017-04-29 13:32:55 -07:00
divetooltipitem.cpp planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
divetooltipitem.h planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
profilewidget2.cpp profile/planner: don't update dive in ProfileWidget2::plotDive() 2021-04-02 13:53:23 -07:00
profilewidget2.h profile: make ItemPos initialization constant 2021-04-02 13:53:23 -07:00
qmlprofile.cpp profile: display arbitrary dive 2021-04-02 13:53:23 -07:00
qmlprofile.h mobile/profile: listen to dive changes and redraw profile 2020-12-21 13:12:37 -08:00
ruleritem.cpp profile: pass dive to RulerItem 2021-01-10 15:57:39 -08:00
ruleritem.h profile: pass dive to RulerItem 2021-01-10 15:57:39 -08:00
tankitem.cpp cleanup: constify TankItem::setData() 2021-01-20 10:01:50 -08:00
tankitem.h cleanup: constify TankItem::setData() 2021-01-20 10:01:50 -08:00