From 18508ea004a66cc30c42c43d14afdc16b2267666 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=EA=A6=AB=EA=A6=B6=EA=A6=8F=EA=A7=80=EA=A6=A6?= =?UTF-8?q?=EA=A6=BF=EA=A6=A7=EA=A6=AE=EA=A6=91=EA=A6=A9=EA=A6=AD=EA=A7=80?= Date: Sun, 25 Sep 2022 10:55:36 +0800 Subject: Rename project to qinterchange --- interchange/admin.hxx | 64 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 interchange/admin.hxx (limited to 'interchange/admin.hxx') diff --git a/interchange/admin.hxx b/interchange/admin.hxx new file mode 100644 index 0000000..3a800ac --- /dev/null +++ b/interchange/admin.hxx @@ -0,0 +1,64 @@ +#ifndef INTERCHANGE_ADMIN_HXX +#define INTERCHANGE_ADMIN_HXX + +#include +#include + +struct interchange_admin; + +namespace Interchange { + + class Admin : public QObject + { + Q_OBJECT + Q_PROPERTY(QString userName READ userName WRITE setUserName NOTIFY userNameChanged) + Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged) + Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged) + Q_PROPERTY(bool super READ super WRITE setSuper NOTIFY superChanged) + + public: + explicit Admin(QObject* parent = nullptr) : + QObject{parent}, + m_userName{""}, + m_password{""}, + m_name{""}, + m_super{false}, + m_data{nullptr} + {} + ~Admin() {} + QString const& userName() const { return m_userName; } + QString const& password() const { return m_password; } + QString const& name() const { return m_name; } + bool super() { return m_super; } + + void setUserName(QString const& userName); + void setPassword(QString const& password); + void setName(QString const& name); + void setSuper(bool super); + + public slots: + void logIn(QString const& username, QString const& password); + void newAdmin(QString const& userName, QString const& password, QString const& name, bool super, + enum interchange_admin_group group); + void newItem(QString const& description, QString const& comment, QString const& price, + QString const& imagePath); + void logOut(); + + signals: + void userNameChanged(); + void passwordChanged(); + void nameChanged(); + void superChanged(); + + private: + QString m_userName; + QString m_password; + QString m_name; + bool m_super; + interchange_admin* m_data; + inline void setData(interchange_admin* data); + }; + +} + +#endif -- cgit v1.2.3