mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-30 22:20:21 +00:00
Move settings of the Ruler to the Ruler.
As with any other graphics object, the settings for the ruler should be managed by the ruler, clearing up the Profile logic and making the code easier to read. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
6aab69b298
commit
119950b6db
4 changed files with 18 additions and 7 deletions
|
@ -499,11 +499,6 @@ void ProfileWidget2::settingsChanged()
|
|||
needReplot = true;
|
||||
}
|
||||
|
||||
if (currentState == PROFILE) {
|
||||
rulerItem->setVisible(prefs.rulergraph);
|
||||
} else {
|
||||
rulerItem->setVisible(false);
|
||||
}
|
||||
if (needReplot)
|
||||
replot();
|
||||
}
|
||||
|
|
|
@ -68,6 +68,7 @@ public:
|
|||
virtual bool eventFilter(QObject *, QEvent *);
|
||||
void setupItem(AbstractProfilePolygonItem *item, DiveCartesianAxis *hAxis, DiveCartesianAxis *vAxis, DivePlotDataModel *model, int vData, int hData, int zValue);
|
||||
void setPrintMode(bool mode, bool grayscale = false);
|
||||
State currentState;
|
||||
|
||||
public
|
||||
slots: // Necessary to call from QAction's signals.
|
||||
|
@ -98,7 +99,6 @@ private: /*methods*/
|
|||
|
||||
private:
|
||||
DivePlotDataModel *dataModel;
|
||||
State currentState;
|
||||
int zoomLevel;
|
||||
qreal zoomFactor;
|
||||
DivePixmapItem *background;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "ruleritem.h"
|
||||
#include "divetextitem.h"
|
||||
#include "profilewidget2.h"
|
||||
#include "../preferences.h"
|
||||
|
||||
#include <QFont>
|
||||
#include <QFontMetrics>
|
||||
|
@ -79,6 +81,15 @@ RulerItem2::RulerItem2() : source(new RulerNodeItem2()),
|
|||
textItemBack->setPen(QColor(Qt::white));
|
||||
textItemBack->setFlag(QGraphicsItem::ItemIgnoresTransformations);
|
||||
setPen(QPen(QColor(Qt::black), 0.0));
|
||||
connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), this, SLOT(settingsChanged()));
|
||||
}
|
||||
|
||||
void RulerItem2::settingsChanged()
|
||||
{
|
||||
ProfileWidget2 *profWidget = NULL;
|
||||
if(scene() && scene()->views().count())
|
||||
profWidget = qobject_cast<ProfileWidget2*>(scene()->views().first());
|
||||
setVisible(profWidget->currentState == ProfileWidget2::PROFILE ? prefs.rulergraph : false);
|
||||
}
|
||||
|
||||
void RulerItem2::recalculate()
|
||||
|
|
|
@ -31,7 +31,8 @@ private:
|
|||
DiveCartesianAxis *depthAxis;
|
||||
};
|
||||
|
||||
class RulerItem2 : public QGraphicsLineItem {
|
||||
class RulerItem2 :public QObject, public QGraphicsLineItem {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit RulerItem2();
|
||||
void recalculate();
|
||||
|
@ -41,6 +42,10 @@ public:
|
|||
RulerNodeItem2 *destNode() const;
|
||||
void setAxis(DiveCartesianAxis *time, DiveCartesianAxis *depth);
|
||||
void setVisible(bool visible);
|
||||
|
||||
public slots:
|
||||
void settingsChanged();
|
||||
|
||||
private:
|
||||
struct plot_info pInfo;
|
||||
QPointF startPoint, endPoint;
|
||||
|
|
Loading…
Reference in a new issue