[Sketcher] Fix catching of rendering order change

model()->layoutChanged signal didn't work at all, was never emitted by widget
 Replaced with an eventFilter catching ChildRemoved to further emit the signal
This commit is contained in:
0penBrain
2020-04-11 15:12:05 +02:00
committed by abdullahtahiriyo
parent 392ad609b4
commit 3528429363
2 changed files with 13 additions and 2 deletions

View File

@@ -36,6 +36,8 @@
#include <Base/Tools.h>
#include <Base/UnitsApi.h>
#include <QEvent>
#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();

View File

@@ -49,6 +49,8 @@ class SketcherGeneralWidget : public QWidget
public:
SketcherGeneralWidget(QWidget *parent=0);
~SketcherGeneralWidget();
bool eventFilter(QObject *object, QEvent *event);
void saveSettings();
void saveOrderingOrder();