Added data(FullNameRole) implementation and minor refactoring.
This commit is contained in:
@ -8,8 +8,21 @@
|
|||||||
ModelItem::ModelItem(const ModelItemValues values)
|
ModelItem::ModelItem(const ModelItemValues values)
|
||||||
: m_values(values) {}
|
: m_values(values) {}
|
||||||
|
|
||||||
QVariant ModelItem::data(int role) const { return m_values.value(role); }
|
QVariant ModelItem::data(int role) const {
|
||||||
|
switch (role) {
|
||||||
|
case FullNameRole:
|
||||||
|
return fullName();
|
||||||
|
break;
|
||||||
|
case ToStringRole:
|
||||||
|
return toString();
|
||||||
|
break;
|
||||||
|
case JsonObjectRole:
|
||||||
|
return toJsonObject();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return m_values.value(role);
|
||||||
|
}
|
||||||
|
}
|
||||||
bool ModelItem::setData(const QVariant& value, int role) {
|
bool ModelItem::setData(const QVariant& value, int role) {
|
||||||
bool valueChanged = false;
|
bool valueChanged = false;
|
||||||
if (m_values.contains(role)) {
|
if (m_values.contains(role)) {
|
||||||
@ -44,6 +57,10 @@ bool ModelItem::setItemData(const QMap<int, QVariant>& changedValues) {
|
|||||||
return valueChanged;
|
return valueChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ModelItem::fullName() const {
|
||||||
|
return QString("%1 %2").arg(data(FirstNameRole).toString(), data(LastNameRole).toString());
|
||||||
|
}
|
||||||
|
|
||||||
QString ModelItem::toString() const {
|
QString ModelItem::toString() const {
|
||||||
QString result;
|
QString result;
|
||||||
|
|
||||||
|
|||||||
@ -14,6 +14,7 @@ class ModelItem {
|
|||||||
// TODO change return value to list of changed roles
|
// TODO change return value to list of changed roles
|
||||||
bool setItemData(const QMap<int, QVariant>& changedValues);
|
bool setItemData(const QMap<int, QVariant>& changedValues);
|
||||||
|
|
||||||
|
QString fullName() const;
|
||||||
QString toString() const;
|
QString toString() const;
|
||||||
QJsonObject toJsonObject() const;
|
QJsonObject toJsonObject() const;
|
||||||
|
|
||||||
|
|||||||
@ -82,11 +82,14 @@ QVariant TableModel::data(const QModelIndex& index, int role) const {
|
|||||||
return QVariant();
|
return QVariant();
|
||||||
}
|
}
|
||||||
|
|
||||||
int roleForColumn = GET_ROLE_FOR_COLUMN(column);
|
const int roleForColumn = GET_ROLE_FOR_COLUMN(column);
|
||||||
switch (role) {
|
switch (role) {
|
||||||
case Qt::DisplayRole:
|
case Qt::DisplayRole:
|
||||||
case Qt::EditRole:
|
case Qt::EditRole:
|
||||||
return m_items.at(row)->data(roleForColumn);
|
return m_items.at(row)->data(roleForColumn);
|
||||||
|
case Qt::ToolTipRole:
|
||||||
|
return m_items.at(index.row())->data(ToStringRole);
|
||||||
|
break;
|
||||||
case MembershipNumberRole:
|
case MembershipNumberRole:
|
||||||
case LastNameRole:
|
case LastNameRole:
|
||||||
case FirstNameRole:
|
case FirstNameRole:
|
||||||
@ -102,11 +105,9 @@ QVariant TableModel::data(const QModelIndex& index, int role) const {
|
|||||||
case BiddingTypeRole:
|
case BiddingTypeRole:
|
||||||
case OnlineIdRole:
|
case OnlineIdRole:
|
||||||
case AccessCodeRole:
|
case AccessCodeRole:
|
||||||
return m_items.at(row)->data(role);
|
|
||||||
case ToStringRole:
|
case ToStringRole:
|
||||||
return m_items.at(row)->toString();
|
|
||||||
case JsonObjectRole:
|
case JsonObjectRole:
|
||||||
return m_items.at(row)->toJsonObject();
|
return m_items.at(row)->data(role);
|
||||||
}
|
}
|
||||||
|
|
||||||
return QVariant();
|
return QVariant();
|
||||||
|
|||||||
Reference in New Issue
Block a user