/
NeoChapay
/
telegraf
Обзор
Документация
Войти
/
NeoChapay
/
telegraf
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
src/knownusersmodel.cpp
52 строки
2 KB
mbarashkov
Исправлены разные предупреждения
28 дек 2024, 18:43
28 дек 2024, 18:43
5fae12c
Код
Авторство
О чём код?
#include "knownusersmodel.h" #define DEBUG_MODULE KnwonUsersModel #include "debuglog.h" KnownUsersModel::KnownUsersModel(TDLibWrapper *tdLibWrapper, QObject *parent) : QAbstractListModel(parent) { this->tdLibWrapper = tdLibWrapper; connect(this->tdLibWrapper, SIGNAL(userUpdated(qlonglong,QVariantMap)), this, SLOT(handleUserUpdated(qlonglong,QVariantMap))); } QHash<int, QByteArray> KnownUsersModel::roleNames() const { QHash<int,QByteArray> roles; roles.insert(KnownUserRole::RoleDisplay, "display"); roles.insert(KnownUserRole::RoleUserId, "user_id"); roles.insert(KnownUserRole::RoleTitle, "title"); roles.insert(KnownUserRole::RoleUsername, "user_name"); roles.insert(KnownUserRole::RoleUserHandle, "user_handle"); roles.insert(KnownUserRole::RolePhotoSmall, "photo_small"); roles.insert(KnownUserRole::RoleFilter, "filter"); return roles; } int KnownUsersModel::rowCount(const QModelIndex &) const { return this->knownUsers.size(); } QVariant KnownUsersModel::data(const QModelIndex &index, int role) const { if (index.isValid()) { QVariantMap requestedUser = knownUsers.values().value(index.row()).toMap(); switch (static_cast<KnownUserRole>(role)) { case KnownUserRole::RoleDisplay: return requestedUser; case KnownUserRole::RoleUserId: return requestedUser.value("id"); case KnownUserRole::RoleTitle: return QString(requestedUser.value("first_name").toString() + " " + requestedUser.value("last_name").toString()).trimmed(); case KnownUserRole::RoleUsername: return requestedUser.value("usernames").toMap().value("editable_username").toString(); case KnownUserRole::RoleUserHandle: return QString("@" + (requestedUser.value("usernames").toMap().value("editable_username").toString().isEmpty() ? requestedUser.value("id").toString() : requestedUser.value("usernames").toMap().value("editable_username").toString())); case KnownUserRole::RolePhotoSmall: return requestedUser.value("profile_photo").toMap().value("small"); case KnownUserRole::RoleFilter: return QString(requestedUser.value("first_name").toString() + " " + requestedUser.value("last_name").toString() + " " + requestedUser.value("usernames").toMap().value("editable_username").toString()).trimmed(); } } return QVariant(); } void KnownUsersModel::handleUserUpdated(const qlonglong userId, const QVariantMap &userInformation) { this->knownUsers.insert(QString::number(userId), userInformation); }