Added the type role to the EditItemDialog.

This commit is contained in:
2026-03-02 08:43:21 +01:00
parent 385dc7ca76
commit d56af7231c
2 changed files with 23 additions and 8 deletions

View File

@ -46,6 +46,12 @@ ItemDetailMapper::ItemDetailMapper(QWidget* parent)
m_infoEdit = new QLineEdit();
m_infoLabel->setBuddy(m_infoEdit);
m_typeLabel = new QLabel(GET_HEADER_FOR_COLUMN(3));
m_typeBox = new QComboBox();
m_typeLabel->setBuddy(m_typeBox);
m_typeModel = new QStringListModel(TYPES, this);
m_typeBox->setModel(m_typeModel);
m_amountLabel = new QLabel("&Amount");
m_amountBox = new QSpinBox();
m_amountBox->setMaximum(1000);
@ -63,13 +69,15 @@ ItemDetailMapper::ItemDetailMapper(QWidget* parent)
layout->addWidget(m_descriptionEdit, 1, 1, 1, 1);
layout->addWidget(m_infoLabel, 2, 0, 1, 1);
layout->addWidget(m_infoEdit, 2, 1, 1, 1);
layout->addWidget(m_amountLabel, 3, 0, 1, 1);
layout->addWidget(m_amountBox, 3, 1, 1, 1);
layout->addWidget(m_factorLabel, 4, 0, 1, 1);
layout->addWidget(m_factorBox, 4, 1, 1, 1);
layout->addWidget(m_typeLabel, 3, 0, 1, 1);
layout->addWidget(m_typeBox, 3, 1, 1, 1);
layout->addWidget(m_amountLabel, 4, 0, 1, 1);
layout->addWidget(m_amountBox, 4, 1, 1, 1);
layout->addWidget(m_factorLabel, 5, 0, 1, 1);
layout->addWidget(m_factorBox, 5, 1, 1, 1);
layout->addWidget(m_previousButton, 5, 0, 1, 1);
layout->addWidget(m_nextButton, 5, 1, 1, 1);
layout->addWidget(m_previousButton, 6, 0, 1, 1);
layout->addWidget(m_nextButton, 6, 1, 1, 1);
setLayout(layout);
}
@ -84,8 +92,9 @@ void ItemDetailMapper::setModelMappings(QTableView* tableView) {
m_mapper->addMapping(m_nameEdit, 0);
m_mapper->addMapping(m_descriptionEdit, 1);
m_mapper->addMapping(m_infoEdit, 2);
m_mapper->addMapping(m_amountBox, 3);
m_mapper->addMapping(m_factorBox, 4);
m_mapper->addMapping(m_typeBox, 3, "currentText");
m_mapper->addMapping(m_amountBox, 4);
m_mapper->addMapping(m_factorBox, 5);
m_mapper->setCurrentIndex(m_selectionModel->currentIndex().row());

View File

@ -1,7 +1,9 @@
#ifndef ITEMDETAILMAPPER_H
#define ITEMDETAILMAPPER_H
#include <QComboBox>
#include <QDataWidgetMapper>
#include <QStringListModel>
#include <QWidget>
class QLabel;
@ -54,6 +56,10 @@ class ItemDetailMapper : public QWidget {
QLabel* m_infoLabel = nullptr;
QLineEdit* m_infoEdit = nullptr;
QLabel* m_typeLabel;
QComboBox* m_typeBox;
QStringListModel* m_typeModel = nullptr;
QLabel* m_amountLabel = nullptr;
QSpinBox* m_amountBox = nullptr;