Settings page was added

This commit is contained in:
2023-03-30 20:06:03 +02:00
parent 31cb989f67
commit 25e8a3ea79
16 changed files with 272 additions and 55 deletions

View File

@@ -1,18 +1,15 @@
#include "usersviewmodel.h"
#include "services/beerservice.h"
#include "services/settingsservice.h"
UsersViewModel::UsersViewModel(QObject *parent)
: QObject{parent}
{
connect(this, &UsersViewModel::selectedUserChanged, this, [this]() {
BeerService::instance()->connectSrv(m_selectedUser);
});
setSelectedUser(m_settings.selectedUserId());
connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::usersChanged);
connect(&m_usersModel, &AbstractModel::dataChanged, this, &UsersViewModel::selectedUserNameChanged);
connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserChanged);
connect(settings(), &SettingsService::selectedUserIdChanged, this, &UsersViewModel::selectedUserNameChanged);
}
QVariantList UsersViewModel::users() const
@@ -22,22 +19,24 @@ QVariantList UsersViewModel::users() const
QString UsersViewModel::selectedUser() const
{
return m_selectedUser;
return settings()->selectedUserId();
}
void UsersViewModel::setSelectedUser(const QString &newSelectedUser)
{
if (m_selectedUser == newSelectedUser) {
if (selectedUser() == newSelectedUser) {
return;
}
m_selectedUser = newSelectedUser;
m_settings.setSelectedUserId(m_selectedUser);
emit selectedUserChanged();
emit selectedUserNameChanged();
settings()->setSelectedUserId(newSelectedUser);
}
QString UsersViewModel::selectedUserName() const
{
return m_usersModel.userName(m_selectedUser);
return m_usersModel.userName(selectedUser());
}
SettingsService *UsersViewModel::settings() const
{
return SettingsService::instance();
}