#include "modelitem.h" #include "metadata.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(ROLE_NAMES.value(NameRole), data(NameRole).toString()); itemObject.insert(ROLE_NAMES.value(DescriptionRole), data(DescriptionRole).toString()); itemObject.insert(ROLE_NAMES.value(InfoRole), data(InfoRole).toString()); itemObject.insert(ROLE_NAMES.value(AmountRole), data(AmountRole).toInt()); itemObject.insert(ROLE_NAMES.value(FactorRole), data(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; }