Merge pull request #319 from ChuckNr11/master

Change Sorting of ElementInfo ComboBox
This commit is contained in:
Laurent Trinques
2025-01-01 09:01:48 +01:00
committed by GitHub
8 changed files with 80 additions and 89 deletions

View File

@@ -9056,47 +9056,47 @@ Möchten Sie sie ersetzen?</translation>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="272"/> <location filename="../sources/qetinformation.cpp" line="272"/>
<source>Bloc auxiliaire 1</source> <source>Bloc auxiliaire 1</source>
<translation>Zusatzinfo 1</translation> <translation>Zusatzinfo Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="273"/> <location filename="../sources/qetinformation.cpp" line="273"/>
<source>Description textuelle auxiliaire 1</source> <source>Description textuelle auxiliaire 1</source>
<translation type="unfinished"></translation> <translation>Artikelbeschreibung Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="274"/> <location filename="../sources/qetinformation.cpp" line="274"/>
<source>Numéro d&apos;article auxiliaire 1</source> <source>Numéro d&apos;article auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelnummer Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="275"/> <location filename="../sources/qetinformation.cpp" line="275"/>
<source>Fabricant auxiliaire 1</source> <source>Fabricant auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Hersteller Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="276"/> <location filename="../sources/qetinformation.cpp" line="276"/>
<source>Numéro de commande auxiliaire 1</source> <source>Numéro de commande auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Bestellnummer Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="277"/> <location filename="../sources/qetinformation.cpp" line="277"/>
<source>Numéro interne auxiliaire 1</source> <source>Numéro interne auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Interne Nummer Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="278"/> <location filename="../sources/qetinformation.cpp" line="278"/>
<source>Fournisseur auxiliaire 1</source> <source>Fournisseur auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Lieferant Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="279"/> <location filename="../sources/qetinformation.cpp" line="279"/>
<source>Quantité auxiliaire 1</source> <source>Quantité auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Menge Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="280"/> <location filename="../sources/qetinformation.cpp" line="280"/>
<source>Unité auxiliaire 1</source> <source>Unité auxiliaire 1</source>
<translation type="unfinished"></translation> <translation type="unfinished">Einheit Zusatzartikel 1</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="281"/> <location filename="../sources/qetinformation.cpp" line="281"/>
@@ -9106,132 +9106,132 @@ Möchten Sie sie ersetzen?</translation>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="282"/> <location filename="../sources/qetinformation.cpp" line="282"/>
<source>Description textuelle auxiliaire 2</source> <source>Description textuelle auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelbeschreibung Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="283"/> <location filename="../sources/qetinformation.cpp" line="283"/>
<source>Numéro d&apos;article auxiliaire 2</source> <source>Numéro d&apos;article auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelnummer Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="284"/> <location filename="../sources/qetinformation.cpp" line="284"/>
<source>Fabricant auxiliaire 2</source> <source>Fabricant auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Hersteller Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="285"/> <location filename="../sources/qetinformation.cpp" line="285"/>
<source>Numéro de commande auxiliaire 2</source> <source>Numéro de commande auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Bestellnummer Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="286"/> <location filename="../sources/qetinformation.cpp" line="286"/>
<source>Numéro interne auxiliaire 2</source> <source>Numéro interne auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Interne Nummer Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="287"/> <location filename="../sources/qetinformation.cpp" line="287"/>
<source>Fournisseur auxiliaire 2</source> <source>Fournisseur auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Lieferant Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="288"/> <location filename="../sources/qetinformation.cpp" line="288"/>
<source>Quantité auxiliaire 2</source> <source>Quantité auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Menge Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="289"/> <location filename="../sources/qetinformation.cpp" line="289"/>
<source>Unité auxiliaire 2</source> <source>Unité auxiliaire 2</source>
<translation type="unfinished"></translation> <translation type="unfinished">Einheit Zusatzartikel 2</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="290"/> <location filename="../sources/qetinformation.cpp" line="290"/>
<source>Bloc auxiliaire 3</source> <source>Bloc auxiliaire 3</source>
<translation type="unfinished">Zusatzinfo 3</translation> <translation type="unfinished">Zusatzinfo Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="291"/> <location filename="../sources/qetinformation.cpp" line="291"/>
<source>Description textuelle auxiliaire 3</source> <source>Description textuelle auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelbeschreibung Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="292"/> <location filename="../sources/qetinformation.cpp" line="292"/>
<source>Numéro d&apos;article auxiliaire 3</source> <source>Numéro d&apos;article auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelnummer Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="293"/> <location filename="../sources/qetinformation.cpp" line="293"/>
<source>Fabricant auxiliaire 3</source> <source>Fabricant auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Hersteller Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="294"/> <location filename="../sources/qetinformation.cpp" line="294"/>
<source>Numéro de commande auxiliaire 3</source> <source>Numéro de commande auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Bestellnummer Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="295"/> <location filename="../sources/qetinformation.cpp" line="295"/>
<source>Numéro interne auxiliaire 3</source> <source>Numéro interne auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Interne Nummer Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="296"/> <location filename="../sources/qetinformation.cpp" line="296"/>
<source>Fournisseur auxiliaire 3</source> <source>Fournisseur auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Lieferant Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="297"/> <location filename="../sources/qetinformation.cpp" line="297"/>
<source>Quantité auxiliaire 3</source> <source>Quantité auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Menge Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="298"/> <location filename="../sources/qetinformation.cpp" line="298"/>
<source>Unité auxiliaire 3</source> <source>Unité auxiliaire 3</source>
<translation type="unfinished"></translation> <translation type="unfinished">Einheit Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="299"/> <location filename="../sources/qetinformation.cpp" line="299"/>
<source>Bloc auxiliaire 4</source> <source>Bloc auxiliaire 4</source>
<translation type="unfinished">Zusatzinfo 4</translation> <translation type="unfinished">Zusatzinfo Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="300"/> <location filename="../sources/qetinformation.cpp" line="300"/>
<source>Description textuelle auxiliaire 4</source> <source>Description textuelle auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelbeschreibung Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="301"/> <location filename="../sources/qetinformation.cpp" line="301"/>
<source>Numéro d&apos;article auxiliaire 4</source> <source>Numéro d&apos;article auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Artikelnummer Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="302"/> <location filename="../sources/qetinformation.cpp" line="302"/>
<source>Fabricant auxiliaire 4</source> <source>Fabricant auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Hersteller Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="303"/> <location filename="../sources/qetinformation.cpp" line="303"/>
<source>Numéro de commande auxiliaire 4</source> <source>Numéro de commande auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Bestellnummer Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="304"/> <location filename="../sources/qetinformation.cpp" line="304"/>
<source>Numéro interne auxiliaire 4</source> <source>Numéro interne auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Interne Nummer Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="305"/> <location filename="../sources/qetinformation.cpp" line="305"/>
<source>Fournisseur auxiliaire 4</source> <source>Fournisseur auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Lieferant Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="306"/> <location filename="../sources/qetinformation.cpp" line="306"/>
<source>Quantité auxiliaire 4</source> <source>Quantité auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Menge Zusatzartikel 3</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="307"/> <location filename="../sources/qetinformation.cpp" line="307"/>
<source>Unité auxiliaire 4</source> <source>Unité auxiliaire 4</source>
<translation type="unfinished"></translation> <translation type="unfinished">Einheit Zusatzartikel 4</translation>
</message> </message>
<message> <message>
<location filename="../sources/qetinformation.cpp" line="257"/> <location filename="../sources/qetinformation.cpp" line="257"/>

