@@ -416,15 +416,29 @@ QgsPropertyColorAssistantWidget::QgsPropertyColorAssistantWidget( QWidget* paren
416416
417417 bool supportsAlpha = definition.standardTemplate () == QgsPropertyDefinition::ColorWithAlpha;
418418 mNullColorButton ->setAllowAlpha ( supportsAlpha );
419+ mNullColorButton ->setShowNoColor ( true );
420+ mNullColorButton ->setColorDialogTitle ( tr ( " Color for null values" ) );
421+ mNullColorButton ->setContext ( QStringLiteral ( " symbology" ) );
422+ mNullColorButton ->setNoColorString ( tr ( " Transparent" ) );
419423
420424 if ( const QgsColorRampTransformer* colorTransform = dynamic_cast < const QgsColorRampTransformer* >( initialState.transformer () ) )
421425 {
422426 mNullColorButton ->setColor ( colorTransform->nullColor () );
423- mColorRampButton ->setColorRamp ( colorTransform->colorRamp () );
427+ if ( colorTransform->colorRamp () )
428+ mColorRampButton ->setColorRamp ( colorTransform->colorRamp () );
424429 }
425430
426431 connect ( mNullColorButton , &QgsColorButton::colorChanged, this , &QgsPropertyColorAssistantWidget::widgetChanged );
427432 connect ( mColorRampButton , &QgsColorRampButton::colorRampChanged, this , &QgsPropertyColorAssistantWidget::widgetChanged );
433+
434+ if ( !mColorRampButton ->colorRamp () )
435+ {
436+ // set a default ramp
437+ QString defaultRampName = QgsProject::instance ()->readEntry ( QStringLiteral ( " DefaultStyles" ), QStringLiteral ( " /ColorRamp" ), QString () );
438+ std::unique_ptr< QgsColorRamp > defaultRamp ( QgsStyle::defaultStyle ()->colorRamp ( !defaultRampName.isEmpty () ? defaultRampName : QStringLiteral ( " Blues" ) ) );
439+ if ( defaultRamp )
440+ mColorRampButton ->setColorRamp ( defaultRamp.get () );
441+ }
428442}
429443
430444QgsColorRampTransformer* QgsPropertyColorAssistantWidget::createTransformer ( double minValue, double maxValue ) const
0 commit comments