Initial commit

This commit is contained in:
2023-03-28 08:37:35 +02:00
commit 7a929eb757
22 changed files with 1128 additions and 0 deletions

80
models/usersmodel.cpp Normal file
View File

@@ -0,0 +1,80 @@
#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();
}