From aae0c966893d183838f340e9a8075d1e4453004a Mon Sep 17 00:00:00 2001 From: blacksun Date: Sun, 14 Apr 2013 19:36:02 +0000 Subject: [PATCH] revert the way of scaling operations before rev 2108 except for vertical and horizontal line git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2110 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/editor/elementprimitivedecorator.cpp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/sources/editor/elementprimitivedecorator.cpp b/sources/editor/elementprimitivedecorator.cpp index 4ff3f5f06..2b9ef825d 100644 --- a/sources/editor/elementprimitivedecorator.cpp +++ b/sources/editor/elementprimitivedecorator.cpp @@ -32,10 +32,21 @@ ElementPrimitiveDecorator::~ElementPrimitiveDecorator() { */ QRectF ElementPrimitiveDecorator::internalBoundingRect() const { if (!decorated_items_.count() || !scene()) return(QRectF()); - - QRectF rect = getSceneBoundingRect(decorated_items_.first() -> toItem()); + + //if @decorated_items_ contain one item and if this item is a vertical or horizontal partline, apply a specific methode + if ((decorated_items_.count() == 1) && (decorated_items_.first() -> xmlName() == "line")) { + QRectF horto = decorated_items_.first() -> sceneGeometricRect(); + if (!horto.width() || !horto.height()) { + QRectF rect = getSceneBoundingRect(decorated_items_.first() -> toItem()); + foreach (CustomElementPart *item, decorated_items_) { + rect = rect.united(getSceneBoundingRect(item -> toItem())); + } + return (rect); + } + } + QRectF rect = decorated_items_.first() -> sceneGeometricRect(); foreach (CustomElementPart *item, decorated_items_) { - rect = rect.united(getSceneBoundingRect(item -> toItem())); + rect = rect.united(item -> sceneGeometricRect()); } return(rect); }