Minor refactoring of ItemDetailMapper.

This commit is contained in:
2026-03-02 18:51:31 +01:00
parent 560cadb2c0
commit 2fb7560e6e
2 changed files with 10 additions and 10 deletions

View File

@ -10,7 +10,6 @@
#include <QPushButton>
#include <QSpinBox>
#include <QTableView>
#include "model/metadata.h"
ItemDetailMapper::ItemDetailMapper(QTableView* tableView, QWidget* parent)
: QWidget{parent} {
@ -32,7 +31,6 @@ ItemDetailMapper::ItemDetailMapper(QTableView* tableView, QWidget* parent)
m_mapper->setModel(m_model);
setupNavigationButtons();
setupWidgets();
setupConnections();
@ -111,6 +109,10 @@ void ItemDetailMapper::setupNavigationButtons() {
connect(m_previousButton, &QAbstractButton::clicked, this, &ItemDetailMapper::toPrevious);
connect(m_nextButton, &QAbstractButton::clicked, this, &ItemDetailMapper::toNext);
const int nRows = m_layout->rowCount();
m_layout->addWidget(m_previousButton, nRows, 0);
m_layout->addWidget(m_nextButton, nRows, 1);
}
void ItemDetailMapper::setupWidgets() {
@ -119,10 +121,7 @@ void ItemDetailMapper::setupWidgets() {
for (int i = 0; i < USER_FACING_ROLES.size(); ++i) {
setupWidgetPairForColumn(i);
}
const int nRows = m_layout->rowCount();
m_layout->addWidget(m_previousButton, nRows, 0);
m_layout->addWidget(m_nextButton, nRows, 1);
setupNavigationButtons();
setLayout(m_layout);
}
@ -147,7 +146,7 @@ void ItemDetailMapper::setupWidgetPairForColumn(const int column) {
}
}
QWidget* ItemDetailMapper::createControlWidget(const int role) {
QWidget* ItemDetailMapper::createControlWidget(const UserRoles role) {
QWidget* control;
if (STRING_ROLES.contains(role)) {
control = new QLineEdit();
@ -169,7 +168,7 @@ QWidget* ItemDetailMapper::createControlWidget(const int role) {
return control;
}
QWidget* ItemDetailMapper::createComboBox(const int role) {
QWidget* ItemDetailMapper::createComboBox(const UserRoles role) {
QStringListModel* typeModel;
if (role == TypeRole) {
typeModel = new QStringListModel(TYPES, this);

View File

@ -5,6 +5,7 @@
#include <QDataWidgetMapper>
#include <QStringListModel>
#include <QWidget>
#include "model/metadata.h"
class QGridLayout;
class QLabel;
@ -57,8 +58,8 @@ class ItemDetailMapper : public QWidget {
void setupWidgets();
void setupWidgetPairForColumn(const int column);
QWidget* createControlWidget(const int column);
QWidget* createComboBox(const int role);
QWidget* createControlWidget(const UserRoles role);
QWidget* createComboBox(const UserRoles role);
void clearControlWidgets();
void clearLineEdit(const int column);