summaryrefslogtreecommitdiff
path: root/utils/themeeditor/graphics/rbmovable.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/themeeditor/graphics/rbmovable.cpp')
-rw-r--r--utils/themeeditor/graphics/rbmovable.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/utils/themeeditor/graphics/rbmovable.cpp b/utils/themeeditor/graphics/rbmovable.cpp
index 11b3a68..3eca8bd 100644
--- a/utils/themeeditor/graphics/rbmovable.cpp
+++ b/utils/themeeditor/graphics/rbmovable.cpp
@@ -25,7 +25,7 @@
#include "rbmovable.h"
RBMovable::RBMovable(QGraphicsItem* parent)
- : QGraphicsItem(parent)
+ : QGraphicsItem(parent), geomChanged(false)
{
setFlags(ItemIsMovable | ItemIsSelectable | ItemSendsGeometryChanges);
}
@@ -61,7 +61,7 @@ QVariant RBMovable::itemChange(GraphicsItemChange change, const QVariant &value)
pos.setY(qMax(0., pos.y()));
pos.setY(qMin(pos.y(), bound.height() - boundingRect().height()));
- saveGeometry();
+ geomChanged = true;
return pos;
}
@@ -69,3 +69,17 @@ QVariant RBMovable::itemChange(GraphicsItemChange change, const QVariant &value)
return QGraphicsItem::itemChange(change, value);
}
+void RBMovable::mousePressEvent(QGraphicsSceneMouseEvent *event)
+{
+ QGraphicsItem::mousePressEvent(event);
+}
+
+void RBMovable::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)
+{
+ QGraphicsItem::mouseReleaseEvent(event);
+ if(isSelected())
+ {
+ saveGeometry();
+ geomChanged = false;
+ }
+}