Skip to content

Commit 7c6f01d

Browse files
committed
Fix legend text not customisable for QgsSimpleLegendNode items
cherry-picked from 4a9a936
1 parent 86d447b commit 7c6f01d

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

python/core/layertree/qgslayertreemodellegendnode.sip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ class QgsSimpleLegendNode : QgsLayerTreeModelLegendNode
148148
#include <qgslayertreemodellegendnode.h>
149149
%End
150150
public:
151-
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent /TransferThis/ = 0 );
151+
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent /TransferThis/ = 0, const QString& key = QString() );
152152

153153
virtual QVariant data( int role ) const;
154154
};

src/core/layertree/qgslayertreemodellegendnode.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,19 +392,22 @@ void QgsSymbolV2LegendNode::updateLabel()
392392
// -------------------------------------------------------------------------
393393

394394

395-
QgsSimpleLegendNode::QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon, QObject* parent )
395+
QgsSimpleLegendNode::QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon, QObject* parent, const QString& key )
396396
: QgsLayerTreeModelLegendNode( nodeLayer, parent )
397397
, mLabel( label )
398398
, mIcon( icon )
399+
, mKey( key )
399400
{
400401
}
401402

402403
QVariant QgsSimpleLegendNode::data( int role ) const
403404
{
404405
if ( role == Qt::DisplayRole || role == Qt::EditRole )
405-
return mLabel;
406+
return mUserLabel.isEmpty() ? mLabel : mUserLabel;
406407
else if ( role == Qt::DecorationRole )
407408
return mIcon;
409+
else if ( role == RuleKeyRole && !mKey.isEmpty() )
410+
return mKey;
408411
else
409412
return QVariant();
410413
}

src/core/layertree/qgslayertreemodellegendnode.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,14 +181,15 @@ class CORE_EXPORT QgsSymbolV2LegendNode : public QgsLayerTreeModelLegendNode
181181
class CORE_EXPORT QgsSimpleLegendNode : public QgsLayerTreeModelLegendNode
182182
{
183183
public:
184-
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent = 0 );
184+
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent = 0, const QString& key = QString() );
185185

186186
virtual QVariant data( int role ) const override;
187187

188188
private:
189189
QString mLabel;
190190
QString mId;
191191
QIcon mIcon;
192+
QString mKey;
192193
};
193194

194195

0 commit comments

Comments
 (0)