diff --git a/source/CheckableTestModel/CheckableTestModel.cpp b/source/CheckableTestModel/CheckableTestModel.cpp index 1a45e0f..493bd76 100644 --- a/source/CheckableTestModel/CheckableTestModel.cpp +++ b/source/CheckableTestModel/CheckableTestModel.cpp @@ -1,6 +1,7 @@ #include "CheckableTestModel.h" #include +#include #include CheckableTestModel::CheckableTestModel(QObject *parent) @@ -8,12 +9,12 @@ CheckableTestModel::CheckableTestModel(QObject *parent) { } -int CheckableTestModel::rowCount(const QModelIndex &parent) const +int CheckableTestModel::rowCount(const QModelIndex &) const { return static_cast(m_tests.size()); } -int CheckableTestModel::columnCount(const QModelIndex &parent) const +int CheckableTestModel::columnCount(const QModelIndex &) const { int columnCount = 0; @@ -36,15 +37,17 @@ QVariant CheckableTestModel::data(const QModelIndex &index, int role) const { auto &item = getItem(index); - if (role == Qt::DisplayRole) - { - return item.getText().c_str(); - } - - if (role == Qt::CheckStateRole) - { - return item.isChecked() ? Qt::Checked : Qt::Unchecked; - } + switch (role) + { + case Qt::DisplayRole: + { + return item.getText().c_str(); + } + case Qt::CheckStateRole: + { + return item.isChecked() ? Qt::Checked : Qt::Unchecked; + } + } } catch (std::runtime_error &e) { @@ -101,7 +104,7 @@ QVariant CheckableTestModel::headerData( } } - return {}; + return QAbstractTableModel::headerData(section, orientation, role); } void CheckableTestModel::write(QJsonObject &json) const diff --git a/source/SubTests/Plural/PluralModel.cpp b/source/SubTests/Plural/PluralModel.cpp index 38f881a..5be047a 100644 --- a/source/SubTests/Plural/PluralModel.cpp +++ b/source/SubTests/Plural/PluralModel.cpp @@ -1,10 +1,22 @@ #include "PluralModel.h" +#include + PluralModel::PluralModel(QObject *parent) : CheckableTestModel(parent) { m_tests = { { "", { "Fisch /-e/", "Banane /-n/", "Bonbon /-s/", "Ei /-er/", "Eimer /-ø/", - "Korn UML+/-er/", "Nuss UML+/-e/", "Bär /-en/", "Apfel UML" } } }; + "Korn UML+/-er/", "Nuss UML+/-e/", "Bär /-en/", "Apfel UML" } } }; +} + +QVariant PluralModel::data(const QModelIndex &index, int role) const +{ + if (role == Qt::SizeHintRole) + { + return QSize(180, 0); + } + + return CheckableTestModel::data(index, role); } diff --git a/source/SubTests/Plural/PluralModel.h b/source/SubTests/Plural/PluralModel.h index 60427c0..8a07a55 100644 --- a/source/SubTests/Plural/PluralModel.h +++ b/source/SubTests/Plural/PluralModel.h @@ -8,4 +8,7 @@ class PluralModel : public CheckableTestModel public: PluralModel(QObject *parent); + + QVariant data( + const QModelIndex &index, int role = Qt::DisplayRole) const override; }; diff --git a/source/SubTests/Plural/PluralWidget.cpp b/source/SubTests/Plural/PluralWidget.cpp index f228970..4776e52 100644 --- a/source/SubTests/Plural/PluralWidget.cpp +++ b/source/SubTests/Plural/PluralWidget.cpp @@ -18,4 +18,5 @@ PluralWidget::~PluralWidget() void PluralWidget::setModel(PluralModel *model) { ui->pluralTableView->setModel(model); + ui->pluralTableView->resizeColumnsToContents(); }