#include "usersviewmodel.h" #include "models/basemodel.h" #include "services/settingsservice.h" UsersViewModel::UsersViewModel(QObject *parent) : QObject{parent} { connect(m_usersModel, &BaseModel::dataChanged, this, &UsersViewModel::usersChanged); connect(m_usersModel, &BaseModel::dataChanged, this, &UsersViewModel::selectedUserNameChanged); connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserChanged); connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserNameChanged); } QVariantList UsersViewModel::users() const { return m_usersModel->items(); } QString UsersViewModel::selectedUser() const { return settings()->selectedUserId(); } void UsersViewModel::setSelectedUser(const QString &newSelectedUser) { settings()->setSelectedUserId(newSelectedUser); } QString UsersViewModel::selectedUserName() const { return m_usersModel->itemProperty(selectedUser(), "name").toString(); } SettingsService *UsersViewModel::settings() const { return SettingsService::instance(); }