diff options
author | Tomaz Canabrava <tcanabrava@kde.org> | 2014-02-12 14:41:59 -0200 |
---|---|---|
committer | Dirk Hohndel <dirk@hohndel.org> | 2014-02-12 10:33:14 -0800 |
commit | cc37d2e94ae34b8f260a1426e49c0ca082226502 (patch) | |
tree | 3d8e4887caf34d5cc5a3b95819047a5a17a4cc44 | |
parent | 0333de426ff0d581a3e4534f3999daf17349c4b5 (diff) | |
download | subsurface-cc37d2e94ae34b8f260a1426e49c0ca082226502.tar.gz |
Make the mean depth line follow the size of the axis.
When we move, shrink or expand the depth axis, the
meandepth should also change it's position. this
patch adds that.
Signed-off-by: Tomaz Canabrava <tcanabrava@kde.org>
Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
-rw-r--r-- | qt-ui/profile/diveprofileitem.cpp | 12 | ||||
-rw-r--r-- | qt-ui/profile/diveprofileitem.h | 4 | ||||
-rw-r--r-- | qt-ui/profile/profilewidget2.cpp | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/qt-ui/profile/diveprofileitem.cpp b/qt-ui/profile/diveprofileitem.cpp index f8a37aeba..0b1d32a4e 100644 --- a/qt-ui/profile/diveprofileitem.cpp +++ b/qt-ui/profile/diveprofileitem.cpp @@ -534,6 +534,18 @@ void MeanDepthLine::setMeanDepth(int value) { leftText->setText(get_depth_string(value, false, false)); rightText->setText(get_depth_string(value, false, false)); + meanDepth = value; +} + +void MeanDepthLine::setAxis(DiveCartesianAxis* a) +{ + connect(a, SIGNAL(sizeChanged()), this, SLOT(axisLineChanged())); +} + +void MeanDepthLine::axisLineChanged() +{ + DiveCartesianAxis *axis = qobject_cast<DiveCartesianAxis*>(sender()); + animateMoveTo(x(),axis->posAtValue(meanDepth)); } void PartialPressureGasItem::modelDataChanged(const QModelIndex& topLeft, const QModelIndex& bottomRight) diff --git a/qt-ui/profile/diveprofileitem.h b/qt-ui/profile/diveprofileitem.h index 640b0d4a6..b51958104 100644 --- a/qt-ui/profile/diveprofileitem.h +++ b/qt-ui/profile/diveprofileitem.h @@ -135,10 +135,14 @@ public: MeanDepthLine(); void setMeanDepth(int value); void setLine(qreal x1, qreal y1, qreal x2, qreal y2); + void setAxis(DiveCartesianAxis *a); +public slots: + void axisLineChanged(); private: int meanDepth; DiveTextItem *leftText; DiveTextItem *rightText; + DiveCartesianAxis *axis; }; class PartialPressureGasItem : public AbstractProfilePolygonItem{ diff --git a/qt-ui/profile/profilewidget2.cpp b/qt-ui/profile/profilewidget2.cpp index ccbc4f6a1..cfe8e7f82 100644 --- a/qt-ui/profile/profilewidget2.cpp +++ b/qt-ui/profile/profilewidget2.cpp @@ -145,6 +145,7 @@ void ProfileWidget2::setupItemOnScene() meanDepth->setX(3); meanDepth->setPen(QPen(QBrush(Qt::red), 0, Qt::SolidLine)); meanDepth->setZValue(1); + meanDepth->setAxis(profileYAxis); cartesianPlane->setBottomAxis(timeAxis); cartesianPlane->setLeftAxis(profileYAxis); |