mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-20 16:20:52 +01:00
hover an element when create new shape don't focus him
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2932 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -445,9 +445,11 @@ void DiagramView::mousePressEvent(QMouseEvent *e) {
|
|||||||
switchToVisualisationModeIfNeeded(e);
|
switchToVisualisationModeIfNeeded(e);
|
||||||
fresh_focus_in_ = false;
|
fresh_focus_in_ = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isInteractive() && !scene -> isReadOnly() && e -> buttons() == Qt::LeftButton) {
|
if (isInteractive() && !scene -> isReadOnly() && e -> buttons() == Qt::LeftButton) {
|
||||||
switch (current_behavior) {
|
switch (current_behavior) {
|
||||||
case noAction:
|
case noAction:
|
||||||
|
QGraphicsView::mousePressEvent(e);
|
||||||
break;
|
break;
|
||||||
case addingText:
|
case addingText:
|
||||||
addDiagramTextAtPos(mapToScene(e -> pos()));
|
addDiagramTextAtPos(mapToScene(e -> pos()));
|
||||||
@@ -474,6 +476,7 @@ void DiagramView::mousePressEvent(QMouseEvent *e) {
|
|||||||
break;
|
break;
|
||||||
case dragView:
|
case dragView:
|
||||||
current_behavior = noAction;
|
current_behavior = noAction;
|
||||||
|
QGraphicsView::mousePressEvent(e);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
current_behavior = noAction;
|
current_behavior = noAction;
|
||||||
@@ -482,13 +485,13 @@ void DiagramView::mousePressEvent(QMouseEvent *e) {
|
|||||||
}
|
}
|
||||||
// workaround for drag view with hold wheel click and drag mouse
|
// workaround for drag view with hold wheel click and drag mouse
|
||||||
// see also mouseMoveEvent() and mouseReleaseEvent()
|
// see also mouseMoveEvent() and mouseReleaseEvent()
|
||||||
if (e -> buttons() == Qt::MidButton) {
|
else if (e -> buttons() == Qt::MidButton) {
|
||||||
setCursor(Qt::ClosedHandCursor);
|
setCursor(Qt::ClosedHandCursor);
|
||||||
reference_view_ = mapToScene(e -> pos());
|
reference_view_ = mapToScene(e -> pos());
|
||||||
center_view_ = mapToScene(this -> viewport() -> rect()).boundingRect().center();
|
center_view_ = mapToScene(this -> viewport() -> rect()).boundingRect().center();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QGraphicsView::mousePressEvent(e);
|
else QGraphicsView::mousePressEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -502,7 +505,7 @@ void DiagramView::mouseMoveEvent(QMouseEvent *e) {
|
|||||||
center_view_ = mapToScene(this -> viewport() -> rect()).boundingRect().center();
|
center_view_ = mapToScene(this -> viewport() -> rect()).boundingRect().center();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((e -> buttons() & Qt::LeftButton) &&
|
else if ((e -> buttons() & Qt::LeftButton) &&
|
||||||
(current_behavior == addingLine || current_behavior == addingRectangle || current_behavior == addingEllipse)) {
|
(current_behavior == addingLine || current_behavior == addingRectangle || current_behavior == addingEllipse)) {
|
||||||
QRectF rec = QRectF(rubber_band_origin, mapToScene(e->pos())).normalized();
|
QRectF rec = QRectF(rubber_band_origin, mapToScene(e->pos())).normalized();
|
||||||
scene ->removeItem(newItem);
|
scene ->removeItem(newItem);
|
||||||
@@ -511,7 +514,7 @@ void DiagramView::mouseMoveEvent(QMouseEvent *e) {
|
|||||||
newItem -> setLineAngle(rubber_band_origin != rec.topLeft() && rubber_band_origin != rec.bottomRight());
|
newItem -> setLineAngle(rubber_band_origin != rec.topLeft() && rubber_band_origin != rec.bottomRight());
|
||||||
scene ->addItem(newItem);
|
scene ->addItem(newItem);
|
||||||
}
|
}
|
||||||
QGraphicsView::mouseMoveEvent(e);
|
else QGraphicsView::mouseMoveEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -523,7 +526,7 @@ void DiagramView::mouseReleaseEvent(QMouseEvent *e) {
|
|||||||
setCursor(Qt::ArrowCursor);
|
setCursor(Qt::ArrowCursor);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (current_behavior == addingLine || current_behavior == addingRectangle || current_behavior == addingEllipse) {
|
else if (current_behavior == addingLine || current_behavior == addingRectangle || current_behavior == addingEllipse) {
|
||||||
newItem -> setFullyBuilt(true);
|
newItem -> setFullyBuilt(true);
|
||||||
// le place a la position pos en gerant l'annulation
|
// le place a la position pos en gerant l'annulation
|
||||||
scene -> undoStack().push(new AddShapeCommand(scene, newItem, rubber_band_origin));
|
scene -> undoStack().push(new AddShapeCommand(scene, newItem, rubber_band_origin));
|
||||||
@@ -537,7 +540,7 @@ void DiagramView::mouseReleaseEvent(QMouseEvent *e) {
|
|||||||
current_behavior = noAction;
|
current_behavior = noAction;
|
||||||
}
|
}
|
||||||
|
|
||||||
QGraphicsView::mouseReleaseEvent(e);
|
else QGraphicsView::mouseReleaseEvent(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user