32 QStyle *style = option.widget ? option.widget->style() : QApplication::style();
33 style->drawPrimitive(QStyle::PE_PanelItemViewItem, &option,
p, option.widget);
35 p->setFont(option.font);
38 QIcon icon =index.model()->data(index, Qt::DecorationRole).value<QIcon>();
39 QRect r = option.rect;
40 r.setSize(QSize(22, 22));
44 QRect r = option.rect;
46 QString
value = index.model()->data(index, Qt::DisplayRole).toString();
48 p->drawText(r, Qt::AlignLeft | Qt::AlignVCenter,
value);
71 QStyleOptionViewItem newOption = option;
73 if ((event->type() == QEvent::MouseButtonPress || event->type() == QEvent::MouseButtonDblClick)
74 && (index.flags() & Qt::ItemIsEnabled)) {
75 QMouseEvent *mouseEvent =
static_cast<QMouseEvent*
>(event);
77 QRect visibilityRect = option.rect;
78 visibilityRect.setSize(QSize(22, 22));
79 const bool visibilityClicked = visibilityRect.isValid() &&
80 visibilityRect.contains(mouseEvent->pos());
82 const bool leftButton = mouseEvent->buttons() & Qt::LeftButton;
84 if (leftButton && visibilityClicked) {
85 model->setData(index,
true, Qt::DecorationRole);