From eeea36e6953db4a1fb737307ccc6adb9c4ef962c Mon Sep 17 00:00:00 2001 From: nyalldawson Date: Sun, 3 Nov 2013 20:54:23 +1100 Subject: [PATCH] Better default values for gradient fills --- src/core/symbology-ng/qgsfillsymbollayerv2.cpp | 8 ++++---- src/gui/symbology-ng/qgssymbollayerv2widget.cpp | 14 ++++++++++++++ src/ui/symbollayer/widget_gradientfill.ui | 5 ++++- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/src/core/symbology-ng/qgsfillsymbollayerv2.cpp b/src/core/symbology-ng/qgsfillsymbollayerv2.cpp index d0d74b6efe2..d88498e7fb7 100644 --- a/src/core/symbology-ng/qgsfillsymbollayerv2.cpp +++ b/src/core/symbology-ng/qgsfillsymbollayerv2.cpp @@ -293,9 +293,9 @@ QgsGradientFillSymbolLayerV2::QgsGradientFillSymbolLayerV2( QColor color, QColor mGradientType( gradientType ), mCoordinateMode( coordinateMode ), mGradientSpread( spread ), - mReferencePoint1( QPointF( 0, 0 ) ), + mReferencePoint1( QPointF( 0.5, 0 ) ), mReferencePoint1IsCentroid( false ), - mReferencePoint2( QPointF( 1, 1 ) ), + mReferencePoint2( QPointF( 0.5, 1 ) ), mReferencePoint2IsCentroid( false ), mAngle( 0 ), mOffsetUnit( QgsSymbolV2::MM ) @@ -318,9 +318,9 @@ QgsSymbolLayerV2* QgsGradientFillSymbolLayerV2::create( const QgsStringMap& prop GradientSpread gradientSpread = QgsGradientFillSymbolLayerV2::Pad; //default to gradient from the default fill color to white QColor color = DEFAULT_SIMPLEFILL_COLOR, color2 = Qt::white; - QPointF referencePoint1 = QPointF( 0, 0 ); + QPointF referencePoint1 = QPointF( 0.5, 0 ); bool refPoint1IsCentroid = false; - QPointF referencePoint2 = QPointF( 1, 1 ); + QPointF referencePoint2 = QPointF( 0.5, 1 ); bool refPoint2IsCentroid = false; double angle = 0; QPointF offset; diff --git a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp index 6b1145eecbf..832bccd71c6 100644 --- a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp +++ b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp @@ -813,12 +813,26 @@ void QgsGradientFillSymbolLayerV2Widget::setGradientType( int index ) { case 0: mLayer->setGradientType( QgsGradientFillSymbolLayerV2::Linear ); + //set sensible default reference points + spinRefPoint1X->setValue( 0.5 ); + spinRefPoint1Y->setValue( 0 ); + spinRefPoint2X->setValue( 0.5 ); + spinRefPoint2Y->setValue( 1 ); break; case 1: mLayer->setGradientType( QgsGradientFillSymbolLayerV2::Radial ); + //set sensible default reference points + spinRefPoint1X->setValue( 0 ); + spinRefPoint1Y->setValue( 0 ); + spinRefPoint2X->setValue( 1 ); + spinRefPoint2Y->setValue( 1 ); break; case 2: mLayer->setGradientType( QgsGradientFillSymbolLayerV2::Conical ); + spinRefPoint1X->setValue( 0.5 ); + spinRefPoint1Y->setValue( 0.5 ); + spinRefPoint2X->setValue( 1 ); + spinRefPoint2Y->setValue( 1 ); break; } emit changed(); diff --git a/src/ui/symbollayer/widget_gradientfill.ui b/src/ui/symbollayer/widget_gradientfill.ui index 30d9766a0d4..18ea29e90ed 100644 --- a/src/ui/symbollayer/widget_gradientfill.ui +++ b/src/ui/symbollayer/widget_gradientfill.ui @@ -207,6 +207,9 @@ 0.100000000000000 + + 0.500000000000000 + @@ -276,7 +279,7 @@ 0.100000000000000 - 1.000000000000000 + 0.500000000000000