Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Fix legend text not customisable for QgsSimpleLegendNode items
  • Loading branch information
nyalldawson committed May 4, 2015
1 parent edeafa9 commit 4a9a936
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 4 deletions.
2 changes: 1 addition & 1 deletion python/core/layertree/qgslayertreemodellegendnode.sip
Expand Up @@ -148,7 +148,7 @@ class QgsSimpleLegendNode : QgsLayerTreeModelLegendNode
#include <qgslayertreemodellegendnode.h>
%End
public:
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent /TransferThis/ = 0 );
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent /TransferThis/ = 0, const QString& key = QString() );

virtual QVariant data( int role ) const;
};
Expand Down
7 changes: 5 additions & 2 deletions src/core/layertree/qgslayertreemodellegendnode.cpp
Expand Up @@ -392,19 +392,22 @@ void QgsSymbolV2LegendNode::updateLabel()
// -------------------------------------------------------------------------


QgsSimpleLegendNode::QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon, QObject* parent )
QgsSimpleLegendNode::QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon, QObject* parent, const QString& key )
: QgsLayerTreeModelLegendNode( nodeLayer, parent )
, mLabel( label )
, mIcon( icon )
, mKey( key )
{
}

QVariant QgsSimpleLegendNode::data( int role ) const
{
if ( role == Qt::DisplayRole || role == Qt::EditRole )
return mLabel;
return mUserLabel.isEmpty() ? mLabel : mUserLabel;
else if ( role == Qt::DecorationRole )
return mIcon;
else if ( role == RuleKeyRole && !mKey.isEmpty() )
return mKey;
else
return QVariant();
}
Expand Down
3 changes: 2 additions & 1 deletion src/core/layertree/qgslayertreemodellegendnode.h
Expand Up @@ -181,14 +181,15 @@ class CORE_EXPORT QgsSymbolV2LegendNode : public QgsLayerTreeModelLegendNode
class CORE_EXPORT QgsSimpleLegendNode : public QgsLayerTreeModelLegendNode
{
public:
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent = 0 );
QgsSimpleLegendNode( QgsLayerTreeLayer* nodeLayer, const QString& label, const QIcon& icon = QIcon(), QObject* parent = 0, const QString& key = QString() );

virtual QVariant data( int role ) const override;

private:
QString mLabel;
QString mId;
QIcon mIcon;
QString mKey;
};


Expand Down

0 comments on commit 4a9a936

Please sign in to comment.