From 42c5f35576f2fd741390d4006ced09842ad522f9 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 23 Jul 2018 12:58:27 +0200 Subject: [PATCH] enable/disable delete button --- src/gui/mainwindow.ui | 2 +- src/gui/sellerdialog.cpp | 13 +++++++++++++ src/gui/sellerdialog.h | 4 ++++ src/gui/sellerdialog.ui | 3 +++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/gui/mainwindow.ui b/src/gui/mainwindow.ui index eea630f..379b942 100644 --- a/src/gui/mainwindow.ui +++ b/src/gui/mainwindow.ui @@ -206,7 +206,7 @@ - false + true Alles stornieren diff --git a/src/gui/sellerdialog.cpp b/src/gui/sellerdialog.cpp index b2a284e..63f2461 100644 --- a/src/gui/sellerdialog.cpp +++ b/src/gui/sellerdialog.cpp @@ -8,6 +8,7 @@ SellerDialog::SellerDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) { ui_.setupUi(this); + ui_.editButton->setVisible(false); SellerModel* model = new SellerModel(dynamic_cast(parent)->getMarketplace(), ui_.tableView); ui_.tableView->setModel(model); @@ -16,6 +17,8 @@ SellerDialog::SellerDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, connect(ui_.deleteButton, &QPushButton::clicked, this, &SellerDialog::on_deleteButton_clicked); connect(model, &SellerModel::duplicateSellerNo, this, &SellerDialog::on_model_duplicateSellerNo); + connect(ui_.tableView->selectionModel(), &QItemSelectionModel::selectionChanged, this, + &SellerDialog::onSellerViewSelectionChanged); } void SellerDialog::on_newButton_clicked() @@ -72,4 +75,14 @@ void SellerDialog::accept() } } QDialog::accept(); +} + +void SellerDialog::onSellerViewSelectionChanged(const QItemSelection& selected, + [[maybe_unused]] const QItemSelection& deselected) +{ + if (selected.size() > 0) { + ui_.deleteButton->setEnabled(true); + } else { + ui_.deleteButton->setEnabled(false); + } } \ No newline at end of file diff --git a/src/gui/sellerdialog.h b/src/gui/sellerdialog.h index 4276630..d48556b 100644 --- a/src/gui/sellerdialog.h +++ b/src/gui/sellerdialog.h @@ -15,6 +15,10 @@ class SellerDialog : public QDialog SellerDialog(QWidget* parent = nullptr, Qt::WindowFlags f = Qt::WindowTitleHint | Qt::WindowSystemMenuHint); + private slots: + void onSellerViewSelectionChanged(const QItemSelection& selected, + const QItemSelection& deselected); + private: void on_newButton_clicked(); void on_deleteButton_clicked(); diff --git a/src/gui/sellerdialog.ui b/src/gui/sellerdialog.ui index 7f5916e..1938c47 100644 --- a/src/gui/sellerdialog.ui +++ b/src/gui/sellerdialog.ui @@ -65,6 +65,9 @@ + + false + Löschen