@@ -117,12 +117,16 @@ QgsBlurWidget::QgsBlurWidget( QWidget *parent )
117
117
{
118
118
setupUi ( this );
119
119
connect ( mBlurTypeCombo , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsBlurWidget::mBlurTypeCombo_currentIndexChanged );
120
- connect ( mBlurStrengthSpnBx , static_cast < void ( QSpinBox::* )( int ) >( &QSpinBox::valueChanged ), this , &QgsBlurWidget::mBlurStrengthSpnBx_valueChanged );
120
+ connect ( mBlurStrengthSpnBx , static_cast < void ( QDoubleSpinBox::* )( double ) >( &QDoubleSpinBox::valueChanged ), this , &QgsBlurWidget::mBlurStrengthSpnBx_valueChanged );
121
+ connect ( mBlurUnitWidget , &QgsUnitSelectionWidget::changed, this , &QgsBlurWidget::mBlurUnitWidget_changed );
121
122
connect ( mDrawModeComboBox , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsBlurWidget::mDrawModeComboBox_currentIndexChanged );
122
123
connect ( mBlendCmbBx , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsBlurWidget::mBlendCmbBx_currentIndexChanged );
123
124
124
- mBlurTypeCombo ->addItem ( tr ( " Stack blur (fast)" ), QgsBlurEffect::StackBlur );
125
- mBlurTypeCombo ->addItem ( tr ( " Gaussian blur (quality)" ), QgsBlurEffect::GaussianBlur );
125
+ mBlurTypeCombo ->addItem ( tr ( " Stack blur (fast, doesn't support high dpi)" ), QgsBlurEffect::StackBlur );
126
+ mBlurTypeCombo ->addItem ( tr ( " Gaussian blur (quality, supports high dpi)" ), QgsBlurEffect::GaussianBlur );
127
+
128
+ mBlurUnitWidget ->setUnits ( QgsUnitTypes::RenderUnitList () << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderPixels << QgsUnitTypes::RenderMapUnits
129
+ << QgsUnitTypes::RenderPoints << QgsUnitTypes::RenderInches );
126
130
127
131
initGui ();
128
132
connect ( mOpacityWidget , &QgsOpacityWidget::opacityChanged, this , &QgsBlurWidget::opacityChanged );
@@ -187,7 +191,7 @@ void QgsBlurWidget::mBlurTypeCombo_currentIndexChanged( int index )
187
191
emit changed ();
188
192
}
189
193
190
- void QgsBlurWidget::mBlurStrengthSpnBx_valueChanged ( int value )
194
+ void QgsBlurWidget::mBlurStrengthSpnBx_valueChanged ( double value )
191
195
{
192
196
if ( !mEffect )
193
197
return ;
@@ -196,6 +200,18 @@ void QgsBlurWidget::mBlurStrengthSpnBx_valueChanged( int value )
196
200
emit changed ();
197
201
}
198
202
203
+ void QgsBlurWidget::mBlurUnitWidget_changed ()
204
+ {
205
+ if ( !mEffect )
206
+ {
207
+ return ;
208
+ }
209
+
210
+ mEffect ->setBlurUnit ( mBlurUnitWidget ->unit () );
211
+ mEffect ->setBlurMapUnitScale ( mBlurUnitWidget ->getMapUnitScale () );
212
+ emit changed ();
213
+ }
214
+
199
215
void QgsBlurWidget::opacityChanged ( double value )
200
216
{
201
217
if ( !mEffect )
@@ -244,7 +260,8 @@ QgsShadowEffectWidget::QgsShadowEffectWidget( QWidget *parent )
244
260
connect ( mShadowColorBtn , &QgsColorButton::colorChanged, this , &QgsShadowEffectWidget::mShadowColorBtn_colorChanged );
245
261
connect ( mDrawModeComboBox , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsShadowEffectWidget::mDrawModeComboBox_currentIndexChanged );
246
262
connect ( mShadowBlendCmbBx , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsShadowEffectWidget::mShadowBlendCmbBx_currentIndexChanged );
247
- connect ( mShadowRadiuSpnBx , static_cast < void ( QSpinBox::* )( int ) >( &QSpinBox::valueChanged ), this , &QgsShadowEffectWidget::mShadowRadiuSpnBx_valueChanged );
263
+ connect ( mShadowRadiuSpnBx , static_cast < void ( QDoubleSpinBox::* )( double ) >( &QDoubleSpinBox::valueChanged ), this , &QgsShadowEffectWidget::mShadowRadiuSpnBx_valueChanged );
264
+ connect ( mBlurUnitWidget , &QgsUnitSelectionWidget::changed, this , &QgsShadowEffectWidget::mBlurUnitWidget_changed );
248
265
249
266
mShadowColorBtn ->setAllowOpacity ( false );
250
267
mShadowColorBtn ->setColorDialogTitle ( tr ( " Select Shadow Color" ) );
@@ -253,6 +270,8 @@ QgsShadowEffectWidget::QgsShadowEffectWidget( QWidget *parent )
253
270
254
271
mOffsetUnitWidget ->setUnits ( QgsUnitTypes::RenderUnitList () << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderPixels << QgsUnitTypes::RenderMapUnits
255
272
<< QgsUnitTypes::RenderPoints << QgsUnitTypes::RenderInches );
273
+ mBlurUnitWidget ->setUnits ( QgsUnitTypes::RenderUnitList () << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderPixels << QgsUnitTypes::RenderMapUnits
274
+ << QgsUnitTypes::RenderPoints << QgsUnitTypes::RenderInches );
256
275
257
276
initGui ();
258
277
@@ -283,6 +302,8 @@ void QgsShadowEffectWidget::initGui()
283
302
mOffsetUnitWidget ->setUnit ( mEffect ->offsetUnit () );
284
303
mOffsetUnitWidget ->setMapUnitScale ( mEffect ->offsetMapUnitScale () );
285
304
mShadowRadiuSpnBx ->setValue ( mEffect ->blurLevel () );
305
+ mBlurUnitWidget ->setUnit ( mEffect ->blurUnit () );
306
+ mBlurUnitWidget ->setMapUnitScale ( mEffect ->blurMapUnitScale () );
286
307
mOpacityWidget ->setOpacity ( mEffect ->opacity () );
287
308
mShadowColorBtn ->setColor ( mEffect ->color () );
288
309
mShadowBlendCmbBx ->setBlendMode ( mEffect ->blendMode () );
@@ -298,6 +319,7 @@ void QgsShadowEffectWidget::blockSignals( const bool block )
298
319
mShadowOffsetSpnBx ->blockSignals ( block );
299
320
mOffsetUnitWidget ->blockSignals ( block );
300
321
mShadowRadiuSpnBx ->blockSignals ( block );
322
+ mBlurUnitWidget ->blockSignals ( block );
301
323
mOpacityWidget ->blockSignals ( block );
302
324
mShadowColorBtn ->blockSignals ( block );
303
325
mShadowBlendCmbBx ->blockSignals ( block );
@@ -361,7 +383,7 @@ void QgsShadowEffectWidget::mShadowColorBtn_colorChanged( const QColor &color )
361
383
emit changed ();
362
384
}
363
385
364
- void QgsShadowEffectWidget::mShadowRadiuSpnBx_valueChanged ( int value )
386
+ void QgsShadowEffectWidget::mShadowRadiuSpnBx_valueChanged ( double value )
365
387
{
366
388
if ( !mEffect )
367
389
return ;
@@ -370,6 +392,18 @@ void QgsShadowEffectWidget::mShadowRadiuSpnBx_valueChanged( int value )
370
392
emit changed ();
371
393
}
372
394
395
+ void QgsShadowEffectWidget::mBlurUnitWidget_changed ()
396
+ {
397
+ if ( !mEffect )
398
+ {
399
+ return ;
400
+ }
401
+
402
+ mEffect ->setBlurUnit ( mBlurUnitWidget ->unit () );
403
+ mEffect ->setBlurMapUnitScale ( mBlurUnitWidget ->getMapUnitScale () );
404
+ emit changed ();
405
+ }
406
+
373
407
void QgsShadowEffectWidget::mDrawModeComboBox_currentIndexChanged ( int index )
374
408
{
375
409
Q_UNUSED ( index )
@@ -408,14 +442,17 @@ QgsGlowWidget::QgsGlowWidget( QWidget *parent )
408
442
connect ( mColorBtn , &QgsColorButton::colorChanged, this , &QgsGlowWidget::mColorBtn_colorChanged );
409
443
connect ( mBlendCmbBx , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsGlowWidget::mBlendCmbBx_currentIndexChanged );
410
444
connect ( mDrawModeComboBox , static_cast <void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this , &QgsGlowWidget::mDrawModeComboBox_currentIndexChanged );
411
- connect ( mBlurRadiusSpnBx , static_cast < void ( QSpinBox::* )( int ) >( &QSpinBox::valueChanged ), this , &QgsGlowWidget::mBlurRadiusSpnBx_valueChanged );
445
+ connect ( mBlurRadiusSpnBx , static_cast < void ( QDoubleSpinBox::* )( double ) >( &QDoubleSpinBox::valueChanged ), this , &QgsGlowWidget::mBlurRadiusSpnBx_valueChanged );
446
+ connect ( mBlurUnitWidget , &QgsUnitSelectionWidget::changed, this , &QgsGlowWidget::mBlurUnitWidget_changed );
412
447
413
448
mColorBtn ->setAllowOpacity ( false );
414
449
mColorBtn ->setColorDialogTitle ( tr ( " Select Glow Color" ) );
415
450
mColorBtn ->setContext ( QStringLiteral ( " symbology" ) );
416
451
417
452
mSpreadUnitWidget ->setUnits ( QgsUnitTypes::RenderUnitList () << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderPixels << QgsUnitTypes::RenderMapUnits
418
453
<< QgsUnitTypes::RenderPoints << QgsUnitTypes::RenderInches );
454
+ mBlurUnitWidget ->setUnits ( QgsUnitTypes::RenderUnitList () << QgsUnitTypes::RenderMillimeters << QgsUnitTypes::RenderPixels << QgsUnitTypes::RenderMapUnits
455
+ << QgsUnitTypes::RenderPoints << QgsUnitTypes::RenderInches );
419
456
420
457
btnColorRamp->setShowGradientOnly ( true );
421
458
@@ -538,7 +575,7 @@ void QgsGlowWidget::mColorBtn_colorChanged( const QColor &color )
538
575
emit changed ();
539
576
}
540
577
541
- void QgsGlowWidget::mBlurRadiusSpnBx_valueChanged ( int value )
578
+ void QgsGlowWidget::mBlurRadiusSpnBx_valueChanged ( double value )
542
579
{
543
580
if ( !mEffect )
544
581
return ;
@@ -547,6 +584,18 @@ void QgsGlowWidget::mBlurRadiusSpnBx_valueChanged( int value )
547
584
emit changed ();
548
585
}
549
586
587
+ void QgsGlowWidget::mBlurUnitWidget_changed ()
588
+ {
589
+ if ( !mEffect )
590
+ {
591
+ return ;
592
+ }
593
+
594
+ mEffect ->setBlurUnit ( mBlurUnitWidget ->unit () );
595
+ mEffect ->setBlurMapUnitScale ( mBlurUnitWidget ->getMapUnitScale () );
596
+ emit changed ();
597
+ }
598
+
550
599
void QgsGlowWidget::mBlendCmbBx_currentIndexChanged ( int index )
551
600
{
552
601
Q_UNUSED ( index )
0 commit comments