Styles was added

This commit is contained in:
2023-03-29 12:49:20 +02:00
parent 7a929eb757
commit 44dd3cdb58
26 changed files with 433 additions and 193 deletions

View File

@@ -0,0 +1,43 @@
#include "usersviewmodel.h"
#include "services/beerservice.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);
}
QVariantList UsersViewModel::users() const
{
return m_usersModel.users();
}
QString UsersViewModel::selectedUser() const
{
return m_selectedUser;
}
void UsersViewModel::setSelectedUser(const QString &newSelectedUser)
{
if (m_selectedUser == newSelectedUser) {
return;
}
m_selectedUser = newSelectedUser;
m_settings.setSelectedUserId(m_selectedUser);
emit selectedUserChanged();
emit selectedUserNameChanged();
}
QString UsersViewModel::selectedUserName() const
{
return m_usersModel.userName(m_selectedUser);
}

View File

@@ -0,0 +1,36 @@
#ifndef USERSVIEWMODEL_H
#define USERSVIEWMODEL_H
#include <QObject>
#include "models/usersmodel.h"
class UsersViewModel : public QObject
{
Q_OBJECT
Q_PROPERTY(QVariantList users READ users NOTIFY usersChanged)
Q_PROPERTY(QString selectedUser READ selectedUser WRITE setSelectedUser NOTIFY selectedUserChanged)
Q_PROPERTY(QString selectedUserName READ selectedUserName NOTIFY selectedUserNameChanged)
public:
explicit UsersViewModel(QObject *parent = nullptr);
QVariantList users() const;
QString selectedUser() const;
void setSelectedUser(const QString &newSelectedUser);
QString selectedUserName() const;
signals:
void usersChanged();
void selectedUserChanged();
void selectedUserNameChanged();
private:
QString m_selectedUser;
UsersModel m_usersModel;
SettingsService m_settings;
};
#endif // USERSVIEWMODEL_H