@@ -388,6 +388,7 @@ void QgsExpressionBuilderWidget::loadFieldNames()
388
388
loadFieldNames ( mLayer ->fields () );
389
389
}
390
390
391
+
391
392
void QgsExpressionBuilderWidget::loadFieldNames ( const QgsFields &fields )
392
393
{
393
394
if ( fields.isEmpty () )
@@ -396,13 +397,14 @@ void QgsExpressionBuilderWidget::loadFieldNames( const QgsFields &fields )
396
397
txtExpressionString->setFields ( fields );
397
398
398
399
QStringList fieldNames;
399
- // Q_FOREACH ( const QgsField& field, fields )
400
400
fieldNames.reserve ( fields.count () );
401
401
for ( int i = 0 ; i < fields.count (); ++i )
402
402
{
403
- QString fieldName = fields.at ( i ).name ();
403
+ QgsField field = fields.at ( i );
404
+ QString fieldName = field.name ();
404
405
fieldNames << fieldName;
405
- registerItem ( QStringLiteral ( " Fields and Values" ), fieldName, " \" " + fieldName + " \" " , QString (), QgsExpressionItem::Field, false , i );
406
+ QIcon icon = fields.iconForField ( i );
407
+ registerItem ( QStringLiteral ( " Fields and Values" ), fieldName, " \" " + fieldName + " \" " , QString (), QgsExpressionItem::Field, false , i, icon );
406
408
}
407
409
// highlighter->addFields( fieldNames );
408
410
}
@@ -465,11 +467,12 @@ void QgsExpressionBuilderWidget::registerItem( const QString &group,
465
467
const QString &label,
466
468
const QString &expressionText,
467
469
const QString &helpText,
468
- QgsExpressionItem::ItemType type, bool highlightedItem, int sortOrder )
470
+ QgsExpressionItem::ItemType type, bool highlightedItem, int sortOrder, QIcon icon )
469
471
{
470
472
QgsExpressionItem *item = new QgsExpressionItem ( label, expressionText, helpText, type );
471
473
item->setData ( label, Qt::UserRole );
472
474
item->setData ( sortOrder, QgsExpressionItem::CUSTOM_SORT_ROLE );
475
+ item->setIcon ( icon );
473
476
474
477
// Look up the group and insert the new function.
475
478
if ( mExpressionGroups .contains ( group ) )
0 commit comments