From 68c8d98e4bac05605ff20e614f75e1b37d18b13f Mon Sep 17 00:00:00 2001 From: wmayer Date: Thu, 2 Jan 2014 13:53:53 +0100 Subject: [PATCH] + fixes #0001334: Applying extrude does not close the task --- src/Mod/Part/Gui/DlgExtrusion.cpp | 17 ++++++++++++++++- src/Mod/Part/Gui/DlgExtrusion.h | 3 ++- src/Mod/Part/Gui/DlgExtrusion.ui | 9 ++++++++- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/Mod/Part/Gui/DlgExtrusion.cpp b/src/Mod/Part/Gui/DlgExtrusion.cpp index 38e167657..d3032d1f7 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.cpp +++ b/src/Mod/Part/Gui/DlgExtrusion.cpp @@ -54,6 +54,7 @@ DlgExtrusion::DlgExtrusion(QWidget* parent, Qt::WFlags fl) : QDialog(parent, fl), ui(new Ui_DlgExtrusion) { ui->setupUi(this); + ui->statusLabel->clear(); ui->labelNormal->hide(); ui->viewButton->hide(); ui->dirLen->setMinimumWidth(55); // needed to show all digits @@ -214,16 +215,25 @@ void DlgExtrusion::apply() activeDoc->commitTransaction(); try { + ui->statusLabel->clear(); activeDoc->recompute(); + ui->statusLabel->setText(QString::fromAscii + ("%1").arg(tr("Suceeded"))); } catch (const std::exception& e) { + ui->statusLabel->setText(QString::fromAscii + ("%1").arg(tr("Failed"))); Base::Console().Error("%s\n", e.what()); } catch (const Base::Exception& e) { + ui->statusLabel->setText(QString::fromAscii + ("%1").arg(tr("Failed"))); Base::Console().Error("%s\n", e.what()); } catch (...) { - Base::Console().Error("General error while extruding\n"); + ui->statusLabel->setText(QString::fromAscii + ("%1").arg(tr("Failed"))); + Base::Console().Error("General error in extrusion\n"); } } @@ -258,6 +268,11 @@ bool TaskExtrusion::accept() return (widget->result() == QDialog::Accepted); } +bool TaskExtrusion::reject() +{ + return true; +} + void TaskExtrusion::clicked(int id) { if (id == QDialogButtonBox::Apply) { diff --git a/src/Mod/Part/Gui/DlgExtrusion.h b/src/Mod/Part/Gui/DlgExtrusion.h index deeabe375..38423de6d 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.h +++ b/src/Mod/Part/Gui/DlgExtrusion.h @@ -65,10 +65,11 @@ public: public: bool accept(); + bool reject(); void clicked(int); virtual QDialogButtonBox::StandardButtons getStandardButtons() const - { return QDialogButtonBox::Apply | QDialogButtonBox::Close; } + { return QDialogButtonBox::Ok | QDialogButtonBox::Apply | QDialogButtonBox::Close; } private: DlgExtrusion* widget; diff --git a/src/Mod/Part/Gui/DlgExtrusion.ui b/src/Mod/Part/Gui/DlgExtrusion.ui index 3fad61682..b3485461c 100644 --- a/src/Mod/Part/Gui/DlgExtrusion.ui +++ b/src/Mod/Part/Gui/DlgExtrusion.ui @@ -7,7 +7,7 @@ 0 0 260 - 504 + 545 @@ -235,6 +235,13 @@ + + + + StatusLabel + + +