/
s5z6
/
telegraf
Обзор
Документация
Войти
/
s5z6
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/data/chatfoldermodel.h
59 строк
2 KB
mbarashkov
Продолжаем рефакторинг. Намного улучшен подсчёт непрочитанных.
18 апр 2025, 20:39
18 апр 2025, 20:39
0b01763
Код
Авторство
О чём код?
#pragma once #include <QObject> #include <QMap> #include <QVariant> #include "chatfolderid.h" #include "../debuglog.h" class ChatFolderModel: public QObject { Q_OBJECT Q_PROPERTY(QString name READ getName NOTIFY nameChanged); Q_PROPERTY(qlonglong id READ getTdLibId NOTIFY idChanged); Q_PROPERTY(ChatFolderId::Type type READ getType CONSTANT); public: ChatFolderModel(QObject *parent = Q_NULLPTR); ChatFolderModel(QMap<QString, QVariant> folder, ChatFolderId::Type type, QObject *parent = Q_NULLPTR); ChatFolderModel(qlonglong id, QString name, ChatFolderId::Type type, QObject *parent = Q_NULLPTR); enum Option { ExcludeArchived, ExcludeMuted, ExcludeRead, IncludeBots, IncludeContacts, IncludeChannels, IncludeGroups, IncludeNonContacts }; bool setProperties(QVariantMap properties); bool getOptionValue(ChatFolderModel::Option option) const; bool isIncluded(qlonglong chatId) const { return includedChatIds.contains(chatId); } bool isExcluded(qlonglong chatId) const { return excludedChatIds.contains(chatId); } bool isPinned(qlonglong chatId) const { return pinnedChatIds.contains(chatId); } QString getName() const { return name; } QList<qlonglong> getPinnedChatIds() const { return pinnedChatIds; } qlonglong getTdLibId() const { return id.getTdLibId(); } ChatFolderId::Type getType() const { return id.getType(); } signals: void nameChanged(const QString name); void idChanged(const qlonglong id); private: ChatFolderId id; QString name; QList<qlonglong> includedChatIds; QList<qlonglong> pinnedChatIds; QList<qlonglong> excludedChatIds; QMap<Option, bool> options; };