From 8046297127b76e2956f9a0e5b68e026b66c430fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Wed, 18 Sep 2019 00:21:13 +0800 Subject: Complete user properties --- librtclient | 2 +- qrtclient/user.hxx | 48 +++++++++++----- user.cxx | 160 ++++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 161 insertions(+), 49 deletions(-) diff --git a/librtclient b/librtclient index 8120fab..bca38d6 160000 --- a/librtclient +++ b/librtclient @@ -1 +1 @@ -Subproject commit 8120fabe27f9b35d4a2e84e6a3f3e0fa8270798f +Subproject commit bca38d6c015727c66248cd59908591806165ac83 diff --git a/qrtclient/user.hxx b/qrtclient/user.hxx index 06d6a71..8300c19 100644 --- a/qrtclient/user.hxx +++ b/qrtclient/user.hxx @@ -2,6 +2,7 @@ #define QRTCLIENT_USER_HXX #include +#include struct rt_user; @@ -27,10 +28,14 @@ namespace RTClient { Q_PROPERTY(QString workPhone READ workPhone WRITE setWorkPhone NOTIFY workPhoneChanged) Q_PROPERTY(QString mobilePhone READ mobilePhone WRITE setMobilePhone NOTIFY mobilePhoneChanged) Q_PROPERTY(QString pagerPhone READ pagerPhone WRITE setPagerPhone NOTIFY pagerPhoneChanged) - Q_PROPERTY(QString lang READ lang WRITE setLang NOTIFY langChanged) + Q_PROPERTY(QString contactInfo READ contactInfo WRITE setContactInfo NOTIFY contactInfoChanged) + Q_PROPERTY(QString comments READ comments WRITE setComments NOTIFY commentsChanged) + Q_PROPERTY(QString signature READ signature WRITE setSignature NOTIFY signatureChanged) + Q_PROPERTY(QString gecos READ gecos WRITE setGecos NOTIFY gecosChanged) + Q_PROPERTY(rt_lang lang READ lang WRITE setLang NOTIFY langChanged) + Q_PROPERTY(rt_timezone timeZone READ timeZone WRITE setTimeZone NOTIFY timeZoneChanged) Q_PROPERTY(bool privileged READ privileged WRITE setPrivileged NOTIFY privilegedChanged) Q_PROPERTY(bool disabled READ disabled WRITE setDisabled NOTIFY disabledChanged) - Q_PROPERTY(bool loggedIn READ loggedIn WRITE setLoggedIn NOTIFY loggedInChanged) public: explicit User(QObject* parent = nullptr) @@ -42,7 +47,6 @@ namespace RTClient { , m_realName{""} , m_nickName{""} , m_organization{""} - , m_gecos{""} , m_address1{""} , m_address2{""} , m_city{""} @@ -55,10 +59,12 @@ namespace RTClient { , m_pagerPhone{""} , m_contactInfo{""} , m_comments{""} - , m_lang{""} + , m_signature{""} + , m_gecos{""} + , m_lang{RT_LANG_NONE} + , m_timeZone{RT_TIMEZONE_NONE} , m_privileged{false} , m_disabled{true} - , m_loggedIn{false} {} ~User() {} @@ -79,10 +85,14 @@ namespace RTClient { QString const& workPhone() const { return m_workPhone; } QString const& mobilePhone() const { return m_mobilePhone; } QString const& pagerPhone() const { return m_pagerPhone; } - QString const& lang() const { return m_lang; } + QString const& contactInfo() const { return m_contactInfo; } + QString const& comments() const { return m_comments; } + QString const& signature() const { return m_signature; } + QString const& gecos() const { return m_gecos; } + rt_lang lang() const { return m_lang; } + rt_timezone timeZone() const { return m_timeZone; } bool privileged() const { return m_privileged; } bool disabled() const { return m_disabled; } - bool loggedIn() const { return m_loggedIn; } void setId(QString const& id); void setName(QString const& name); @@ -101,10 +111,14 @@ namespace RTClient { void setWorkPhone(QString const& workPhone); void setMobilePhone(QString const& mobilePhone); void setPagerPhone(QString const& pagerPhone); - void setLang(QString const& lang); + void setContactInfo(QString const& contactInfo); + void setComments(QString const& comments); + void setSignature(QString const& signature); + void setGecos(QString const& gecos); + void setLang(rt_lang lang); + void setTimeZone(rt_timezone timeZone); void setPrivileged(bool privileged); void setDisabled(bool disabled); - void setLoggedIn(bool loggedIn); signals: void idChanged(); @@ -114,7 +128,6 @@ namespace RTClient { void realNameChanged(); void nickNameChanged(); void organizationChanged(); - void gecosChanged(); void address1Changed(); void address2Changed(); void cityChanged(); @@ -125,13 +138,17 @@ namespace RTClient { void workPhoneChanged(); void mobilePhoneChanged(); void pagerPhoneChanged(); + void contactInfoChanged(); + void commentsChanged(); + void signatureChanged(); + void gecosChanged(); void langChanged(); + void timeZoneChanged(); void privilegedChanged(); void disabledChanged(); - void loggedInChanged(); private slots: - void update(struct rt_user* user); + void update(rt_user* user); private: QString m_id; @@ -141,7 +158,6 @@ namespace RTClient { QString m_realName; QString m_nickName; QString m_organization; - QString m_gecos; QString m_address1; QString m_address2; QString m_city; @@ -154,10 +170,12 @@ namespace RTClient { QString m_pagerPhone; QString m_contactInfo; QString m_comments; - QString m_lang; + QString m_signature; + QString m_gecos; + rt_lang m_lang; + rt_timezone m_timeZone; bool m_privileged; bool m_disabled; - bool m_loggedIn; }; } diff --git a/user.cxx b/user.cxx index 3c22df4..d8d3c1a 100644 --- a/user.cxx +++ b/user.cxx @@ -139,7 +139,39 @@ namespace RTClient { } } - void User::setLang(QString const& lang) + void User::setContactInfo(QString const& contactInfo) + { + if (m_contactInfo != contactInfo) { + m_contactInfo = contactInfo; + emit contactInfoChanged(); + } + } + + void User::setComments(QString const& comments) + { + if (m_comments != comments) { + m_comments = comments; + emit commentsChanged(); + } + } + + void User::setSignature(QString const& signature) + { + if (m_signature != signature) { + m_signature = signature; + emit signatureChanged(); + } + } + + void User::setGecos(QString const& gecos) + { + if (m_gecos != gecos) { + m_gecos = gecos; + emit gecosChanged(); + } + } + + void User::setLang(rt_lang lang) { if (m_lang != lang) { m_lang = lang; @@ -147,6 +179,14 @@ namespace RTClient { } } + void User::setTimeZone(rt_timezone timeZone) + { + if (m_timeZone != timeZone) { + m_timeZone = timeZone; + emit timeZoneChanged(); + } + } + void User::setPrivileged(bool privileged) { if (m_privileged != privileged) { @@ -163,39 +203,89 @@ namespace RTClient { } } - void User::setLoggedIn(bool loggedIn) - { - if (m_loggedIn != loggedIn) { - m_loggedIn = loggedIn; - emit loggedInChanged(); - } - } - void User::update(rt_user* user) { if (user) { - m_id = user->id; - m_emailAddress = user->emailaddress; - emit emailAddressChanged(); - m_realName = user->realname; - emit realNameChanged(); - m_nickName = user->nickname; - m_gecos = user->gecos; - m_organization = user->organization; - m_address1 = user->address1; - m_address2 = user->address2; - m_city = user->city; - m_state = user->state; - m_zip = user->zip; - m_country = user->country; - m_homePhone = user->homephone; - m_workPhone = user->workphone; - m_mobilePhone = user->mobilephone; - m_pagerPhone = user->pagerphone; - m_lang = user->lang; - m_privileged = user->privileged; - m_disabled = user->disabled; - m_loggedIn = true; + if (user->id) { + m_id = user->id; + emit idChanged(); + } + if (user->emailaddress) { + m_emailAddress = user->emailaddress; + emit emailAddressChanged(); + } + if (user->realname) { + m_realName = user->realname; + emit realNameChanged(); + } + if (user->nickname) { + m_nickName = user->nickname; + emit nickNameChanged(); + } + if (user->organization) { + m_organization = user->organization; + emit organizationChanged(); + } + if (user->address1) { + m_address1 = user->address1; + emit address1Changed(); + } + if (user->address2) { + m_address2 = user->address2; + emit address2Changed(); + } + if (user->city) { + m_city = user->city; + emit cityChanged(); + } + if (user->state) { + m_state = user->state; + emit stateChanged(); + } + if (user->zip) { + m_zip = user->zip; + emit zipChanged(); + } + if (user->country) { + m_country = user->country; + emit countryChanged(); + } + if (user->homephone) { + m_homePhone = user->homephone; + emit homePhoneChanged(); + } + if (user->workphone) { + m_workPhone = user->workphone; + emit workPhoneChanged(); + } + if (user->mobilephone) { + m_mobilePhone = user->mobilephone; + emit mobilePhoneChanged(); + } + if (user->pagerphone) { + m_pagerPhone = user->pagerphone; + emit pagerPhoneChanged(); + } + if (user->gecos) { + m_gecos = user->gecos; + emit gecosChanged(); + } + if (user->timezone) { + m_timeZone = user->timezone; + emit timeZoneChanged(); + } + if (user->lang) { + m_lang = user->lang; + emit langChanged(); + } + if (user->privileged) { + m_privileged = user->privileged; + emit privilegedChanged(); + } + if (!user->disabled) { + m_disabled = user->disabled; + emit disabledChanged(); + } rtclient_user_free(user); } else { m_id = ""; @@ -215,10 +305,14 @@ namespace RTClient { m_workPhone = ""; m_mobilePhone = ""; m_pagerPhone = ""; - m_lang = ""; + m_contactInfo = ""; + m_comments = ""; + m_signature = ""; + m_gecos = ""; + m_lang = RT_LANG_NONE; + m_timeZone = RT_TIMEZONE_NONE; m_privileged = false; m_disabled = true; - m_loggedIn = false; } } -- cgit v1.2.3