From e8d1c28a15dd0df2ad0790dbe965fe161130a443 Mon Sep 17 00:00:00 2001 From: dismine Date: Tue, 7 Jan 2014 14:54:50 +0200 Subject: [PATCH] Fixed issue #40. --HG-- branch : develop --- src/tools/drawTools/vtoolpoint.cpp | 13 +++++++++++-- src/tools/drawTools/vtoolsinglepoint.cpp | 11 +++++++++++ src/tools/drawTools/vtoolsinglepoint.h | 1 + src/tools/vabstracttool.h | 2 +- 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/tools/drawTools/vtoolpoint.cpp b/src/tools/drawTools/vtoolpoint.cpp index 372cc4d6c..a0fe4ffd9 100644 --- a/src/tools/drawTools/vtoolpoint.cpp +++ b/src/tools/drawTools/vtoolpoint.cpp @@ -34,7 +34,9 @@ VToolPoint::VToolPoint(VDomDocument *doc, VContainer *data, qint64 id, QGraphics QGraphicsEllipseItem(parent), radius(toPixel(2)), namePoint(0), lineName(0) { namePoint = new VGraphicsSimpleTextItem(this); + namePoint->setBrush(Qt::black); lineName = new QGraphicsLineItem(this); + lineName->setPen(QPen(Qt::black)); connect(namePoint, &VGraphicsSimpleTextItem::NameChangePosition, this, &VToolPoint::NameChangePosition); this->setBrush(QBrush(Qt::NoBrush)); @@ -73,7 +75,7 @@ void VToolPoint::ChangedActivDraw(const QString &newName) if (nameActivDraw == newName) { selectable = true; - currentColor = Qt::black; + currentColor = baseColor; } else { @@ -150,7 +152,14 @@ void VToolPoint::RefreshLine() LineIntersectCircle(QPointF(), radius/factor, QLineF(QPointF(), nameRec.center()- scenePos()), p1, p2); QPointF pRec = LineIntersectRect(nameRec, QLineF(scenePos(), nameRec.center())); lineName->setLine(QLineF(p1, pRec - scenePos())); - lineName->setPen(QPen(currentColor, widthHairLine/factor)); + if(currentColor == Qt::gray) + { + lineName->setPen(QPen(currentColor, widthHairLine/factor)); + } + else + { + lineName->setPen(QPen(Qt::black, widthHairLine/factor)); + } if (QLineF(p1, pRec - scenePos()).length() <= toPixel(4)) { lineName->setVisible(false); diff --git a/src/tools/drawTools/vtoolsinglepoint.cpp b/src/tools/drawTools/vtoolsinglepoint.cpp index f32aa2bc4..33727bf1a 100644 --- a/src/tools/drawTools/vtoolsinglepoint.cpp +++ b/src/tools/drawTools/vtoolsinglepoint.cpp @@ -34,10 +34,13 @@ VToolSinglePoint::VToolSinglePoint (VDomDocument *doc, VContainer *data, qint64 QGraphicsItem * parent ) :VToolPoint(doc, data, id, parent), dialogSinglePoint(QSharedPointer()) { + baseColor = Qt::red; + currentColor = baseColor; ignoreFullUpdate = true; this->setFlag(QGraphicsItem::ItemIsMovable, true); this->setFlag(QGraphicsItem::ItemSendsGeometryChanges, true); this->setFlag(QGraphicsItem::ItemIsFocusable, false); + setColorLabel(Qt::black); if (typeCreation == Tool::FromGui) { AddToFile(); @@ -124,6 +127,12 @@ void VToolSinglePoint::decrementReferens() } } +void VToolSinglePoint::setColorLabel(const Qt::GlobalColor &color) +{ + namePoint->setBrush(color); + lineName->setPen(QPen(color, widthHairLine/factor)); +} + void VToolSinglePoint::contextMenuEvent ( QGraphicsSceneContextMenuEvent * event ) { ContextMenu(dialogSinglePoint, this, event, false); @@ -160,11 +169,13 @@ void VToolSinglePoint::ChangedActivDraw(const QString &newName) { this->setFlag(QGraphicsItem::ItemIsSelectable, true); VToolPoint::ChangedActivDraw(newName); + setColorLabel(Qt::black); } else { this->setFlag(QGraphicsItem::ItemIsSelectable, false); VToolPoint::ChangedActivDraw(newName); + setColorLabel(Qt::gray); } } diff --git a/src/tools/drawTools/vtoolsinglepoint.h b/src/tools/drawTools/vtoolsinglepoint.h index fbc99c1ff..6d1ba456f 100644 --- a/src/tools/drawTools/vtoolsinglepoint.h +++ b/src/tools/drawTools/vtoolsinglepoint.h @@ -117,6 +117,7 @@ private: * @brief dialogSinglePoint */ QSharedPointer dialogSinglePoint; + void setColorLabel(const Qt::GlobalColor & color); }; #endif // VTOOLSINGLEPOINT_H diff --git a/src/tools/vabstracttool.h b/src/tools/vabstracttool.h index b1eb13b0c..f3c036024 100644 --- a/src/tools/vabstracttool.h +++ b/src/tools/vabstracttool.h @@ -278,7 +278,7 @@ protected: /** * @brief baseColor */ - const Qt::GlobalColor baseColor; + Qt::GlobalColor baseColor; /** * @brief currentColor */