From fbcab7c770d43a617dd3e70f688add56c0b36611 Mon Sep 17 00:00:00 2001 From: joshua Date: Thu, 19 Oct 2023 21:59:05 +0200 Subject: [PATCH] Fix : new conductor have text without variable replaced For a new conductor with the text set from the default conductor text defined in the folio properties, and this text contain variables, in this case the variables are not replaced. This commit fix it. --- sources/conductorautonumerotation.cpp | 45 ++++++++++++++------------- sources/conductorautonumerotation.h | 5 +-- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/sources/conductorautonumerotation.cpp b/sources/conductorautonumerotation.cpp index 2f05671c4..547c3aa5c 100644 --- a/sources/conductorautonumerotation.cpp +++ b/sources/conductorautonumerotation.cpp @@ -23,7 +23,6 @@ #include "diagram.h" #include "qet.h" #include "qetdiagrameditor.h" -#include "qetgraphicsitem/conductor.h" #include "ui/potentialselectordialog.h" /** @@ -221,32 +220,36 @@ void ConductorAutoNumerotation::numeratePotential() */ void ConductorAutoNumerotation::numerateNewConductor() { - if (!m_conductor || m_diagram->conductorsAutonumName().isEmpty()) + if (m_conductor) { return; + } - NumerotationContext context = m_diagram->project()->conductorAutoNum( - m_diagram -> conductorsAutonumName()); - if (context.isEmpty()) - return; + if (!m_diagram->conductorsAutonumName().isEmpty()) + { + NumerotationContext context = m_diagram->project()->conductorAutoNum( + m_diagram -> conductorsAutonumName()); + if (context.isEmpty()) + return; - QString autoNum_name = m_diagram->project()->conductorCurrentAutoNum(); - QString formula = autonum::numerotationContextToFormula(context); + QString autoNum_name = m_diagram->project()->conductorCurrentAutoNum(); + QString formula = autonum::numerotationContextToFormula(context); - ConductorProperties cp = m_conductor -> properties(); - cp.m_formula = formula; - m_conductor->setProperties(cp); + ConductorProperties cp = m_conductor -> properties(); + cp.m_formula = formula; + m_conductor->setProperties(cp); - autonum::setSequential(formula, - m_conductor->rSequenceNum(), - context, - m_diagram, - autoNum_name); + autonum::setSequential(formula, + m_conductor->rSequenceNum(), + context, + m_diagram, + autoNum_name); - NumerotationContextCommands ncc (context, m_diagram); - m_diagram->project()->addConductorAutoNum(autoNum_name, ncc.next()); + NumerotationContextCommands ncc (context, m_diagram); + m_diagram->project()->addConductorAutoNum(autoNum_name, ncc.next()); + } applyText(autonum::AssignVariables::formulaToLabel( - formula, - m_conductor->rSequenceNum(), - m_diagram)); + m_conductor->properties().m_formula, + m_conductor->rSequenceNum(), + m_diagram)); } diff --git a/sources/conductorautonumerotation.h b/sources/conductorautonumerotation.h index d2ca68405..333c09a2b 100644 --- a/sources/conductorautonumerotation.h +++ b/sources/conductorautonumerotation.h @@ -19,11 +19,12 @@ #define CONDUCTORAUTONUMEROTATION_H #include "autoNum/assignvariables.h" +#include "qetgraphicsitem/conductor.h" #include +#include class Diagram; -class Conductor; class QUndoCommand; class ConductorProperties; @@ -52,7 +53,7 @@ class ConductorAutoNumerotation //attributes Diagram *m_diagram; - Conductor *m_conductor; + QPointer m_conductor; QList conductor_list; QUndoCommand *m_parent_undo; };