From 2924e9a4e7a5c371e7096daeb5b1d3a2b1860d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Wed, 23 Jun 2021 07:27:09 +0800 Subject: Tidy up a bit --- ord.cxx | 34 ++++++++++++++-------------------- 1 file changed, 14 insertions(+), 20 deletions(-) (limited to 'ord.cxx') 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 Ord::roleNames() const { return QHash{ - {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) -- cgit v1.2.3