28 : QStyledItemDelegate()
31 m_padding = qMax(5, m_view->style()->pixelMetric(QStyle::PM_FocusFrameHMargin) + 1);
42 const QRect rect = m_view->visualRect(index);
43 const int center = rect.height() / 2 + rect.top();
44 return QRect(rect.right() - 16, center - 16 / 2, 16, 16);
49 const QWidget *w = option.widget;
50 const QStyle *style = w ? w->style() : m_view->style();
52 QStyleOptionViewItem opt = option;
53 initStyleOption(&opt, index);
56 const int height = opt.rect.height();
57 const int center = height / 2 + opt.rect.top();
59 painter->setRenderHint(QPainter::Antialiasing);
62 style->drawPrimitive(QStyle::PE_PanelItemViewItem, &opt, painter, w);
65 const int iconSize = 16;
66 const int iconYPos = center - (iconSize / 2);
67 QRect iconRect(opt.rect.left() + (opt.rect.width() - iconSize) / 2, iconYPos, iconSize, iconSize);
70 pixmap = m_loadingAnimator->
pixmap(index);
72 pixmap = index.data(Qt::DecorationRole).value<QIcon>().pixmap(iconSize);
74 painter->drawPixmap(iconRect, pixmap);
79 if (audioMuted || audioPlaying) {
80 QSize audioSize(16, 16);
81 QPoint pos(opt.rect.right() - audioSize.width(), center - audioSize.height() / 2);
82 QRect audioRect(pos, audioSize);
84 QColor c = opt.palette.color(QPalette::Window);
88 painter->drawEllipse(audioRect);
95 if (backgroundActivity) {
96 QSize activitySize(7, 7);
97 QPoint pos(iconRect.center().x() - activitySize.width() / 2 + 1, iconRect.bottom() - 2);
98 QRect activityRect(pos, activitySize);
100 QColor c1 = opt.palette.color(QPalette::Window);
102 painter->setPen(Qt::transparent);
103 painter->setBrush(c1);
104 painter->drawEllipse(activityRect);
106 const QRect r2 = activityRect.adjusted(1, 1, -1, -1);
107 painter->setPen(Qt::transparent);
108 painter->setBrush(opt.palette.color(QPalette::Text));
109 painter->drawEllipse(r2);
115 QStyleOptionViewItem opt(option);
116 initStyleOption(&opt, index);
118 return QSize(m_padding * 4 + 16, m_padding * 2 + opt.fontMetrics.height());
void updateIndex(const QModelIndex &index)
QPixmap pixmap(const QModelIndex &index)
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override
QRect audioButtonRect(const QModelIndex &index) const
TabListDelegate(TabListView *view)
void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override
void adjustStyleOption(QStyleOptionViewItem *option)
void updateIndex(const QModelIndex &index)