[qet] [2734] element text item: element isn't movable by defaut,

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 2734
Author:   blacksun
Date:     2014-01-11 19:09:04 +0100 (Sat, 11 Jan 2014)
Log Message:
-----------
element text item: element isn't movable by defaut,
for move text we must hold ctrl key

Modified Paths:
--------------
    trunk/sources/qetgraphicsitem/elementtextitem.cpp
    trunk/sources/qetgraphicsitem/elementtextitem.h

Modified: trunk/sources/qetgraphicsitem/elementtextitem.cpp
===================================================================
--- trunk/sources/qetgraphicsitem/elementtextitem.cpp	2014-01-11 08:31:39 UTC (rev 2733)
+++ trunk/sources/qetgraphicsitem/elementtextitem.cpp	2014-01-11 18:09:04 UTC (rev 2734)
@@ -31,15 +31,7 @@
 	follow_parent_rotations(false),
 	original_rotation_angle_(0.0),
 	first_move_(true)
-{
-	// par defaut, les DiagramTextItem sont Selectable et Movable
-	// cela nous convient, on ne touche pas a ces flags
-	
-	adjustItemPosition(1);
-	// ajuste la position du QGraphicsItem lorsque le QTextDocument change
-	connect(document(), SIGNAL(blockCountChanged(int)), this, SLOT(adjustItemPosition(int)));
-	connect(document(), SIGNAL(contentsChanged()),      this, SLOT(adjustItemPosition()));
-}
+{build();}
 
 /**
 	Constructeur
@@ -53,10 +45,11 @@
 	follow_parent_rotations(false),
 	original_rotation_angle_(0.0),
 	first_move_(true)
-{
-	// par defaut, les DiagramTextItem sont Selectable et Movable
-	// cela nous convient, on ne touche pas a ces flags
-	
+{build();}
+
+void ElementTextItem::build() {
+	setFlag(QGraphicsItem::ItemIsMovable, false);
+	setToolTip(tr("Maintenir ctrl pour d\351placer", "tool tip for element text item"));
 	adjustItemPosition(1);
 	// ajuste la position du QGraphicsItem lorsque le QTextDocument change
 	connect(document(), SIGNAL(blockCountChanged(int)), this, SLOT(adjustItemPosition(int)));
@@ -224,9 +217,10 @@
 void ElementTextItem::mousePressEvent(QGraphicsSceneMouseEvent *e) {
 	first_move_ = true;
 	if (e -> modifiers() & Qt::ControlModifier) {
-		setSelected(!isSelected());
+		setSelected(true);
+		setFlag(QGraphicsItem::ItemIsMovable, true);
 	}
-	DiagramTextItem::mousePressEvent(e);
+	else DiagramTextItem::mousePressEvent(e);
 }
 
 /**
@@ -307,4 +301,5 @@
 	if (!(e -> modifiers() & Qt::ControlModifier)) {
 		QGraphicsTextItem::mouseReleaseEvent(e);
 	}
+	setFlag(QGraphicsItem::ItemIsMovable, false);
 }

Modified: trunk/sources/qetgraphicsitem/elementtextitem.h
===================================================================
--- trunk/sources/qetgraphicsitem/elementtextitem.h	2014-01-11 08:31:39 UTC (rev 2733)
+++ trunk/sources/qetgraphicsitem/elementtextitem.h	2014-01-11 18:09:04 UTC (rev 2734)
@@ -72,6 +72,10 @@
 	virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
 	virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *);
 	virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *);
+	virtual void focusOutEvent(QFocusEvent *e) {DiagramTextItem::focusOutEvent(e); setFlag(QGraphicsItem::ItemIsMovable, false);}
+
+	private:
+	void build();
 };
 
 /**


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/