Compare commits

..

No commits in common. "3ec2143f28ebb489b7172b253c09fa744899866f" and "69dd1afba53b0159e6b8efb84d1e74d2176d66ac" have entirely different histories.

5 changed files with 8 additions and 23 deletions

View file

@ -111,7 +111,6 @@ void BasketModel::finishSale()
emit beginRemoveRows(QModelIndex(), 0, marketplace_->getBasket().size() - 1);
marketplace_->finishCurrentSale();
emit endRemoveRows();
emit basketDataChanged();
}
void BasketModel::cancelSale()

View file

@ -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_;
};

View file

@ -2,8 +2,8 @@
#include "basketmodel.h"
#include "pricedialog.h"
#include "salemodel.h"
#include "sellerdialog.h"
#include "salemodel.h"
#include <regex>
@ -40,9 +40,6 @@ MainWindow::MainWindow()
&MainWindow::onCancelArticleButtonClicked);
connect(ui_.cancelAllArticlesButton, &QPushButton::clicked, this,
&MainWindow::onCancelAllArticlesButtonClicked);
connect(static_cast<BasketModel*>(ui_.basketView->model()), &BasketModel::basketDataChanged,
static_cast<SaleModel*>(ui_.salesView->model()),
&SaleModel::onBasketDataChanged);
}
void MainWindow::on_actionEditSeller_triggered()
@ -68,7 +65,6 @@ void MainWindow::on_paidButton_triggered()
dynamic_cast<BasketModel*>(ui_.basketView->model())->finishSale();
ui_.lastPriceLabel1->setText(lastPrice);
ui_.lastPriceLabel2->setText(lastPrice);
// static_cast<SaleModel*>(ui_.salesView->model())->onDataChanged();
}
}

View file

@ -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<Article*>(index.internalPointer());
article = dynamic_cast<Article*>(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();
}

View file

@ -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<Sale> rootItem{new Sale()};