Skip to content

Commit cfa1d54

Browse files
committedJan 11, 2019
Link color buttons to their data defined buttons in symbology
1 parent e569331 commit cfa1d54

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed
 

‎src/gui/symbology/qgsellipsesymbollayerwidget.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ QgsEllipseSymbolLayerWidget::QgsEllipseSymbolLayerWidget( QgsVectorLayer *vl, QW
5757
btnChangeColorStroke->setShowNoColor( true );
5858
btnChangeColorStroke->setNoColorString( tr( "Transparent Stroke" ) );
5959

60+
mFillColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
61+
mFillColorDDBtn->registerEnabledWidget( btnChangeColorFill, false );
62+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
63+
mStrokeColorDDBtn->registerEnabledWidget( btnChangeColorStroke, false );
64+
6065
spinOffsetX->setClearValue( 0.0 );
6166
spinOffsetY->setClearValue( 0.0 );
6267
mRotationSpinBox->setClearValue( 0.0 );

‎src/gui/symbology/qgssymbollayerwidget.cpp

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,9 @@ QgsSimpleLineSymbolLayerWidget::QgsSimpleLineSymbolLayerWidget( QgsVectorLayer *
195195
btnChangeColor->setColorDialogTitle( tr( "Select Line Color" ) );
196196
btnChangeColor->setContext( QStringLiteral( "symbology" ) );
197197

198+
mColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
199+
mColorDDBtn->registerEnabledWidget( btnChangeColor, false );
200+
198201
mRingFilterComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconAllRings.svg" ) ), tr( "All Rings" ), QgsLineSymbolLayer::AllRings );
199202
mRingFilterComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconExteriorRing.svg" ) ), tr( "Exterior Ring Only" ), QgsLineSymbolLayer::ExteriorRingOnly );
200203
mRingFilterComboBox->addItem( QgsApplication::getThemeIcon( QStringLiteral( "mIconInteriorRings.svg" ) ), tr( "Interior Rings Only" ), QgsLineSymbolLayer::InteriorRingsOnly );
@@ -465,6 +468,11 @@ QgsSimpleMarkerSymbolLayerWidget::QgsSimpleMarkerSymbolLayerWidget( QgsVectorLay
465468
btnChangeColorStroke->setShowNoColor( true );
466469
btnChangeColorStroke->setNoColorString( tr( "Transparent Stroke" ) );
467470

471+
mFillColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
472+
mFillColorDDBtn->registerEnabledWidget( btnChangeColorFill, false );
473+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
474+
mStrokeColorDDBtn->registerEnabledWidget( btnChangeColorStroke, false );
475+
468476
spinOffsetX->setClearValue( 0.0 );
469477
spinOffsetY->setClearValue( 0.0 );
470478
spinAngle->setClearValue( 0.0 );
@@ -758,6 +766,11 @@ QgsSimpleFillSymbolLayerWidget::QgsSimpleFillSymbolLayerWidget( QgsVectorLayer *
758766
connect( cboJoinStyle, static_cast<void ( QComboBox::* )( int )>( &QComboBox::currentIndexChanged ), this, &QgsSimpleFillSymbolLayerWidget::strokeStyleChanged );
759767
connect( spinOffsetX, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsSimpleFillSymbolLayerWidget::offsetChanged );
760768
connect( spinOffsetY, static_cast < void ( QDoubleSpinBox::* )( double ) > ( &QDoubleSpinBox::valueChanged ), this, &QgsSimpleFillSymbolLayerWidget::offsetChanged );
769+
770+
mFillColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
771+
mFillColorDDBtn->registerEnabledWidget( btnChangeColor, false );
772+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
773+
mStrokeColorDDBtn->registerEnabledWidget( btnChangeStrokeColor, false );
761774
}
762775

763776
void QgsSimpleFillSymbolLayerWidget::setSymbolLayer( QgsSymbolLayer *layer )
@@ -1078,6 +1091,11 @@ QgsGradientFillSymbolLayerWidget::QgsGradientFillSymbolLayerWidget( QgsVectorLay
10781091
btnChangeColor2->setShowNoColor( true );
10791092
btnChangeColor2->setNoColorString( tr( "Transparent" ) );
10801093

1094+
mStartColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1095+
mStartColorDDBtn->registerEnabledWidget( btnChangeColor, false );
1096+
mEndColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1097+
mEndColorDDBtn->registerEnabledWidget( btnChangeColor2, false );
1098+
10811099
spinOffsetX->setClearValue( 0.0 );
10821100
spinOffsetY->setClearValue( 0.0 );
10831101
mSpinAngle->setClearValue( 0.0 );
@@ -1419,6 +1437,11 @@ QgsShapeburstFillSymbolLayerWidget::QgsShapeburstFillSymbolLayerWidget( QgsVecto
14191437
btnChangeColor2->setShowNoColor( true );
14201438
btnChangeColor2->setNoColorString( tr( "Transparent" ) );
14211439

1440+
mStartColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1441+
mStartColorDDBtn->registerEnabledWidget( btnChangeColor, false );
1442+
mEndColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1443+
mEndColorDDBtn->registerEnabledWidget( btnChangeColor2, false );
1444+
14221445
spinOffsetX->setClearValue( 0.0 );
14231446
spinOffsetY->setClearValue( 0.0 );
14241447

@@ -1869,6 +1892,11 @@ QgsSvgMarkerSymbolLayerWidget::QgsSvgMarkerSymbolLayerWidget( QgsVectorLayer *vl
18691892
mChangeStrokeColorButton->setColorDialogTitle( tr( "Select Stroke Color" ) );
18701893
mChangeStrokeColorButton->setContext( QStringLiteral( "symbology" ) );
18711894

1895+
mFillColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1896+
mFillColorDDBtn->registerEnabledWidget( mChangeColorButton, false );
1897+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
1898+
mStrokeColorDDBtn->registerEnabledWidget( mChangeStrokeColorButton, false );
1899+
18721900
spinOffsetX->setClearValue( 0.0 );
18731901
spinOffsetY->setClearValue( 0.0 );
18741902
spinAngle->setClearValue( 0.0 );
@@ -2312,6 +2340,11 @@ QgsSVGFillSymbolLayerWidget::QgsSVGFillSymbolLayerWidget( QgsVectorLayer *vl, QW
23122340
mChangeStrokeColorButton->setColorDialogTitle( tr( "Select Stroke Color" ) );
23132341
mChangeStrokeColorButton->setContext( QStringLiteral( "symbology" ) );
23142342

2343+
mFilColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
2344+
mFilColorDDBtn->registerEnabledWidget( mChangeColorButton, false );
2345+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
2346+
mStrokeColorDDBtn->registerEnabledWidget( mChangeStrokeColorButton, false );
2347+
23152348
connect( mSvgListView->selectionModel(), &QItemSelectionModel::currentChanged, this, &QgsSVGFillSymbolLayerWidget::setFile );
23162349
connect( mSvgTreeView->selectionModel(), &QItemSelectionModel::currentChanged, this, &QgsSVGFillSymbolLayerWidget::populateIcons );
23172350
}
@@ -2834,6 +2867,11 @@ QgsFontMarkerSymbolLayerWidget::QgsFontMarkerSymbolLayerWidget( QgsVectorLayer *
28342867
btnStrokeColor->setColorDialogTitle( tr( "Select Symbol Stroke Color" ) );
28352868
btnStrokeColor->setContext( QStringLiteral( "symbology" ) );
28362869

2870+
mColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
2871+
mColorDDBtn->registerEnabledWidget( btnColor, false );
2872+
mStrokeColorDDBtn->setFlags( QgsPropertyOverrideButton::FlagDisableCheckedWidgetOnlyWhenProjectColorSet );
2873+
mStrokeColorDDBtn->registerEnabledWidget( btnStrokeColor, false );
2874+
28372875
spinOffsetX->setClearValue( 0.0 );
28382876
spinOffsetY->setClearValue( 0.0 );
28392877
spinAngle->setClearValue( 0.0 );

0 commit comments

Comments
 (0)
Please sign in to comment.