diff --git a/src/gui/mainwindow.cpp b/src/gui/mainwindow.cpp index eed1227..fa17dd1 100644 --- a/src/gui/mainwindow.cpp +++ b/src/gui/mainwindow.cpp @@ -260,6 +260,9 @@ void MainWindow::checkSellerNo(bool ctrlPressed) auto seller = marketplace_->findSellerWithSellerNo(sellerNo); if (seller) { PriceDialog priceDialog(this); + if(sellerNo == 0) { + priceDialog.setForceDesc(true); + } auto dialogResult = priceDialog.exec(); if (dialogResult == QDialog::Accepted) { int price = priceDialog.getPrice(); diff --git a/src/gui/pricedialog.cpp b/src/gui/pricedialog.cpp index cfe17c0..f28f190 100644 --- a/src/gui/pricedialog.cpp +++ b/src/gui/pricedialog.cpp @@ -4,8 +4,9 @@ #include -PriceDialog::PriceDialog(QWidget* parent, Qt::WindowFlags f) : QDialog(parent, f) +PriceDialog::PriceDialog(QWidget* parent, bool forceDesc, Qt::WindowFlags f) : QDialog(parent, f) { + forceDesc_ = forceDesc; ui_.setupUi(this); ui_.priceSpinBox->setFocus(); } @@ -21,7 +22,18 @@ void PriceDialog::accept() "Es sind nur 0,50 Cent-Schritte erlaubt.", QMessageBox::StandardButton::Ok, this) .exec(); + } else if (forceDesc_ && ui_.descEdit->text().trimmed().isEmpty()) { + QMessageBox(QMessageBox::Icon::Warning, "Artikelbeschreibung fehlt", + "Da Sie auf das Sonderkonto buchen ist eine Artikelbeschreibung erforderlich.", + QMessageBox::StandardButton::Ok, this) + .exec(); + ui_.descEdit->setFocus(); } else { QDialog::accept(); } +} + +void PriceDialog::setForceDesc(bool force) +{ + forceDesc_ = force; } \ No newline at end of file diff --git a/src/gui/pricedialog.h b/src/gui/pricedialog.h index a5a0aee..229d2f3 100644 --- a/src/gui/pricedialog.h +++ b/src/gui/pricedialog.h @@ -10,15 +10,17 @@ class PriceDialog : public QDialog Q_OBJECT public: - PriceDialog(QWidget* parent = nullptr, - Qt::WindowFlags f = Qt::WindowTitleHint | Qt::WindowSystemMenuHint); + PriceDialog(QWidget* parent = nullptr, bool forceDesc = false, + Qt::WindowFlags f = Qt::WindowTitleHint | Qt::WindowSystemMenuHint); int getPrice() const; std::string getDescription() const; + void setForceDesc(bool force); private: void on_model_duplicateSellerNo(const QString& message); virtual void accept() override; Ui::PriceDialog ui_; + bool forceDesc_; }; #endif \ No newline at end of file