From 4fea5dee440e6b253e6d204fba2dd1e0fbdea39f Mon Sep 17 00:00:00 2001 From: xavier Date: Sat, 18 Apr 2009 14:21:08 +0000 Subject: [PATCH] Amelioration des methodes de selection dans l'editeur d'element. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@593 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/elementscene.cpp | 9 ++++++++- sources/editor/elementview.cpp | 4 ++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sources/editor/elementscene.cpp b/sources/editor/elementscene.cpp index b1100d5df..2110c153e 100644 --- a/sources/editor/elementscene.cpp +++ b/sources/editor/elementscene.cpp @@ -596,7 +596,8 @@ QRectF ElementScene::borderRect() const { "bounding rect" de l'element */ QRectF ElementScene::sceneContent() const { - return(itemsBoundingRect().unite(borderRect())); + qreal adjustment = 5.0; + return(itemsBoundingRect().unite(borderRect()).adjusted(-adjustment, -adjustment, adjustment, adjustment)); } /** @@ -684,7 +685,10 @@ void ElementScene::paste() { Selectionne tout */ void ElementScene::slot_selectAll() { + blockSignals(true); foreach(QGraphicsItem *qgi, items()) qgi -> setSelected(true); + blockSignals(false); + emit(selectionChanged()); } /** @@ -698,7 +702,10 @@ void ElementScene::slot_deselectAll() { Inverse la selection */ void ElementScene::slot_invertSelection() { + blockSignals(true); foreach(QGraphicsItem *qgi, items()) qgi -> setSelected(!qgi -> isSelected()); + blockSignals(false); + emit(selectionChanged()); } /** diff --git a/sources/editor/elementview.cpp b/sources/editor/elementview.cpp index be726e602..9750d16d4 100644 --- a/sources/editor/elementview.cpp +++ b/sources/editor/elementview.cpp @@ -33,6 +33,7 @@ ElementView::ElementView(ElementScene *scene, QWidget *parent) : setResizeAnchor(QGraphicsView::AnchorUnderMouse); zoomReset(); connect(scene_, SIGNAL(pasteAreaDefined(const QRectF &)), this, SLOT(pasteAreaDefined(const QRectF &))); + connect(scene_, SIGNAL(partsAdded()), this, SLOT(adjustSceneRect())); } /// Destructeur @@ -90,6 +91,7 @@ bool ElementView::event(QEvent *e) { Agrandit le schema (+33% = inverse des -25 % de zoomMoins()) */ void ElementView::zoomIn() { + adjustSceneRect(); scale(4.0/3.0, 4.0/3.0); } @@ -97,6 +99,7 @@ void ElementView::zoomIn() { Retrecit le schema (-25% = inverse des +33 % de zoomPlus()) */ void ElementView::zoomOut() { + adjustSceneRect(); scale(0.75, 0.75); } @@ -114,6 +117,7 @@ void ElementView::zoomFit() { Reinitialise le zoom */ void ElementView::zoomReset() { + adjustSceneRect(); resetMatrix(); scale(4.0, 4.0); }