Render clickable compact replies for text and media messages
This commit is contained in:
1 parent
68df26d4a5
commit
eebef4d14f
2 files changed
+51
-19
No files matched your search
@@ -48,6 +48,8 @@ enum MessageDataRole {
|
||||
MsgInviteLinkRole = Qt::UserRole + 37, /* полная ссылка; MsgTextRole содержит локализованный заголовок и ссылку */
|
||||
MsgMessageKeyRole = Qt::UserRole + 38,
|
||||
MsgRawTimestampRole = Qt::UserRole + 39,
|
||||
MsgReplyToRole = Qt::UserRole + 40,
|
||||
MsgHighlightRole = Qt::UserRole + 41,
|
||||
};
|
||||
|
||||
class MessageDelegate : public QStyledItemDelegate {
|
||||
@@ -76,6 +78,7 @@ signals:
|
||||
void avatarRequested(const QString& channel, quint64 owner);
|
||||
void reactionRequested(const QModelIndex& index, int emoji); /* -1 открывает выбор реакции */
|
||||
void pollRequested(const QString& messageId);
|
||||
void replyRequested(const QString& messageId);
|
||||
|
||||
private:
|
||||
struct ReactionChip { QRect rect; int id; QString emoji; int count; bool mine; };
|
||||
@@ -131,6 +134,8 @@ private:
|
||||
int m_pressedReaction = -2;
|
||||
QPersistentModelIndex m_pollPress;
|
||||
QPoint m_pollPressPosition;
|
||||
QPersistentModelIndex m_quotePress;
|
||||
QPoint m_quotePressPosition;
|
||||
std::function<bool(const QModelIndex&)> m_downloadCb;
|
||||
|
||||
Layout calcLayout(const QStyleOptionViewItem &option,
|
||||
|
||||
Reference in new issue
Block a user