31{
32 painter->resetTransform();
33
35 QStyleOptionViewItem sovi(option);
36
38
41
42
44
45
46
48 image.fill(Qt::transparent);
49
51 p.setCompositionMode(QPainter::CompositionMode_Source);
52
53
54
55 if (locked) {
57 } else {
59 }
60
61 p.drawPixmap(0, 0, icon.pixmap(
iconSize, QIcon::Normal) );
63
64 icon = QIcon( QPixmap::fromImage(image) );
65
66
67
68 sovi.decorationPosition = QStyleOptionViewItem::Right;
69 sovi.decorationAlignment = Qt::AlignRight;
71 sovi.features |= QStyleOptionViewItem::HasDecoration;
72 sovi.icon = icon;
73
74 }
75
76 QStyledItemDelegate::paint(painter, sovi, index);
77 painter->setOpacity(1);
78 }
79 else {
80 QPalette palette = QApplication::palette();
81 if(option.state & QStyle::State_MouseOver)
82 painter->fillRect(option.rect, palette.midlight());
83 else
84 painter->fillRect(option.rect, palette.button());
85
86 painter->setBrush(palette.buttonText());
87 painter->drawText(option.rect, index.data().toString(), QTextOption(Qt::AlignVCenter|Qt::AlignHCenter));
88
90 painter,
91 option.rect.x(),
92 option.rect.y(),
93 option.rect.height(),
95 );
96 }
97 painter->resetTransform();
98}
int iconSize(qreal width, qreal height)
void paintTriangle(QPainter *painter, qint32 x, qint32 y, qint32 size, bool rotate) const
QIcon loadIcon(const QString &name)