From d17ef77cc2c7060e0716620e72e50a138844b7ea Mon Sep 17 00:00:00 2001 From: dfochi Date: Wed, 6 Jul 2016 14:46:53 +0000 Subject: [PATCH] Hard code fix for preventing element autonumbering crashing QElectro until correction. Minor: assign project variables to element label git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4564 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/qetgraphicsitem/customelement.cpp | 1 + sources/qetgraphicsitem/element.cpp | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/sources/qetgraphicsitem/customelement.cpp b/sources/qetgraphicsitem/customelement.cpp index b00f8107c..7a5a58b07 100644 --- a/sources/qetgraphicsitem/customelement.cpp +++ b/sources/qetgraphicsitem/customelement.cpp @@ -271,6 +271,7 @@ void CustomElement::paint(QPainter *qp, const QStyleOptionGraphicsItem *options) instructions. */ void CustomElement::parseLabels() { + return; if ((this->taggedText("label")!= NULL) && (location().projectId()!=-1) && (this->taggedText("label")->toPlainText()=="_")) { //element is being added QXmlStreamReader rxml; QString path[10]; diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index 8893d6145..74e46c44f 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -644,6 +644,7 @@ void Element::hoverLeaveEvent(QGraphicsSceneHoverEvent *e) { */ QString Element::assignVariables(QString label, Element *elmt){ + //Titleblock Variables for (int i = 0; i < elmt->diagram()->border_and_titleblock.additionalFields().count(); i++) { QString folio_variable = elmt->diagram()->border_and_titleblock.additionalFields().keys().at(i); @@ -655,6 +656,19 @@ QString Element::assignVariables(QString label, Element *elmt){ } } + //Project Variables + for (int i = 0; i < elmt->diagram()->project()->projectProperties().count(); i++) + { + QString folio_variable = elmt->diagram()->project()->projectProperties().keys().at(i); + QVariant folio_value = elmt->diagram()->project()->projectProperties().operator [](folio_variable); + + if (label.contains(folio_variable)) { + label.replace("%{" + folio_variable + "}", folio_value.toString()); + label.replace("%" + folio_variable , folio_value.toString()); + } + } + + //Default Variables label.replace("%f", QString::number(elmt->diagram()->folioIndex()+1)); label.replace("%F", elmt->diagram() -> border_and_titleblock.folio()); label.replace("%c", QString::number(elmt->diagram() -> convertPosition(elmt -> scenePos()).number()));