Styles was added
This commit is contained in:
43
viewmodels/usersviewmodel.cpp
Normal file
43
viewmodels/usersviewmodel.cpp
Normal 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);
|
||||
}
|
||||
36
viewmodels/usersviewmodel.h
Normal file
36
viewmodels/usersviewmodel.h
Normal 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
|
||||
Reference in New Issue
Block a user