View File

@@ -226,15 +226,10 @@ void DynamicTextFieldEditor::fillInfoComboBox()
else { else {
strl = QETInformation::elementInfoKeys(); strl = QETInformation::elementInfoKeys();
} }
//We use a QMap because the keys of the map are sorted, then no matter the current local,
//the value of the combo box are always alphabetically sorted
QMap <QString, QString> info_map;
for(const QString& str : strl)
info_map.insert(QETInformation::translatedInfoKey(str), str);
for (int i=0; i<strl.size();++i) {
for (const QString& key : info_map.keys()) ui -> m_elmt_info_cb -> addItem(QETInformation::translatedInfoKey(strl[i]), strl[i]);
ui -> m_elmt_info_cb -> addItem(key, info_map.value(key)); }
} }
void DynamicTextFieldEditor::on_m_x_sb_editingFinished() void DynamicTextFieldEditor::on_m_x_sb_editingFinished()
@@ -369,7 +364,12 @@ void DynamicTextFieldEditor::on_m_text_from_cb_activated(int index) {
void DynamicTextFieldEditor::on_m_composite_text_pb_clicked() 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()) { if(ctd.exec()) {
QString ct = ctd.plainText(); QString ct = ctd.plainText();
for (int i = 0; i < m_parts.length(); i++) { for (int i = 0; i < m_parts.length(); i++) {

View File

@@ -205,6 +205,8 @@ void ElementPropertiesEditorWidget::populateTree()
QETInformation::translatedInfoKey(key)); QETInformation::translatedInfoKey(key));
qtwi->setData(0, Qt::UserRole, key); qtwi->setData(0, Qt::UserRole, key);
qtwi->setText(1, m_data.m_informations.value(key).toString()); qtwi->setText(1, m_data.m_informations.value(key).toString());
// Adjust column width
ui->m_tree->resizeColumnToContents(0);
} }
} }

View File

