Amelioration mineure du comportement lors des selections multiples d'elements/conducteurs/textes.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@563 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavier
2009-04-04 18:48:15 +00:00
parent 2da668657d
commit 4244f907e4
4 changed files with 25 additions and 5 deletions

View File

@@ -588,6 +588,9 @@ void Conductor::mousePressEvent(QGraphicsSceneMouseEvent *e) {
}
}
QGraphicsPathItem::mousePressEvent(e);
if (e -> modifiers() & Qt::ControlModifier) {
setSelected(!isSelected());
}
}
/**
@@ -654,7 +657,9 @@ void Conductor::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
has_to_save_profile = false;
}
setZValue(previous_z_value);
if (!(e -> modifiers() & Qt::ControlModifier)) {
QGraphicsPathItem::mouseReleaseEvent(e);
}
calculateTextItemPosition();
}

View File

@@ -131,6 +131,16 @@ void DiagramTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) {
}
}
/**
Gere le clic sur le champ de texte
*/
void DiagramTextItem::mousePressEvent(QGraphicsSceneMouseEvent *e) {
if (e -> modifiers() & Qt::ControlModifier) {
setSelected(!isSelected());
}
QGraphicsTextItem::mousePressEvent(e);
}
/**
Gere les mouvements de souris lies au champ de texte
*/
@@ -165,8 +175,10 @@ void DiagramTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
}
diagram_ptr -> invalidateMovedElements();
}
if (!(e -> modifiers() & Qt::ControlModifier)) {
QGraphicsTextItem::mouseReleaseEvent(e);
}
}
/**
Change la position du champ de texte en veillant a ce qu'il

View File

@@ -52,6 +52,7 @@ class DiagramTextItem : public QGraphicsTextItem {
protected:
virtual void focusOutEvent(QFocusEvent *);
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *);
virtual void mousePressEvent(QGraphicsSceneMouseEvent *);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *);

View File

@@ -263,8 +263,8 @@ void Element::setPos(qreal x, qreal y) {
Gere l'enfoncement d'un bouton de la souris
*/
void Element::mousePressEvent(QGraphicsSceneMouseEvent *e) {
if (!isSelected() && e -> modifiers() & Qt::ControlModifier) {
setSelected(true);
if (e -> modifiers() & Qt::ControlModifier) {
setSelected(!isSelected());
}
QGraphicsItem::mousePressEvent(e);
}
@@ -302,8 +302,10 @@ void Element::mouseReleaseEvent(QGraphicsSceneMouseEvent *e) {
}
diagram_ptr -> invalidateMovedElements();
}
if (!(e -> modifiers() & Qt::ControlModifier)) {
QGraphicsItem::mouseReleaseEvent(e);
}
}
/**
Permet de savoir si un element XML (QDomElement) represente bien un element