Skip to content

Commit c49af32

Browse files
committed
Fix rule based settings not saved (fix #15146, #15147, #15148)
1 parent 0634377 commit c49af32

File tree

4 files changed

+35
-1
lines changed

4 files changed

+35
-1
lines changed

python/gui/qgsscalerangewidget.sip

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,13 @@ class QgsScaleRangeWidget : QWidget
3737
void setMaximumScale( double scale );
3838

3939
void setScaleRange( double min, double max );
40+
41+
signals:
42+
43+
/** Emitted when the scale range set in the widget is changed.
44+
* @param min minimum scale
45+
* @param max maximum scale
46+
* @note added in QGIS 2.16
47+
*/
48+
void rangeChanged( double min, double max );
4049
};

src/gui/qgsscalerangewidget.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ QgsScaleRangeWidget::QgsScaleRangeWidget( QWidget *parent )
6464
mLayout->setColumnStretch( 3, 0 );
6565
mLayout->setColumnStretch( 4, 0 );
6666
mLayout->setColumnStretch( 5, 3 );
67+
68+
connect( mMinimumScaleWidget, SIGNAL( scaleChanged( double ) ), this, SLOT( emitRangeChanged() ) );
69+
connect( mMaximumScaleWidget, SIGNAL( scaleChanged( double ) ), this, SLOT( emitRangeChanged() ) );
6770
}
6871

6972
QgsScaleRangeWidget::~QgsScaleRangeWidget()
@@ -123,3 +126,8 @@ void QgsScaleRangeWidget::setScaleRange( double min, double max )
123126
setMinimumScale( min );
124127
}
125128

129+
void QgsScaleRangeWidget::emitRangeChanged()
130+
{
131+
emit rangeChanged( minimumScale(), maximumScale() );
132+
}
133+

src/gui/qgsscalerangewidget.h

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,19 @@ class GUI_EXPORT QgsScaleRangeWidget : public QWidget
6262

6363
void setScaleRange( double min, double max );
6464

65+
signals:
66+
67+
/** Emitted when the scale range set in the widget is changed.
68+
* @param min minimum scale
69+
* @param max maximum scale
70+
* @note added in QGIS 2.16
71+
*/
72+
void rangeChanged( double min, double max );
73+
74+
private slots:
75+
76+
void emitRangeChanged();
77+
6578
private:
6679
//! pointer to the map canvas used for current buttons.
6780
QgsMapCanvas* mCanvas;

src/gui/symbology-ng/qgsrulebasedrendererv2widget.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -656,7 +656,11 @@ QgsRendererRulePropsWidget::QgsRendererRulePropsWidget( QgsRuleBasedRendererV2::
656656
connect( btnExpressionBuilder, SIGNAL( clicked() ), this, SLOT( buildExpression() ) );
657657
connect( btnTestFilter, SIGNAL( clicked() ), this, SLOT( testFilter() ) );
658658
connect( editFilter, SIGNAL( textChanged( QString ) ), this, SIGNAL( widgetChanged() ) );
659-
659+
connect( editLabel, SIGNAL( textChanged( QString ) ), this, SIGNAL( widgetChanged() ) );
660+
connect( editDescription, SIGNAL( textChanged( QString ) ), this, SIGNAL( widgetChanged() ) );
661+
connect( groupSymbol, SIGNAL( toggled( bool ) ), this, SIGNAL( widgetChanged() ) );
662+
connect( groupScale, SIGNAL( toggled( bool ) ), this, SIGNAL( widgetChanged() ) );
663+
connect( mScaleRangeWidget, SIGNAL( rangeChanged( double, double ) ), this, SIGNAL( widgetChanged() ) );
660664
}
661665

662666
QgsRendererRulePropsWidget::~QgsRendererRulePropsWidget()

0 commit comments

Comments
 (0)