@@ -312,6 +312,7 @@ QStringList QETInformation::elementEditorElementInfoKeys()
{ {
QStringList list = { ELMT_LABEL, QStringList list = { ELMT_LABEL,
ELMT_PLANT, ELMT_PLANT,
ELMT_LOCATION,
ELMT_COMMENT, ELMT_COMMENT,
ELMT_FUNCTION, ELMT_FUNCTION,
ELMT_DESCRIPTION, ELMT_DESCRIPTION,
@@ -322,8 +323,6 @@ QStringList QETInformation::elementEditorElementInfoKeys()
ELMT_SUPPLIER, ELMT_SUPPLIER,
ELMT_QUANTITY, ELMT_QUANTITY,
ELMT_UNITY, ELMT_UNITY,
ELMT_LOCATION,
ELMT_PLANT,
ELMT_AUX1, ELMT_AUX1,
ELMT_DESCRIPTION_AUX1, ELMT_DESCRIPTION_AUX1,
ELMT_DESIGNATION_AUX1, ELMT_DESIGNATION_AUX1,

View File

@@ -18,10 +18,15 @@ CompositeTextEditDialog::CompositeTextEditDialog(DynamicElementTextItem *text, Q
m_default_text = m_text->compositeText(); m_default_text = m_text->compositeText();
ui->m_plain_text_edit->setPlainText(m_default_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")); 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), QDialog(parent),
ui(new Ui::CompositeTextEditDialog) ui(new Ui::CompositeTextEditDialog)
{ {
@@ -29,7 +34,7 @@ CompositeTextEditDialog::CompositeTextEditDialog(QString text, QWidget *parent)
m_default_text = std::move(text); m_default_text = std::move(text);
ui->m_plain_text_edit->setPlainText(m_default_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")); ui->m_plain_text_edit->setPlaceholderText(tr("Entrée votre texte composé ici, en vous aidant des variables disponible"));
setUpComboBox(); setUpComboBox(report);
} }
CompositeTextEditDialog::~CompositeTextEditDialog() CompositeTextEditDialog::~CompositeTextEditDialog()
@@ -50,13 +55,9 @@ QString CompositeTextEditDialog::plainText() const
@brief CompositeTextEditDialog::setUpComboBox @brief CompositeTextEditDialog::setUpComboBox
Add the available element information in the combo box Add the available element information in the combo box
*/ */
void CompositeTextEditDialog::setUpComboBox() void CompositeTextEditDialog::setUpComboBox(bool is_report)
{ {
QStringList qstrl; 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 if(is_report) //Special treatment for text owned by a folio report
{ {
@@ -68,15 +69,9 @@ void CompositeTextEditDialog::setUpComboBox()
qstrl.removeAll("formula"); qstrl.removeAll("formula");
} }
//We use a QMap because the keys of the map are sorted, then no matter the current local, for (int i=0; i<qstrl.size();++i) {
//the value of the combo box are always alphabetically sorted ui -> m_info_cb -> addItem(QETInformation::translatedInfoKey(qstrl[i]),
QMap <QString, QString> info_map; is_report ? QETInformation::folioReportInfoToVar(qstrl[i]) : QETInformation::elementInfoToVar(qstrl[i]));
for(const QString& str : qstrl) {
info_map.insert(QETInformation::translatedInfoKey(str),
is_report ? QETInformation::folioReportInfoToVar(str) : QETInformation::elementInfoToVar(str));
}
for(const QString& key : info_map.keys()) {
ui->m_info_cb->addItem(key, info_map.value(key));
} }
} }

View File

@@ -22,7 +22,7 @@ class CompositeTextEditDialog : public QDialog
public: public:
explicit CompositeTextEditDialog(DynamicElementTextItem *text, QWidget *parent = nullptr); 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; ~CompositeTextEditDialog() override;
QString plainText() const; QString plainText() const;
@@ -34,7 +34,7 @@ class CompositeTextEditDialog : public QDialog
void focusInEvent(QFocusEvent *event) override; void focusInEvent(QFocusEvent *event) override;
private : private :
void setUpComboBox(); void setUpComboBox(bool is_report);
QString infoToVar(const QString& info) const; QString infoToVar(const QString& info) const;
private: private:

View File

@@ -1623,17 +1623,12 @@ QWidget *DynamicTextItemDelegate::createEditor(
if(!deti) if(!deti)
break; break;
//We use a QMap because the keys of the map are sorted, then no matter the current local,
//the value of the combo box are always alphabetically sorted
QMap <QString, QString> info_map;
for(const QString& str : availableInfo(deti)) {
info_map.insert(QETInformation::translatedInfoKey(str), str);
}
QComboBox *qcb = new QComboBox(parent); QComboBox *qcb = new QComboBox(parent);
qcb->setObjectName("info_text"); qcb->setObjectName("info_text");
for (const QString& key : info_map.keys()) {
qcb->addItem(key, info_map.value(key)); QStringList strl = availableInfo(deti);
for (int i=0; i<strl.size();++i) {
qcb -> addItem(QETInformation::translatedInfoKey(strl[i]), strl[i]);
} }
return qcb; return qcb;
} }