File tree Expand file tree Collapse file tree 3 files changed +29
-10
lines changed Expand file tree Collapse file tree 3 files changed +29
-10
lines changed Original file line number Diff line number Diff line change @@ -438,6 +438,7 @@ QgsSvgMarkerSymbolLayerV2Widget::QgsSvgMarkerSymbolLayerV2Widget( QWidget* paren
438
438
439
439
#include < QTime>
440
440
#include < QAbstractListModel>
441
+ #include < QPixmapCache>
441
442
442
443
class QgsSvgListModel : public QAbstractListModel
443
444
{
@@ -458,16 +459,22 @@ class QgsSvgListModel : public QAbstractListModel
458
459
459
460
if ( role == Qt::DecorationRole ) // icon
460
461
{
461
- QSvgRenderer renderer;
462
- QPainter painter;
463
-
464
- // render SVG file
465
- renderer.load ( entry );
466
- QPixmap pixmap ( QSize ( 24 , 24 ) );
467
- pixmap.fill ();
468
- painter.begin ( &pixmap );
469
- renderer.render ( &painter );
470
- painter.end ();
462
+
463
+ QPixmap pixmap;
464
+ if ( !QPixmapCache::find ( entry, pixmap ) )
465
+ {
466
+ // render SVG file
467
+ QSvgRenderer renderer;
468
+ QPainter painter;
469
+ renderer.load ( entry );
470
+ pixmap = QPixmap ( QSize ( 24 , 24 ) );
471
+ pixmap.fill ();
472
+ painter.begin ( &pixmap );
473
+ renderer.render ( &painter );
474
+ painter.end ();
475
+
476
+ QPixmapCache::insert ( entry, pixmap );
477
+ }
471
478
472
479
return pixmap;
473
480
}
Original file line number Diff line number Diff line change 55
55
<property name =" flow" >
56
56
<enum >QListView::LeftToRight</enum >
57
57
</property >
58
+ <property name =" layoutMode" >
59
+ <enum >QListView::Batched</enum >
60
+ </property >
58
61
<property name =" viewMode" >
59
62
<enum >QListView::IconMode</enum >
60
63
</property >
64
+ <property name =" uniformItemSizes" >
65
+ <bool >true</bool >
66
+ </property >
61
67
</widget >
62
68
</item >
63
69
<item row =" 3" column =" 0" >
Original file line number Diff line number Diff line change 141
141
<property name =" movement" >
142
142
<enum >QListView::Static</enum >
143
143
</property >
144
+ <property name =" layoutMode" >
145
+ <enum >QListView::Batched</enum >
146
+ </property >
144
147
<property name =" spacing" >
145
148
<number >2</number >
146
149
</property >
153
156
<property name =" viewMode" >
154
157
<enum >QListView::IconMode</enum >
155
158
</property >
159
+ <property name =" uniformItemSizes" >
160
+ <bool >true</bool >
161
+ </property >
156
162
<property name =" wordWrap" >
157
163
<bool >true</bool >
158
164
</property >
You can’t perform that action at this time.
0 commit comments