Files
beerlog/models/usersmodel.h
2023-03-28 11:14:09 +02:00

48 lines
1.2 KiB
C++

#ifndef USERSMODEL_H
#define USERSMODEL_H
#include <QObject>
#include <QVariantMap>
#include "services/settingsservice.h"
class UsersModel : public QObject
{
Q_OBJECT
Q_PROPERTY(QString entity READ entity CONSTANT)
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 UsersModel(QObject *parent = nullptr);
QString entity() const;
QVariantList users() const;
QString selectedUser() const;
void setSelectedUser(const QString &newSelectedUser);
QString selectedUserName() const;
public slots:
void created(const QVariant &data);
void modified(const QVariant &data);
void deleted(const QVariant &data);
void received(const QVariant &data);
void connected(const QVariant &data);
void disconnected(const QVariant &data);
signals:
void usersChanged();
void selectedUserChanged();
void selectedUserNameChanged();
private:
QVariantMap m_users;
QString m_selectedUser;
SettingsService m_settings;
};
#endif // USERSMODEL_H