Initial commit
This commit is contained in:
80
models/usersmodel.cpp
Normal file
80
models/usersmodel.cpp
Normal 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();
|
||||
}
|
||||
Reference in New Issue
Block a user