summaryrefslogtreecommitdiff
path: root/ord.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'ord.cxx')
-rw-r--r--ord.cxx34
1 files changed, 14 insertions, 20 deletions
diff --git a/ord.cxx b/ord.cxx
index 0d13af0..4a729df 100644
--- a/ord.cxx
+++ b/ord.cxx
@@ -13,9 +13,7 @@ namespace QICClient {
QVariant Ord::data(QModelIndex const& index, int role) const
{
auto row = index.row();
-
if (row < 0 || row >= items.count()) return QVariant();
-
auto item = items[row];
switch (role) {
case Product::SkuRole:
@@ -34,27 +32,25 @@ namespace QICClient {
QHash<int, QByteArray> Ord::roleNames() const
{
return QHash<int, QByteArray>{
- {Product::SkuRole, "sku"}
- , {Product::DescriptionRole, "description"}
- , {Product::PriceRole, "price"}
- , {Item::QuantityRole, "quantity"}
+ { Product::SkuRole, "sku" },
+ { Product::DescriptionRole, "description" },
+ { Product::PriceRole, "price" },
+ { Item::QuantityRole, "quantity" }
};
}
void Ord::addItem(Item const& item)
{
auto product = item.product;
- auto iterator = std::find_if(items.begin(), items.end()
- , [&product](Item const& item) {
- return product.sku == item.product.sku;
- });
+ auto iterator = std::find_if(items.begin(), items.end(), [&product](Item const& item) {
+ return product.sku == item.product.sku;
+ });
if (iterator != items.end()) {
auto index = items.indexOf(*iterator);
beginRemoveRows(QModelIndex(), index, index);
items.removeAt(index);
endRemoveRows();
}
-
beginInsertRows(QModelIndex(), rowCount(), rowCount());
items << item;
endInsertRows();
@@ -63,15 +59,13 @@ namespace QICClient {
void Ord::setData(struct icclient_ord_order* order)
{
- if (order) {
- this->m_data = order;
- for (size_t i = 0; i < order->nitems; i++)
- addItem(Item{order->items[i]});
- m_subtotal = order->subtotal;
- emit subtotalChanged();
- m_totalCost = order->total_cost;
- emit totalCostChanged();
- }
+ if (!order) return;
+ this->m_data = order;
+ for (size_t i = 0; i < order->nitems; i++) addItem(Item{order->items[i]});
+ m_subtotal = order->subtotal;
+ emit subtotalChanged();
+ m_totalCost = order->total_cost;
+ emit totalCostChanged();
}
void Ord::checkout(Member& member)