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
commit db18095cfb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
8 changed files with 80 additions and 89 deletions

View File

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

View File

@ -226,15 +226,10 @@ void DynamicTextFieldEditor::fillInfoComboBox()
else {
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 (const QString& key : info_map.keys())
ui -> m_elmt_info_cb -> addItem(key, info_map.value(key));
for (int i=0; i<strl.size();++i) {
ui -> m_elmt_info_cb -> addItem(QETInformation::translatedInfoKey(strl[i]), strl[i]);
}
}
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()
{
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++) {

View File

@ -205,6 +205,8 @@ void ElementPropertiesEditorWidget::populateTree()
QETInformation::translatedInfoKey(key));
qtwi->setData(0, Qt::UserRole, key);
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,
ELMT_PLANT,
ELMT_LOCATION,
ELMT_COMMENT,
ELMT_FUNCTION,
ELMT_DESCRIPTION,
@ -322,8 +323,6 @@ QStringList QETInformation::elementEditorElementInfoKeys()
ELMT_SUPPLIER,
ELMT_QUANTITY,
ELMT_UNITY,
ELMT_LOCATION,
ELMT_PLANT,
ELMT_AUX1,
ELMT_DESCRIPTION_AUX1,
ELMT_DESIGNATION_AUX1,

View File

@ -49,39 +49,39 @@ namespace QETInformation
static QString ELMT_LOCATION = "location";
static QString ELMT_AUX1 = "auxiliary1";
static QString ELMT_DESCRIPTION_AUX1 = "description_auxiliary1";
static QString ELMT_DESIGNATION_AUX1 = "designation_auxiliary1 ";
static QString ELMT_DESIGNATION_AUX1 = "designation_auxiliary1";
static QString ELMT_MANUFACTURER_AUX1 = "manufacturer_auxiliary1";
static QString ELMT_MANUFACTURER_REF_AUX1 = "manufacturer_reference_auxiliary1";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX1 = "machine_manufacturer_reference_auxiliary1 ";
static QString ELMT_SUPPLIER_AUX1 = "supplier_auxiliary1 ";
static QString ELMT_QUANTITY_AUX1 = "quantity_auxiliary1 ";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX1 = "machine_manufacturer_reference_auxiliary1";
static QString ELMT_SUPPLIER_AUX1 = "supplier_auxiliary1";
static QString ELMT_QUANTITY_AUX1 = "quantity_auxiliary1";
static QString ELMT_UNITY_AUX1 = "unity_auxiliary1";
static QString ELMT_AUX2 = "auxiliary2";
static QString ELMT_DESCRIPTION_AUX2 = "description_auxiliary2";
static QString ELMT_DESIGNATION_AUX2 = "designation_auxiliary2 ";
static QString ELMT_DESIGNATION_AUX2 = "designation_auxiliary2";
static QString ELMT_MANUFACTURER_AUX2 = "manufacturer_auxiliary2";
static QString ELMT_MANUFACTURER_REF_AUX2 = "manufacturer_reference_auxiliary2";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX2 = "machine_manufacturer_reference_auxiliary2";
static QString ELMT_SUPPLIER_AUX2 = "supplier_auxiliary2 ";
static QString ELMT_QUANTITY_AUX2 = "quantity_auxiliary2 ";
static QString ELMT_SUPPLIER_AUX2 = "supplier_auxiliary2";
static QString ELMT_QUANTITY_AUX2 = "quantity_auxiliary2";
static QString ELMT_UNITY_AUX2 = "unity_auxiliary2";
static QString ELMT_AUX3 = "auxiliary3";
static QString ELMT_DESCRIPTION_AUX3 = "description_auxiliary3";
static QString ELMT_DESIGNATION_AUX3 = "designation_auxiliary3 ";
static QString ELMT_DESIGNATION_AUX3 = "designation_auxiliary3";
static QString ELMT_MANUFACTURER_AUX3 = "manufacturer_auxiliary3";
static QString ELMT_MANUFACTURER_REF_AUX3 = "manufacturer_reference_auxiliary3";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX3 = "machine_manufacturer_reference_auxiliary3 ";
static QString ELMT_SUPPLIER_AUX3 = "supplier_auxiliary3 ";
static QString ELMT_QUANTITY_AUX3 = "quantity_auxiliary3 ";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX3 = "machine_manufacturer_reference_auxiliary3";
static QString ELMT_SUPPLIER_AUX3 = "supplier_auxiliary3";
static QString ELMT_QUANTITY_AUX3 = "quantity_auxiliary3";
static QString ELMT_UNITY_AUX3 = "unity_auxiliary3";
static QString ELMT_AUX4 = "auxiliary4";
static QString ELMT_DESCRIPTION_AUX4 = "description_auxiliary4";
static QString ELMT_DESIGNATION_AUX4 = "designation_auxiliary4 ";
static QString ELMT_DESIGNATION_AUX4 = "designation_auxiliary4";
static QString ELMT_MANUFACTURER_AUX4 = "manufacturer_auxiliary4";
static QString ELMT_MANUFACTURER_REF_AUX4 = "manufacturer_reference_auxiliary4";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX4 = "machine_manufacturer_reference_auxiliary4 ";
static QString ELMT_SUPPLIER_AUX4 = "supplier_auxiliary4 ";
static QString ELMT_QUANTITY_AUX4 = "quantity_auxiliary4 ";
static QString ELMT_MACHINE_MANUFACTURER_REF_AUX4 = "machine_manufacturer_reference_auxiliary4";
static QString ELMT_SUPPLIER_AUX4 = "supplier_auxiliary4";
static QString ELMT_QUANTITY_AUX4 = "quantity_auxiliary4";
static QString ELMT_UNITY_AUX4 = "unity_auxiliary4";

View File

@ -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
{
@ -68,15 +69,9 @@ void CompositeTextEditDialog::setUpComboBox()
qstrl.removeAll("formula");
}
//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 : 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));
for (int i=0; i<qstrl.size();++i) {
ui -> m_info_cb -> addItem(QETInformation::translatedInfoKey(qstrl[i]),
is_report ? QETInformation::folioReportInfoToVar(qstrl[i]) : QETInformation::elementInfoToVar(qstrl[i]));
}
}

View File

@ -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:

View File

@ -1623,17 +1623,12 @@ QWidget *DynamicTextItemDelegate::createEditor(
if(!deti)
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);
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;
}