QSize PsiContactListViewDelegate::sizeHint(const QStyleOptionViewItem& /*option*/, const QModelIndex& index) const { if (index.isValid()) { if(index.data(ContactListModel::TypeRole) == ContactListModel::ContactType) { if(!statusSingle_ || !showStatusMessages_) return QSize(16, avatarSize()); else return QSize(16, qMax(avatarSize(), rowHeight_*3/2)); } else { return QSize(16, rowHeight_); } } return QSize(0, 0); }
QRect StyleHelper::drawAvatar(QPainter* p, const QRect& rc, const QPixmap& pm) { QRect rectAvatar = rc; rectAvatar.setSize(avatarSize(true)); drawPixmapWithScreenScaleFactor(p, rectAvatar, pm); return rectAvatar; }
QSize ContactListViewDelegate::sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const { Q_UNUSED(option); if (index.isValid()) { return QSize(16, avatarSize()); } return QSize(0, 0); }
QRect StyleHelper::drawAvatar(QPainter* p, const QRect& rc, const QPixmap& pm) { QRect rectAvatar = rc; rectAvatar.setSize(avatarSize()); p->save(); p->setRenderHint(QPainter::Antialiasing); p->drawPixmap(rectAvatar, pm); p->restore(); return rectAvatar; }