Skip to content

Commit d30a44d

Browse files
committedJul 29, 2020
Use a hacky generic icon for 3d symbols in style manager for now
Because implementing proper thumbnails is a considerable task in itself...
1 parent a3e1d0c commit d30a44d

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed
 

‎src/core/symbology/qgsstylemodel.cpp

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -316,9 +316,28 @@ QVariant QgsStyleModel::data( const QModelIndex &index, int role ) const
316316
return icon;
317317
}
318318

319+
case QgsStyle::Symbol3DEntity:
320+
{
321+
// hack for now -- we just use a generic "3d icon" svg file.
322+
// TODO - render proper thumbnails
323+
324+
// use cached icon if possible
325+
QIcon icon = mIconCache[ entityType ].value( name );
326+
if ( !icon.isNull() )
327+
return icon;
328+
329+
if ( mAdditionalSizes.isEmpty() )
330+
icon.addFile( QgsApplication::defaultThemePath() + QDir::separator() + QStringLiteral( "3d.svg" ), QSize( 24, 24 ) );
331+
for ( const QSize &s : mAdditionalSizes )
332+
{
333+
icon.addFile( QgsApplication::defaultThemePath() + QDir::separator() + QStringLiteral( "3d.svg" ), s );
334+
}
335+
mIconCache[ entityType ].insert( name, icon );
336+
return icon;
337+
}
338+
319339
case QgsStyle::TagEntity:
320340
case QgsStyle::SmartgroupEntity:
321-
case QgsStyle::Symbol3DEntity:
322341
return QVariant();
323342
}
324343
break;

‎tests/src/python/test_qgsstylemodel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ def test_mixed_style(self):
630630
# decorations
631631
self.assertIsNone(model.data(model.index(-1, 0), Qt.DecorationRole))
632632
self.assertIsNone(model.data(model.index(0, 1), Qt.DecorationRole))
633-
self.assertIsNone(model.data(model.index(17, 0), Qt.DecorationRole))
633+
self.assertIsNone(model.data(model.index(20, 0), Qt.DecorationRole))
634634
self.assertFalse(model.data(model.index(0, 0), Qt.DecorationRole).isNull())
635635
self.assertFalse(model.data(model.index(5, 0), Qt.DecorationRole).isNull())
636636
self.assertFalse(model.data(model.index(8, 0), Qt.DecorationRole).isNull())

0 commit comments

Comments
 (0)
Please sign in to comment.