@@ -55,6 +55,7 @@ QgsComposerItem::QgsComposerItem( QgsComposition* composition, bool manageZValue
5555 , mLastValidViewScaleFactor( -1 )
5656 , mRotation( 0 )
5757 , mBlendMode( QgsMapRenderer::BlendNormal )
58+ , mTransparency( 0 )
5859 , mLastUsedPositionMode( UpperLeft )
5960 , mId( " " )
6061 , mUuid( QUuid::createUuid().toString() )
@@ -75,6 +76,7 @@ QgsComposerItem::QgsComposerItem( qreal x, qreal y, qreal width, qreal height, Q
7576 , mLastValidViewScaleFactor( -1 )
7677 , mRotation( 0 )
7778 , mBlendMode( QgsMapRenderer::BlendNormal )
79+ , mTransparency( 0 )
7880 , mLastUsedPositionMode( UpperLeft )
7981 , mId( " " )
8082 , mUuid( QUuid::createUuid().toString() )
@@ -205,6 +207,9 @@ bool QgsComposerItem::_writeXML( QDomElement& itemElem, QDomDocument& doc ) cons
205207 // blend mode
206208 composerItemElem.setAttribute ( " blendMode" , QString::number ( mBlendMode ) );
207209
210+ // transparency
211+ composerItemElem.setAttribute ( " transparency" , QString::number ( mTransparency ) );
212+
208213 itemElem.appendChild ( composerItemElem );
209214
210215 return true ;
@@ -328,6 +333,9 @@ bool QgsComposerItem::_readXML( const QDomElement& itemElem, const QDomDocument&
328333 // blend mode
329334 setBlendMode (( QgsMapRenderer::BlendMode ) itemElem.attribute ( " blendMode" , " 0" ).toInt () );
330335
336+ // transparency
337+ setTransparency ( itemElem.attribute ( " transparency" , " 0" ).toInt () );
338+
331339 return true ;
332340}
333341
@@ -883,6 +891,12 @@ void QgsComposerItem::setBlendMode( QgsMapRenderer::BlendMode blendMode )
883891 mEffect ->setCompositionMode ( QgsMapRenderer::getCompositionMode ( mBlendMode ) );
884892}
885893
894+ void QgsComposerItem::setTransparency ( int transparency )
895+ {
896+ mTransparency = transparency;
897+ // Set the QGraphicItem's opacity
898+ setOpacity ( 1 . - ( transparency / 100 . ) );
899+ }
886900
887901void QgsComposerItem::hoverMoveEvent ( QGraphicsSceneHoverEvent * event )
888902{
0 commit comments