Skip to content

Commit 1b7e5c5

Browse files
committed
Fix setting symbol for single symbol renderer via legend dbl click
Eg if diagram legend is also shown for layer it's possible for the single symbol renderer to show a legend item. (cherry-picked from 5612936)
1 parent b11efdb commit 1b7e5c5

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

python/core/symbology-ng/qgssinglesymbolrendererv2.sip

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ class QgsSingleSymbolRendererV2 : QgsFeatureRendererV2
6565

6666
virtual QSet< QString > legendKeysForFeature( QgsFeature& feature, QgsRenderContext& context );
6767

68+
virtual void setLegendSymbolItem( const QString& key, QgsSymbolV2* symbol /Transfer/ );
69+
6870
//! creates a QgsSingleSymbolRendererV2 from an existing renderer.
6971
//! @note added in 2.5
7072
//! @returns a new renderer if the conversion was possible, otherwise 0.

src/core/symbology-ng/qgssinglesymbolrendererv2.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -450,6 +450,12 @@ QSet< QString > QgsSingleSymbolRendererV2::legendKeysForFeature( QgsFeature& fea
450450
return QSet< QString >() << QString();
451451
}
452452

453+
void QgsSingleSymbolRendererV2::setLegendSymbolItem( const QString& key, QgsSymbolV2* symbol )
454+
{
455+
Q_UNUSED( key );
456+
setSymbol( symbol );
457+
}
458+
453459
QgsSingleSymbolRendererV2* QgsSingleSymbolRendererV2::convertFromRenderer( const QgsFeatureRendererV2 *renderer )
454460
{
455461
QgsSingleSymbolRendererV2* r = nullptr;

src/core/symbology-ng/qgssinglesymbolrendererv2.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ class CORE_EXPORT QgsSingleSymbolRendererV2 : public QgsFeatureRendererV2
8686

8787
virtual QSet< QString > legendKeysForFeature( QgsFeature& feature, QgsRenderContext& context ) override;
8888

89+
virtual void setLegendSymbolItem( const QString& key, QgsSymbolV2* symbol ) override;
90+
8991
//! creates a QgsSingleSymbolRendererV2 from an existing renderer.
9092
//! @note added in 2.5
9193
//! @returns a new renderer if the conversion was possible, otherwise 0.

0 commit comments

Comments
 (0)