79 painter->setRenderHint(QPainter::SmoothPixmapTransform,
true);
80 if (!(option.state & QStyle::State_Enabled)) {
81 painter->setOpacity(0.2);
84 if (!index.isValid()) {
93 if (preview.isNull()) {
94 preview = QImage(512, 512, QImage::Format_RGB32);
95 preview.fill(Qt::red);
98 qreal devicePixelRatioF = painter->device()->devicePixelRatioF();
100 QRect paintRect = option.rect.adjusted(1, 1, -1, -1);
102 QImage previewHighDpi =
104 paintRect.size() * devicePixelRatioF,
105 Qt::IgnoreAspectRatio,
106 Qt::SmoothTransformation);
107 previewHighDpi.setDevicePixelRatio(devicePixelRatioF);
108 painter->drawImage(paintRect.x(), paintRect.y(), previewHighDpi);
111 QSize pixSize(paintRect.height(), paintRect.height());
113 pixSize * devicePixelRatioF,
115 Qt::SmoothTransformation);
116 previewHighDpi.setDevicePixelRatio(devicePixelRatioF);
117 painter->drawImage(paintRect.x(), paintRect.y(), previewHighDpi);
121 QString dirtyPresetIndicator = QString(
"");
123 dirtyPresetIndicator = QString(
"*");
140 painter->drawText(pixSize.width() + 10, option.rect.y() + option.rect.height() - 10, presetDisplayName.append(dirtyPresetIndicator));
146 QPixmap pixmap = icon.pixmap(QSize(16,16));
147 painter->drawPixmap(paintRect.x() + 3, paintRect.y() + 3, pixmap);
152 icon.paint(painter, QRect(paintRect.x() + paintRect.height() - 25, paintRect.y() + paintRect.height() - 25, 25, 25));
155 if (option.state & QStyle::State_Selected) {
156 painter->setCompositionMode(QPainter::CompositionMode_HardLight);
157 painter->setOpacity(1.0);
158 painter->fillRect(option.rect, option.palette.highlight());
161 painter->setCompositionMode(QPainter::CompositionMode_SourceOver);
162 painter->setPen(QPen(option.palette.highlight(), 4, Qt::SolidLine, Qt::FlatCap, Qt::MiterJoin));
163 QRect selectedBorder = option.rect.adjusted(2 , 2, -2, -2);
164 painter->drawRect(selectedBorder);