diff --git a/src/gui/basketmodel.cpp b/src/gui/basketmodel.cpp index d063d2e..cc2f1cb 100644 --- a/src/gui/basketmodel.cpp +++ b/src/gui/basketmodel.cpp @@ -111,7 +111,6 @@ void BasketModel::finishSale() emit beginRemoveRows(QModelIndex(), 0, marketplace_->getBasket().size() - 1); marketplace_->finishCurrentSale(); emit endRemoveRows(); - emit basketDataChanged(); } void BasketModel::cancelSale() diff --git a/src/gui/basketmodel.h b/src/gui/basketmodel.h index 0d752ed..36d23bb 100644 --- a/src/gui/basketmodel.h +++ b/src/gui/basketmodel.h @@ -23,9 +23,6 @@ class BasketModel : public QAbstractTableModel void cancelSale(); virtual bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; - signals: - void basketDataChanged(); - private: Marketplace* marketplace_; }; diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index fd02719..fb3f5c7 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -2,8 +2,8 @@ #include "basketmodel.h" #include "pricedialog.h" -#include "salemodel.h" #include "sellerdialog.h" +#include "salemodel.h" #include @@ -40,9 +40,6 @@ MainWindow::MainWindow() &MainWindow::onCancelArticleButtonClicked); connect(ui_.cancelAllArticlesButton, &QPushButton::clicked, this, &MainWindow::onCancelAllArticlesButtonClicked); - connect(static_cast(ui_.basketView->model()), &BasketModel::basketDataChanged, - static_cast(ui_.salesView->model()), - &SaleModel::onBasketDataChanged); } void MainWindow::on_actionEditSeller_triggered() @@ -68,7 +65,6 @@ void MainWindow::on_paidButton_triggered() dynamic_cast(ui_.basketView->model())->finishSale(); ui_.lastPriceLabel1->setText(lastPrice); ui_.lastPriceLabel2->setText(lastPrice); - // static_cast(ui_.salesView->model())->onDataChanged(); } } diff --git a/src/gui/salemodel.cpp b/src/gui/salemodel.cpp index 0d6cefd..396a833 100644 --- a/src/gui/salemodel.cpp +++ b/src/gui/salemodel.cpp @@ -51,9 +51,14 @@ QModelIndex SaleModel::parent(const QModelIndex& index) const if (sale == rootItem.get()) return QModelIndex(); else { + /* auto iter = + std::find_if(marketplace_->getSales().begin(), marketplace_->getSales().end(), + [&sale](const auto& s) { return s.get() == sale; }); + auto pos = std::distance(marketplace_->getSales().begin(), iter); */ return createIndex(-1, 0, rootItem.get()); } } else { + // article = static_cast(index.internalPointer()); article = dynamic_cast(ent); if (!article) { @@ -85,6 +90,7 @@ QVariant SaleModel::data(const QModelIndex& index, int role) const case 1: myFont.setFamily("monospace"); return myFont; + return myFont; default: return myFont; } @@ -155,14 +161,4 @@ QVariant SaleModel::headerData(int section, Qt::Orientation orientation, int rol return QStringLiteral("%1").arg(section); } else return ""; -} - -void SaleModel::onBasketDataChanged() -{ - emit beginResetModel(); - auto& sales = marketplace_->getSales(); - std::sort(sales.begin(), sales.end(), [](const auto& lhs, const auto& rhs) { - return lhs->getTimestamp() > rhs->getTimestamp(); - }); - emit endResetModel(); } \ No newline at end of file diff --git a/src/gui/salemodel.h b/src/gui/salemodel.h index d212ed2..cb7e9e2 100644 --- a/src/gui/salemodel.h +++ b/src/gui/salemodel.h @@ -14,14 +14,11 @@ class SaleModel : public QAbstractItemModel QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override; QModelIndex parent(const QModelIndex& index) const override; - QVariant data(const QModelIndex& index, int role) const override; + QVariant data(const QModelIndex &index, int role) const override; int rowCount(const QModelIndex& parent) const override; int columnCount(const QModelIndex& parent) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; - public slots: - void onBasketDataChanged(); - private: Marketplace* marketplace_; std::unique_ptr rootItem{new Sale()};