From ec67d8c40809b391b80ff23c10a073cf0e7b6179 Mon Sep 17 00:00:00 2001 From: dfochi Date: Wed, 13 Jul 2016 21:25:29 +0000 Subject: [PATCH] Minor: %prefix is not hardcoded anymore. Zoom in and out with Ctrl + and Ctrl - git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@4574 bfdf4180-ca20-0410-9c96-a3a8aa849046 --- sources/diagramview.cpp | 6 ++++++ sources/qetgraphicsitem/customelement.cpp | 9 +++++---- sources/qetgraphicsitem/element.cpp | 18 ++++++++++++++++++ sources/qetgraphicsitem/element.h | 3 +++ sources/qetgraphicsitem/slaveelement.cpp | 5 ++++- sources/titleblockproperties.h | 1 + 6 files changed, 37 insertions(+), 5 deletions(-) diff --git a/sources/diagramview.cpp b/sources/diagramview.cpp index a08a4136d..4f42be3c1 100644 --- a/sources/diagramview.cpp +++ b/sources/diagramview.cpp @@ -612,6 +612,12 @@ switch(e -> key()) case Qt::Key_ZoomIn: zoom(1.15); return; + case Qt::Key_Minus: + if (e->modifiers() & Qt::ControlModifier) + zoom(0.85); + case Qt::Key_Plus: + if (e->modifiers() & Qt::ControlModifier) + zoom(1.15); case Qt::Key_Up: if(!scene->selectedContent().elements.isEmpty()){ scrollOnMovement(e); diff --git a/sources/qetgraphicsitem/customelement.cpp b/sources/qetgraphicsitem/customelement.cpp index e0c608264..e15a18eb1 100644 --- a/sources/qetgraphicsitem/customelement.cpp +++ b/sources/qetgraphicsitem/customelement.cpp @@ -311,12 +311,13 @@ void CustomElement::parseLabels() { //if there is a formula to assign, assign it if (!location().project()->elementAutoNumFormula().isEmpty() && this->linkType()!=Element::Slave) { QString formula = location().project()->elementAutoNumFormula(); - formula.replace("%prefix", prefix); + this->setPrefix(prefix); dc.addValue("label", formula); this->setTaggedText("label",formula); } else { //assign only prefix - dc.addValue("label", prefix); - this->setTaggedText("label", prefix); + this->setPrefix(prefix); + dc.addValue("label", "%prefix"); + this->setTaggedText("label", "%prefix"); } this->setElementInformations(dc); return; @@ -340,7 +341,7 @@ void CustomElement::parseLabels() { QString formula = location().project()->elementAutoNumFormula(); DiagramContext &dc = this->rElementInformations(); QString prefix = this->taggedText("label")->toPlainText(); - formula.replace("%prefix", prefix); + this->setPrefix(prefix); dc.addValue("label", formula); this->setTaggedText("label",formula); this->setElementInformations(dc); diff --git a/sources/qetgraphicsitem/element.cpp b/sources/qetgraphicsitem/element.cpp index e1aa44210..7f24074d8 100644 --- a/sources/qetgraphicsitem/element.cpp +++ b/sources/qetgraphicsitem/element.cpp @@ -676,6 +676,9 @@ QString Element::assignVariables(QString label, Element *elmt){ label.replace("%l", elmt->diagram() -> convertPosition(elmt -> scenePos()).letter()); label.replace("%id", QString::number(elmt->diagram()->folioIndex()+1)); label.replace("%total", QString::number(elmt->diagram()->border_and_titleblock.folioTotal())); + label.replace("%prefix", elmt->getPrefix()); + if (label.contains("%prefix")) + label.replace("%prefix",this->getPrefix()); return label; } @@ -745,3 +748,18 @@ ElementTextItem* Element::setTaggedText(const QString &tagg, const QString &news return eti; } +/** + * @brief Element::getPrefix + * get Element Prefix + */ +QString Element::getPrefix() { + return m_prefix; +} + +/** + * @brief Element::setPrefix + * set Element Prefix + */ +void Element::setPrefix(QString prefix) { + m_prefix = prefix; +} diff --git a/sources/qetgraphicsitem/element.h b/sources/qetgraphicsitem/element.h index 7335d2d4a..83b47a5b0 100644 --- a/sources/qetgraphicsitem/element.h +++ b/sources/qetgraphicsitem/element.h @@ -135,6 +135,8 @@ class Element : public QetGraphicsItem { // kind of contact (simple tempo) or number of contact show by the element. QString assignVariables (QString, Element *); void assignSeq (); + void setPrefix(QString); + QString getPrefix(); //ATTRIBUTES protected: @@ -196,6 +198,7 @@ class Element : public QetGraphicsItem { private: bool m_mouse_over; + QString m_prefix; }; diff --git a/sources/qetgraphicsitem/slaveelement.cpp b/sources/qetgraphicsitem/slaveelement.cpp index 6b15d18d7..041cb0ea6 100644 --- a/sources/qetgraphicsitem/slaveelement.cpp +++ b/sources/qetgraphicsitem/slaveelement.cpp @@ -34,6 +34,7 @@ SlaveElement::SlaveElement(const ElementsLocation &location, QGraphicsItem *qgi, { Xref_item = nullptr; link_type_ = Slave; + connect(this, SIGNAL(updateLabel()), this, SLOT(updateLabel())); } /** @@ -56,6 +57,7 @@ void SlaveElement::linkToElement(Element *elmt) if (elmt->linkType() == Master && !connected_elements.contains(elmt)) { if(!isFree()) unlinkAllElements(); + this->disconnect(); connected_elements << elmt; connect(elmt, SIGNAL(xChanged()), this, SLOT(updateLabel())); @@ -125,7 +127,7 @@ void SlaveElement::unlinkElement(Element *elmt) */ void SlaveElement::updateLabel() { - QString label("_"); + QString label = this->taggedText("label")->toPlainText(); QString Xreflabel; bool no_editable = false; @@ -139,6 +141,7 @@ void SlaveElement::updateLabel() { Xreflabel = assignVariables(Xreflabel, elmt); label = assignVariables(label, elmt); } + else label = assignVariables(label, this); // set the new label ElementTextItem *eti = setTaggedText("label", label, no_editable); diff --git a/sources/titleblockproperties.h b/sources/titleblockproperties.h index 31415f7d0..7c8038873 100644 --- a/sources/titleblockproperties.h +++ b/sources/titleblockproperties.h @@ -56,6 +56,7 @@ class TitleBlockProperties { QString filename; ///< Filename (displayed by the default template) QString folio; ///< Folio information (displayed by the default template) QString auto_page_num; + QString location; DateManagement useDate; ///< Wheter to use the date attribute QString template_name; ///< Name of the template used to render the title block - an empty string means "the default template provided by the application" DiagramContext context; ///< Container for the additional, user-defined fields