- viewItemOption.viewItemPosition = QStyleOptionViewItemV4::OnlyOne;
-
- const bool drawMerged = (iconBounds.top() == textBounds.top() &&
- iconBounds.bottom() == textBounds.bottom());
-
- if (drawMerged) {
- viewItemOption.rect = iconBounds | textBounds;
- widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget);
- } else {
- viewItemOption.rect = iconBounds;
- widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget);
-
- viewItemOption.rect = textBounds.adjusted(2, 2, -2, -2);
- widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget);
- }
+ viewItemOption.viewItemPosition = QStyleOptionViewItem::OnlyOne;
+ viewItemOption.showDecorationSelected = true;
+ viewItemOption.rect = selectionRect().toRect();
+ widget->style()->drawPrimitive(QStyle::PE_PanelItemViewItem, &viewItemOption, painter, widget);