From e43fe56ecd0f2c17010b10a94531b64a05d4575d Mon Sep 17 00:00:00 2001 From: mhugent Date: Sat, 16 Jan 2010 14:17:45 +0000 Subject: [PATCH] Display polygon outline icon on button for svg fill symbol layer git-svn-id: http://svn.osgeo.org/qgis/trunk@12778 c8812cc2-4d05-0410-92ff-de0c093fc19c --- src/gui/symbology-ng/qgssymbollayerv2widget.cpp | 14 +++++++++++++- src/gui/symbology-ng/qgssymbollayerv2widget.h | 1 + 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp index af39fa4bc03..226d7eb18ad 100644 --- a/src/gui/symbology-ng/qgssymbollayerv2widget.cpp +++ b/src/gui/symbology-ng/qgssymbollayerv2widget.cpp @@ -508,6 +508,7 @@ QgsSVGFillSymbolLayerWidget::QgsSVGFillSymbolLayerWidget( QWidget* parent ): Qgs mLayer = 0; setupUi( this ); insertIcons(); + updateOutlineIcon(); } void QgsSVGFillSymbolLayerWidget::setSymbolLayer( QgsSymbolLayerV2* layer ) @@ -529,6 +530,7 @@ void QgsSVGFillSymbolLayerWidget::setSymbolLayer( QgsSymbolLayerV2* layer ) mTextureWidthSpinBox->setValue( width ); mSVGLineEdit->setText( mLayer->svgFilePath() ); } + updateOutlineIcon(); } QgsSymbolLayerV2* QgsSVGFillSymbolLayerWidget::symbolLayer() @@ -604,10 +606,20 @@ void QgsSVGFillSymbolLayerWidget::insertIcons() void QgsSVGFillSymbolLayerWidget::on_mChangeOutlinePushButton_clicked() { QgsSymbolV2PropertiesDialog dlg( mLayer->subSymbol(), this ); - if ( dlg.exec() == 0 ) + if ( dlg.exec() == QDialog::Rejected ) { return; } + updateOutlineIcon(); emit changed(); } + +void QgsSVGFillSymbolLayerWidget::updateOutlineIcon() +{ + if ( mLayer ) + { + QIcon icon = QgsSymbolLayerV2Utils::symbolPreviewIcon( mLayer->subSymbol(), mChangeOutlinePushButton->iconSize() ); + mChangeOutlinePushButton->setIcon( icon ); + } +} diff --git a/src/gui/symbology-ng/qgssymbollayerv2widget.h b/src/gui/symbology-ng/qgssymbollayerv2widget.h index 0b0c7bd4ed5..b74a7180d11 100644 --- a/src/gui/symbology-ng/qgssymbollayerv2widget.h +++ b/src/gui/symbology-ng/qgssymbollayerv2widget.h @@ -230,6 +230,7 @@ class GUI_EXPORT QgsSVGFillSymbolLayerWidget : public QgsSymbolLayerV2Widget, pr //sets new output unit. Is called on combo box or spin box change void setOutputUnit(); void insertIcons(); + void updateOutlineIcon(); private slots: void on_mBrowseToolButton_clicked();