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

@@ -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;
}