diff options
| author | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-19 09:24:10 +0800 | 
|---|---|---|
| committer | ꦌ ꦫꦶ ꦏ꧀ꦦꦿ ꦧ ꦮ ꦑ ꦩ ꦭ꧀ <erik@darapsa.co.id> | 2020-07-19 09:24:10 +0800 | 
| commit | 8f1ef80a59642e8051f588e2dde41176a8495cb3 (patch) | |
| tree | 1449fcf82051a6adf82f4b07fd02a59617468b91 /qicclient | |
| parent | a385d4f20c81b190ac2556c9d57eaccd79f98cd5 (diff) | |
Admin class
Diffstat (limited to 'qicclient')
| -rw-r--r-- | qicclient/admin.hxx | 68 | 
1 files changed, 68 insertions, 0 deletions
| diff --git a/qicclient/admin.hxx b/qicclient/admin.hxx new file mode 100644 index 0000000..1e728cb --- /dev/null +++ b/qicclient/admin.hxx @@ -0,0 +1,68 @@ +#ifndef QICCLIENT_ADMIN_HXX +#define QICCLIENT_ADMIN_HXX + +#include <QObject> +#include <icclient/admin.h> + +struct icclient_admin; + +namespace QICClient { + +	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} +			{} +			~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); + +			void logIn(QString const& username, QString const& password, +					QString const& successPage = nullptr, +					QString const& nextPage = nullptr, +					QString const& failPage = nullptr, +					size_t (*handler)(void*, size_t, size_t, +						void*) = nullptr); + +		public slots: +			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; +			icclient_admin* m_data; +			void setData(icclient_admin* data); +	}; + +} + +#endif // QICCLIENT_ADMIN_HXX |