/* Отрисовка строки участника AccountList: аватар, имя, online и служебные значки. */ #pragma once #include #include class AccountDelegate : public QStyledItemDelegate { Q_OBJECT public: explicit AccountDelegate(QObject *parent = nullptr); void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const override; bool editorEvent(QEvent* event, QAbstractItemModel* model, const QStyleOptionViewItem& option, const QModelIndex& index) override; signals: void inviteRequested(const QModelIndex& index); void avatarRequested(const QModelIndex& index); private: QPersistentModelIndex m_invitePress; QPersistentModelIndex m_avatarPress; QPoint m_avatarPosition; };