From 3438ba9ab3f5ce298833006e52f32042c398f60c Mon Sep 17 00:00:00 2001 From: Achim Date: Tue, 31 Dec 2024 21:58:42 +0100 Subject: [PATCH] composite text of report element corrected In the ElementEditor, incorrect variables were displayed for CompositeText in ReportElements. This is corrected here --- sources/editor/ui/dynamictextfieldeditor.cpp | 7 ++++++- sources/ui/compositetexteditdialog.cpp | 17 +++++++++-------- sources/ui/compositetexteditdialog.h | 4 ++-- 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/sources/editor/ui/dynamictextfieldeditor.cpp b/sources/editor/ui/dynamictextfieldeditor.cpp index 629a8f9dd..e0b3d8c88 100644 --- a/sources/editor/ui/dynamictextfieldeditor.cpp +++ b/sources/editor/ui/dynamictextfieldeditor.cpp @@ -364,7 +364,12 @@ void DynamicTextFieldEditor::on_m_text_from_cb_activated(int index) { void DynamicTextFieldEditor::on_m_composite_text_pb_clicked() { - CompositeTextEditDialog ctd(m_text_field.data() -> compositeText(), this); + bool isReport = false; + if (elementEditor()->elementScene()->elementData().m_type & ElementData::AllReport) { + isReport = true; + } + + CompositeTextEditDialog ctd(m_text_field.data() -> compositeText(), isReport, this); if(ctd.exec()) { QString ct = ctd.plainText(); for (int i = 0; i < m_parts.length(); i++) { diff --git a/sources/ui/compositetexteditdialog.cpp b/sources/ui/compositetexteditdialog.cpp index 1b81924a7..3e0deca34 100644 --- a/sources/ui/compositetexteditdialog.cpp +++ b/sources/ui/compositetexteditdialog.cpp @@ -18,10 +18,15 @@ CompositeTextEditDialog::CompositeTextEditDialog(DynamicElementTextItem *text, Q m_default_text = m_text->compositeText(); ui->m_plain_text_edit->setPlainText(m_default_text); ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible")); - setUpComboBox(); + bool report = false; + if ((m_text) &&(m_text->parentElement()->linkType()) & (Element::AllReport)) + { + report = true; + } + setUpComboBox(report); } -CompositeTextEditDialog::CompositeTextEditDialog(QString text, QWidget *parent) : +CompositeTextEditDialog::CompositeTextEditDialog(QString text, bool report, QWidget *parent) : QDialog(parent), ui(new Ui::CompositeTextEditDialog) { @@ -29,7 +34,7 @@ CompositeTextEditDialog::CompositeTextEditDialog(QString text, QWidget *parent) m_default_text = std::move(text); ui->m_plain_text_edit->setPlainText(m_default_text); ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible")); - setUpComboBox(); + setUpComboBox(report); } CompositeTextEditDialog::~CompositeTextEditDialog() @@ -50,13 +55,9 @@ QString CompositeTextEditDialog::plainText() const @brief CompositeTextEditDialog::setUpComboBox Add the available element information in the combo box */ -void CompositeTextEditDialog::setUpComboBox() +void CompositeTextEditDialog::setUpComboBox(bool is_report) { QStringList qstrl; - bool is_report = false; - if (m_text && m_text->parentElement()->linkType() & Element::AllReport) { - is_report = true; - } if(is_report) //Special treatment for text owned by a folio report { diff --git a/sources/ui/compositetexteditdialog.h b/sources/ui/compositetexteditdialog.h index c2653a65c..31d0e0d65 100644 --- a/sources/ui/compositetexteditdialog.h +++ b/sources/ui/compositetexteditdialog.h @@ -22,7 +22,7 @@ class CompositeTextEditDialog : public QDialog public: explicit CompositeTextEditDialog(DynamicElementTextItem *text, QWidget *parent = nullptr); - explicit CompositeTextEditDialog(QString text, QWidget *parent = nullptr); + explicit CompositeTextEditDialog(QString text, bool report, QWidget *parent = nullptr); ~CompositeTextEditDialog() override; QString plainText() const; @@ -34,7 +34,7 @@ class CompositeTextEditDialog : public QDialog void focusInEvent(QFocusEvent *event) override; private : - void setUpComboBox(); + void setUpComboBox(bool is_report); QString infoToVar(const QString& info) const; private: