/
erhoof
/
telegraf
Обзор
Документация
Войти
/
erhoof
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/data/messagedata.h
76 строк
3 KB
Nikolay Sinyov
- Добавление логики для работы с комментариеями в канале
16 сен 2025, 14:15
16 сен 2025, 14:15
47faecf
Код
Авторство
О чём код?
#pragma once #include "chatmodel.h" #include "../debuglog.h" class ChatModel::MessageData { public: enum Role { RoleDisplay = Qt::DisplayRole, RoleMessageId, RoleMessageThreadId, RoleMessageContentType, RoleMessageViewCount, RoleMessageReactions, RoleMessageAlbumEntryFilter, RoleMessageAlbumMessageIds, RoleCanBeEdited, RoleCanBeDeleted, RoleCanBePinned, RoleCanGetMessageThread }; enum RoleFlag { RoleFlagDisplay = 0x01, RoleFlagMessageId = 0x02, RoleFlagMessageThreadId = 0x04, RoleFlagMessageContentType = 0x08, RoleFlagMessageViewCount = 0x16, RoleFlagMessageReactions = 0x32, RoleFlagMessageAlbumEntryFilter = 0x64, RoleFlagMessageAlbumMessageIds = 0x128 }; MessageData(const QVariantMap &data, qlonglong msgid); static bool lessThan(const MessageData *message1, const MessageData *message2); static QVector<int> flagsToRoles(uint flags); uint updateMessageData(const QVariantMap &data); uint updateContent(const QVariantMap &content); uint updateContentType(const QVariantMap &content); uint updateReplyMarkup(const QVariantMap &replyMarkup); uint updateViewCount(const QVariantMap &interactionInfo); uint updateInteractionInfo(const QVariantMap &interactionInfo); uint updateReactions(const QVariantMap &interactionInfo); uint updateAlbumEntryFilter(const bool isAlbumChild); uint updateAlbumEntryMessageIds(const QVariantList &newAlbumMessageIds); QVector<int> diff(const MessageData *message) const; QVector<int> setMessageData(const QVariantMap &data); QVector<int> setContent(const QVariantMap &content); QVector<int> setReplyMarkup(const QVariantMap &replyMarkup); QVector<int> setInteractionInfo(const QVariantMap &interactionInfo); QVector<int> setAlbumEntryFilter(bool isAlbumChild); QVector<int> setAlbumEntryMessageIds(const QVariantList &newAlbumMessageIds); QVector<int> setProperties(bool canBeEdited, bool canBePinned, bool canBeDeleted, bool canGetMessageThread); qlonglong senderUserId() const; qlonglong senderChatId() const; bool senderIsChat() const; public: QVariantMap messageData; const qlonglong messageId; qlonglong messageThreadId; QString messageType; QString messageContentType; int viewCount; QVariantList reactions; bool albumEntryFilter; QVariantList albumMessageIds; bool canBeEdited = false; bool canBePinned = false; bool canBeDeleted = false; bool canGetMessageThread = false; };