diff options
Diffstat (limited to 'profile-widget')
-rw-r--r-- | profile-widget/divecartesianaxis.cpp | 1 | ||||
-rw-r--r-- | profile-widget/diveprofileitem.cpp | 45 | ||||
-rw-r--r-- | profile-widget/diveprofileitem.h | 7 |
3 files changed, 22 insertions, 31 deletions
diff --git a/profile-widget/divecartesianaxis.cpp b/profile-widget/divecartesianaxis.cpp index 41d6bc3e4..2c3b7fe79 100644 --- a/profile-widget/divecartesianaxis.cpp +++ b/profile-widget/divecartesianaxis.cpp @@ -1,6 +1,7 @@ #include "divecartesianaxis.h" #include "divetextitem.h" #include "helpers.h" +#include <subsurface-qt/SettingsObjectWrapper.h> #ifndef SUBSURFACE_MOBILE #include "preferences/preferencesdialog.h" #endif diff --git a/profile-widget/diveprofileitem.cpp b/profile-widget/diveprofileitem.cpp index b7729bda1..f567801ce 100644 --- a/profile-widget/diveprofileitem.cpp +++ b/profile-widget/diveprofileitem.cpp @@ -10,6 +10,7 @@ #endif #include "diveplannermodel.h" #include "helpers.h" +#include <subsurface-qt/SettingsObjectWrapper.h> #include "libdivecomputer/parser.h" #include "profilewidget2.h" @@ -27,6 +28,11 @@ void AbstractProfilePolygonItem::settingsChanged() { } +void AbstractProfilePolygonItem::setVisible(bool visible) +{ + QGraphicsPolygonItem::setVisible(visible); +} + void AbstractProfilePolygonItem::setHorizontalAxis(DiveCartesianAxis *horizontal) { hAxis = horizontal; @@ -255,7 +261,7 @@ DiveHeartrateItem::DiveHeartrateItem() pen.setCosmetic(true); pen.setWidth(1); setPen(pen); - settingsChanged(); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::hrgraphChanged, this, &DiveHeartrateItem::setVisible); } void DiveHeartrateItem::modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight) @@ -334,11 +340,6 @@ void DiveHeartrateItem::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->restore(); } -void DiveHeartrateItem::settingsChanged() -{ - setVisible(prefs.hrgraph); -} - DivePercentageItem::DivePercentageItem(int i) { QPen pen; @@ -383,11 +384,7 @@ void DivePercentageItem::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->setPen(pen()); painter->drawPolyline(polygon()); painter->restore(); -} - -void DivePercentageItem::settingsChanged() -{ - setVisible(prefs.percentagegraph); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::percentageGraphChanged, this, &DivePercentageItem::setVisible); } DiveAmbPressureItem::DiveAmbPressureItem() @@ -432,11 +429,7 @@ void DiveAmbPressureItem::paint(QPainter *painter, const QStyleOptionGraphicsIte painter->setPen(pen()); painter->drawPolyline(polygon()); painter->restore(); -} - -void DiveAmbPressureItem::settingsChanged() -{ - setVisible(prefs.percentagegraph); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::percentageGraphChanged, this, &DiveAmbPressureItem::setVisible); } DiveGFLineItem::DiveGFLineItem() @@ -481,11 +474,7 @@ void DiveGFLineItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *op painter->setPen(pen()); painter->drawPolyline(polygon()); painter->restore(); -} - -void DiveGFLineItem::settingsChanged() -{ - setVisible(prefs.percentagegraph); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::percentageGraphChanged, this, &DiveAmbPressureItem::setVisible); } DiveTemperatureItem::DiveTemperatureItem() @@ -610,11 +599,7 @@ void DiveMeanDepthItem::paint(QPainter *painter, const QStyleOptionGraphicsItem painter->setPen(pen()); painter->drawPolyline(polygon()); painter->restore(); -} - -void DiveMeanDepthItem::settingsChanged() -{ - setVisible(prefs.show_average_depth); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::showAverageDepthChanged, this, &DiveAmbPressureItem::setVisible); } void DiveMeanDepthItem::createTextItem() { @@ -838,6 +823,14 @@ void DiveCalculatedCeiling::paint(QPainter *painter, const QStyleOptionGraphicsI DiveCalculatedTissue::DiveCalculatedTissue(ProfileWidget2 *widget) : DiveCalculatedCeiling(widget) { settingsChanged(); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::calcalltissuesChanged, this, &DiveCalculatedTissue::setVisible); + connect(SettingsObjectWrapper::instance()->techDetails, &TechnicalDetailsSettings::calcceilingChanged, this, &DiveCalculatedTissue::setVisible); +} + +void DiveCalculatedTissue::setVisible(bool visible) +{ + Q_UNUSED(visible); + settingsChanged(); } void DiveCalculatedTissue::settingsChanged() diff --git a/profile-widget/diveprofileitem.h b/profile-widget/diveprofileitem.h index 8f9a56f6e..ce60b41c3 100644 --- a/profile-widget/diveprofileitem.h +++ b/profile-widget/diveprofileitem.h @@ -49,6 +49,7 @@ slots: virtual void settingsChanged(); virtual void modelDataChanged(const QModelIndex &topLeft = QModelIndex(), const QModelIndex &bottomRight = QModelIndex()); virtual void modelDataRemoved(const QModelIndex &parent, int from, int to); + void setVisible(bool visible); protected: /* when the model emits a 'datachanged' signal, this method below should be used to check if the @@ -91,7 +92,6 @@ public: DiveMeanDepthItem(); virtual void modelDataChanged(const QModelIndex &topLeft = QModelIndex(), const QModelIndex &bottomRight = QModelIndex()); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); - virtual void settingsChanged(); private: void createTextItem(); @@ -116,7 +116,6 @@ public: DiveHeartrateItem(); virtual void modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); - virtual void settingsChanged(); private: void createTextItem(int seconds, int hr); @@ -129,7 +128,6 @@ public: DivePercentageItem(int i); virtual void modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); - virtual void settingsChanged(); private: QString visibilityKey; @@ -141,7 +139,6 @@ public: DiveAmbPressureItem(); virtual void modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); - virtual void settingsChanged(); private: QString visibilityKey; @@ -153,7 +150,6 @@ public: DiveGFLineItem(); virtual void modelDataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight); virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget); - virtual void settingsChanged(); private: QString visibilityKey; @@ -205,6 +201,7 @@ class DiveCalculatedTissue : public DiveCalculatedCeiling { Q_OBJECT public: DiveCalculatedTissue(ProfileWidget2 *profileWidget); + void setVisible(bool visible); virtual void settingsChanged(); }; |