diff --git a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp index eb459e861e..b26c6b2ec3 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp +++ b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.cpp @@ -36,6 +36,8 @@ #include #include +#include + #include "ViewProviderSketch.h" using namespace SketcherGui; @@ -58,8 +60,7 @@ SketcherGeneralWidget::SketcherGeneralWidget(QWidget *parent) this, SLOT(onSetGridSize(double))); connect(ui->checkBoxAutoconstraints, SIGNAL(stateChanged(int)), this, SIGNAL(emitToggleAutoconstraints(int))); - connect(ui->renderingOrder->model(), SIGNAL(layoutChanged()), - this, SLOT(onRenderOrderChanged())); + ui->renderingOrder->installEventFilter(this); } SketcherGeneralWidget::~SketcherGeneralWidget() @@ -67,6 +68,14 @@ SketcherGeneralWidget::~SketcherGeneralWidget() delete ui; } +bool SketcherGeneralWidget::eventFilter(QObject *object, QEvent *event) +{ + if (object == ui->renderingOrder && event->type() == QEvent::ChildRemoved) { + onRenderOrderChanged(); + } + return false; +} + void SketcherGeneralWidget::saveSettings() { ui->checkBoxShowGrid->onSave(); diff --git a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h index ad6e309023..4499537417 100644 --- a/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h +++ b/src/Mod/Sketcher/Gui/TaskSketcherGeneral.h @@ -49,6 +49,8 @@ class SketcherGeneralWidget : public QWidget public: SketcherGeneralWidget(QWidget *parent=0); ~SketcherGeneralWidget(); + + bool eventFilter(QObject *object, QEvent *event); void saveSettings(); void saveOrderingOrder();