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