| 123456789101112131415161718192021222324252627282930313233343536373839 |
- #include "summarymodel.h"
- QVariantList SummaryModel::items() const
- {
- return m_items.values();
- }
- float SummaryModel::sum() const
- {
- float res = 0.0;
- for (auto it = m_items.constBegin(); it != m_items.constEnd(); ++it) {
- QVariantMap item = it.value().toMap();
- int count = item.value("count", 0).toInt();
- float price = item.value("cost", 0.0).toFloat();
- res += count * price;
- }
- return res;
- }
- void SummaryModel::setItemCount(QVariantMap item, int count)
- {
- QString id = item.value("id", QString()).toString();
- if (count) {
- item["count"] = count;
- m_items[id] = item;
- } else {
- m_items.remove(id);
- }
- emit itemsChanged();
- }
- void SummaryModel::clear()
- {
- m_items.clear();
- emit itemsChanged();
- }
|