diff --git a/profile-widget/profileview.cpp b/profile-widget/profileview.cpp index dd65fc952..2fadf619d 100644 --- a/profile-widget/profileview.cpp +++ b/profile-widget/profileview.cpp @@ -4,8 +4,9 @@ #include "zvalues.h" #include "core/errorhelper.h" #include "core/pref.h" -#include "core/settings/qPrefTechnicalDetails.h" #include "core/settings/qPrefDisplay.h" +#include "core/settings/qPrefPartialPressureGas.h" +#include "core/settings/qPrefTechnicalDetails.h" #include "qt-quick/chartitem.h" #include @@ -59,6 +60,31 @@ ProfileView::ProfileView(QQuickItem *parent) : ChartView(parent, ProfileZValue:: setAcceptHoverEvents(true); setAcceptedMouseButtons(Qt::LeftButton); + + auto tec = qPrefTechnicalDetails::instance(); + connect(tec, &qPrefTechnicalDetails::calcalltissuesChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::calcceilingChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::gflowChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::gfhighChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::dcceilingChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::eadChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::calcceiling3mChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::modChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::calcndlttsChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::hrgraphChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::rulergraphChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::show_sacChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::zoomed_plotChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::decoinfoChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::show_pictures_in_profileChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::tankbarChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::percentagegraphChanged , this, &ProfileView::replot); + connect(tec, &qPrefTechnicalDetails::infoboxChanged , this, &ProfileView::replot); + + auto pp_gas = qPrefPartialPressureGas::instance(); + connect(pp_gas, &qPrefPartialPressureGas::pheChanged, this, &ProfileView::replot); + connect(pp_gas, &qPrefPartialPressureGas::pn2Changed, this, &ProfileView::replot); + connect(pp_gas, &qPrefPartialPressureGas::po2Changed, this, &ProfileView::replot); } ProfileView::ProfileView() : ProfileView(nullptr) @@ -80,6 +106,12 @@ void ProfileView::plotAreaChanged(const QSizeF &s) plotDive(d, dc, RenderFlags::Instant); } +void ProfileView::replot() +{ + if (!empty) + plotDive(d, dc, RenderFlags::None); +} + void ProfileView::clear() { //clearPictures(); diff --git a/profile-widget/profileview.h b/profile-widget/profileview.h index b651b6a4b..275fcbd92 100644 --- a/profile-widget/profileview.h +++ b/profile-widget/profileview.h @@ -41,6 +41,7 @@ private: void plotAreaChanged(const QSizeF &size) override; void resetPointers() override; + void replot(); }; #endif diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp index aa258e376..0d6f2acc3 100644 --- a/profile-widget/profilewidget2.cpp +++ b/profile-widget/profilewidget2.cpp @@ -92,31 +92,6 @@ ProfileWidget2::ProfileWidget2(DivePlannerPointsModel *plannerModelIn, double dp diveDepthTableView->show(); #endif - auto tec = qPrefTechnicalDetails::instance(); - connect(tec, &qPrefTechnicalDetails::calcalltissuesChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::calcceilingChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::gflowChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::gfhighChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::dcceilingChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::eadChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::calcceiling3mChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::modChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::calcndlttsChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::hrgraphChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::rulergraphChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::show_sacChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::zoomed_plotChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::decoinfoChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::show_pictures_in_profileChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::tankbarChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::percentagegraphChanged , this, &ProfileWidget2::actionRequestedReplot); - connect(tec, &qPrefTechnicalDetails::infoboxChanged , this, &ProfileWidget2::actionRequestedReplot); - - auto pp_gas = qPrefPartialPressureGas::instance(); - connect(pp_gas, &qPrefPartialPressureGas::pheChanged, this, &ProfileWidget2::actionRequestedReplot); - connect(pp_gas, &qPrefPartialPressureGas::pn2Changed, this, &ProfileWidget2::actionRequestedReplot); - connect(pp_gas, &qPrefPartialPressureGas::po2Changed, this, &ProfileWidget2::actionRequestedReplot); - setProfileState(); }