diff --git a/src/app/qgssnappinglayertreemodel.cpp b/src/app/qgssnappinglayertreemodel.cpp index 72a2f8bbc49..4343137a4ba 100644 --- a/src/app/qgssnappinglayertreemodel.cpp +++ b/src/app/qgssnappinglayertreemodel.cpp @@ -129,6 +129,7 @@ QWidget *QgsSnappingLayerDelegate::createEditor( QWidget *parent, const QStyleOp { QgsScaleWidget *minLimitSp = new QgsScaleWidget( parent ); minLimitSp->setToolTip( tr( "Minimum scale from which snapping is enabled (i.e. most \"zoomed out\" scale)" ) ); + connect( minLimitSp, &QgsScaleWidget::scaleChanged, this, &QgsSnappingLayerDelegate::onScaleChanged ); return minLimitSp; } @@ -136,12 +137,18 @@ QWidget *QgsSnappingLayerDelegate::createEditor( QWidget *parent, const QStyleOp { QgsScaleWidget *maxLimitSp = new QgsScaleWidget( parent ); maxLimitSp->setToolTip( tr( "Maximum scale up to which snapping is enabled (i.e. most \"zoomed in\" scale)" ) ); + connect( maxLimitSp, &QgsScaleWidget::scaleChanged, this, &QgsSnappingLayerDelegate::onScaleChanged ); return maxLimitSp; } return nullptr; } +void QgsSnappingLayerDelegate::onScaleChanged() +{ + emit commitData( qobject_cast( sender() ) ); +} + void QgsSnappingLayerDelegate::setEditorData( QWidget *editor, const QModelIndex &index ) const { QVariant val = index.model()->data( index, Qt::UserRole ); diff --git a/src/app/qgssnappinglayertreemodel.h b/src/app/qgssnappinglayertreemodel.h index a7215891054..4eb4493182d 100644 --- a/src/app/qgssnappinglayertreemodel.h +++ b/src/app/qgssnappinglayertreemodel.h @@ -40,6 +40,9 @@ class APP_EXPORT QgsSnappingLayerDelegate : public QItemDelegate void setEditorData( QWidget *editor, const QModelIndex &index ) const override; void setModelData( QWidget *editor, QAbstractItemModel *model, const QModelIndex &index ) const override; + private slots: + void onScaleChanged(); + private: QgsMapCanvas *mCanvas = nullptr; };