#include "modelitem.h" #include "tablemodel.h" #include #include ModelItem::ModelItem(const QHash values) : m_values(values) {} QVariant ModelItem::data(int role) const { return m_values.value(role); } bool ModelItem::setData(const QVariant& value, int role) { bool valueChanged = false; if (m_values.contains(role)) { if (m_values.value(role) != value) { valueChanged = true; } } m_values[role] = value; return valueChanged; } bool ModelItem::setItemData(const QMap& changedValues) { bool valueChanged = false; QMap::const_iterator citer = changedValues.constBegin(); while (citer != changedValues.constEnd()) { const int role = citer.key(); const QVariant value = citer.value(); if (m_values.contains(role)) { if (m_values.value(role) != value) { valueChanged = true; } } m_values[role] = value; citer++; } return valueChanged; } QJsonObject ModelItem::toJsonObject() const { QJsonObject itemObject; // itemObject.insert("uuid", m_uuid.toString()); // itemObject.insert("entryDateUTC", m_entryDateUTC.toString(Qt::ISODate)); itemObject.insert(TableModel::ROLE_NAMES.value(TableModel::NameRole), data(TableModel::NameRole).toString()); itemObject.insert(TableModel::ROLE_NAMES.value(TableModel::DescriptionRole), data(TableModel::DescriptionRole).toString()); itemObject.insert(TableModel::ROLE_NAMES.value(TableModel::InfoRole), data(TableModel::InfoRole).toString()); itemObject.insert(TableModel::ROLE_NAMES.value(TableModel::AmountRole), data(TableModel::AmountRole).toInt()); itemObject.insert(TableModel::ROLE_NAMES.value(TableModel::FactorRole), data(TableModel::FactorRole).toReal()); // if (m_modifiedDateUTC.isValid()) { // itemObject.insert("modifiedDateUTC", m_modifiedDateUTC.toString(Qt::ISODate)); // } // if (m_endDateUTC.isValid()) { // itemObject.insert("endDateUTC", m_endDateUTC.toString(Qt::ISODate)); // } return itemObject; }