diff --git a/src/core/marketplace.cpp b/src/core/marketplace.cpp index f0e9d8b..5bd3a1f 100644 --- a/src/core/marketplace.cpp +++ b/src/core/marketplace.cpp @@ -32,10 +32,4 @@ int Marketplace::getNextSellerNo() return a->getSellerNo() < b->getSellerNo(); }); return (*iter)->getSellerNo() + 1; -} - -int Marketplace::getNumSellersDelete() -{ - int count = std::count_if(sellers_.begin(), sellers_.end(), [](const auto& a){return a->getState() == Seller::State::DELETE;}); - return count; } \ No newline at end of file diff --git a/src/core/marketplace.h b/src/core/marketplace.h index 580e12c..4bf73bd 100644 --- a/src/core/marketplace.h +++ b/src/core/marketplace.h @@ -15,7 +15,6 @@ class Marketplace void loadFromDb(); std::vector>& getSellers(); int getNextSellerNo(); - int getNumSellersDelete(); private: std::vector> sellers_; diff --git a/src/gui/sellerdialog.cpp b/src/gui/sellerdialog.cpp index 499f755..7063d79 100644 --- a/src/gui/sellerdialog.cpp +++ b/src/gui/sellerdialog.cpp @@ -2,7 +2,6 @@ #include "mainwindow.h" -#include #include SellerDialog::SellerDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) @@ -13,33 +12,13 @@ SellerDialog::SellerDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, ui_.tableView->setModel(model); ui_.tableView->setColumnHidden(0, true); // hide the uuid connect(ui_.newButton, &QPushButton::clicked, this, &SellerDialog::on_newButton_clicked); - connect(ui_.deleteButton, &QPushButton::clicked, this, &SellerDialog::on_deleteButton_clicked); } void SellerDialog::on_newButton_clicked() { - ui_.tableView->reset(); ui_.tableView->model()->insertRows(ui_.tableView->model()->rowCount(), 1); ui_.tableView->scrollToBottom(); ui_.tableView->selectRow(ui_.tableView->model()->rowCount() - 1); - QModelIndex idx = ui_.tableView->model()->index(ui_.tableView->model()->rowCount() - 1, 2); - ui_.tableView->setCurrentIndex(idx); - ui_.tableView->edit(idx); -} - -void SellerDialog::on_deleteButton_clicked() -{ - auto selModel = ui_.tableView->selectionModel(); - if (selModel->hasSelection() == false) - return; - auto indexes = selModel->selectedRows(); - - std::sort(indexes.begin(), indexes.end()); - - // Deleting the rows, beginning with the last one! - for (auto iter = indexes.constEnd() - 1; iter >= indexes.constBegin(); --iter) { - ui_.tableView->model()->removeRow(iter->row()); - } } void SellerDialog::accept() @@ -49,8 +28,7 @@ void SellerDialog::accept() if (seller->getFirstName().empty() || seller->getLastName().empty()) { QMessageBox(QMessageBox::Icon::Critical, "Fehler", "Bitte geben Sie bei jedem Verkäufer Vorname und Nachname an.", - QMessageBox::StandardButton::Ok, this) - .exec(); + QMessageBox::StandardButton::Ok, this).exec(); return; } } diff --git a/src/gui/sellerdialog.h b/src/gui/sellerdialog.h index d539f4a..8d0dc0a 100644 --- a/src/gui/sellerdialog.h +++ b/src/gui/sellerdialog.h @@ -17,7 +17,6 @@ class SellerDialog : public QDialog private: void on_newButton_clicked(); - void on_deleteButton_clicked(); virtual void accept() override; Ui::SellerDialog ui_; }; diff --git a/src/gui/sellerdialog.ui b/src/gui/sellerdialog.ui index 7f5916e..1dc8f78 100644 --- a/src/gui/sellerdialog.ui +++ b/src/gui/sellerdialog.ui @@ -39,9 +39,6 @@ QAbstractScrollArea::AdjustToContents - - QAbstractItemView::SelectRows - @@ -55,9 +52,6 @@ - - false - Bearbeiten diff --git a/src/gui/sellermodel.cpp b/src/gui/sellermodel.cpp index b59f49e..a88541d 100644 --- a/src/gui/sellermodel.cpp +++ b/src/gui/sellermodel.cpp @@ -23,9 +23,9 @@ QVariant SellerModel::data(const QModelIndex& index, int role) const Seller* seller = marketplace_->getSellers().at(index.row()).get(); -/* if (seller->getState() == Seller::State::DELETE) - return QVariant(); - */ + if (seller->getState() == Seller::State::DELETE) + return QVariant::Invalid; + switch (index.column()) { case 0: return seller->getUuidAsString().c_str(); @@ -129,23 +129,4 @@ bool SellerModel::insertRows(int row, int count, const QModelIndex& parent) emit endInsertRows(); return true; -} - -bool SellerModel::removeRows(int row, int count, const QModelIndex& parent) -{ - emit beginRemoveRows(parent, row, row + count - 1); - auto seller = marketplace_->getSellers().at(row).get(); - if (seller->getState() == Seller::State::NEW) { - marketplace_->getSellers().erase( - std::remove_if(marketplace_->getSellers().begin(), marketplace_->getSellers().end(), - [&seller](const std::unique_ptr& a) { - return a->getUuid() == seller->getUuid(); - }), - marketplace_->getSellers().end()); - } else { - seller->setState(Seller::State::DELETE); - } - emit endRemoveRows(); - - return false; } \ No newline at end of file diff --git a/src/gui/sellermodel.h b/src/gui/sellermodel.h index 8a7f61e..7ec2244 100644 --- a/src/gui/sellermodel.h +++ b/src/gui/sellermodel.h @@ -16,7 +16,6 @@ class SellerModel : public QAbstractTableModel virtual Qt::ItemFlags flags(const QModelIndex& index) const override; virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole); virtual bool insertRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; - virtual bool removeRows(int row, int count, const QModelIndex& parent = QModelIndex()) override; private: Marketplace* marketplace_;