#include "usersmodel.h" UsersModel::UsersModel(QObject *parent) : QObject{parent} { setSelectedUser(m_settings.value("selected_user").toString()); } void UsersModel::created(const QVariant &data) { modified(data); } void UsersModel::modified(const QVariant &data) { QVariantMap user = data.toMap(); m_users[user.value("id").toString()] = user; emit usersChanged(); emit selectedUserNameChanged(); } void UsersModel::deleted(const QVariant &data) { QString userId = data.toString(); m_users.remove(userId); emit usersChanged(); emit selectedUserNameChanged(); } void UsersModel::received(const QVariant &data) { m_users = data.toMap(); emit usersChanged(); emit selectedUserNameChanged(); } void UsersModel::connected(const QVariant &data) { qInfo() << data.toMap().value("name").toString() << "connected"; } void UsersModel::disconnected(const QVariant &data) { qInfo() << data.toMap().value("name").toString() << "disconnected"; } QString UsersModel::entity() const { return QStringLiteral("users"); } QVariantList UsersModel::users() const { return m_users.values(); } QString UsersModel::selectedUser() const { return m_selectedUser; } void UsersModel::setSelectedUser(const QString &newSelectedUser) { if (m_selectedUser == newSelectedUser) { return; } m_selectedUser = newSelectedUser; m_settings.setValue("selected_user", m_selectedUser); emit selectedUserChanged(); emit selectedUserNameChanged(); } QString UsersModel::selectedUserName() const { return m_users.value(m_selectedUser).toMap().value("name").toString(); }