diff options
Diffstat (limited to 'user.cxx')
-rw-r--r-- | user.cxx | 127 |
1 files changed, 75 insertions, 52 deletions
@@ -1,156 +1,179 @@ -#include <cstring> #include "rtuser.h" #include "user.hxx" +void User::update(rt_user* user) +{ + if (m_isLoggedIn) { + setName(QString{user->name}); + setEmailAddress(QString{user->emailaddress}); + setOrganization(QString{user->organization}); + setRealName(QString{user->realname}); + setNickName(QString{user->nickname}); + setLang(QString{user->lang}); + setHomePhone(QString{user->homephone}); + setWorkPhone(QString{user->workphone}); + setMobilePhone(QString{user->mobilephone}); + setPagerPhone(QString{user->pagerphone}); + setAddress1(QString{user->address1}); + setAddress2(QString{user->address2}); + setCity(QString{user->city}); + setState(QString{user->state}); + setZip(QString{user->zip}); + setCountry(QString{user->country}); + setTimeZone(QString{user->timezone}); + } else { + setName(""); + setEmailAddress(""); + setOrganization(""); + setRealName(""); + setNickName(""); + setLang(""); + setHomePhone(""); + setWorkPhone(""); + setMobilePhone(""); + setPagerPhone(""); + setAddress1(""); + setAddress2(""); + setCity(""); + setState(""); + setZip(""); + setCountry(""); + setTimeZone(""); + } +} + void User::setName(QString const& name) { - auto c_name = name.toUtf8().constData(); - if (strcmp(m_user.name, c_name)) { - strcpy(m_user.name, c_name); + if (m_name != name) { + m_name = name; emit nameChanged(); } } void User::setEmailAddress(QString const& emailAddress) { - auto c_emailAddress = emailAddress.toUtf8().constData(); - if (strcmp(m_user.emailaddress, c_emailAddress)) { - strcpy(m_user.emailaddress, c_emailAddress); + if (m_emailAddress != emailAddress) { + m_emailAddress = emailAddress; emit emailAddressChanged(); } } void User::setOrganization(QString const& organization) { - auto c_organization = organization.toUtf8().constData(); - if (strcmp(m_user.organization, c_organization)) { - strcpy(m_user.organization, c_organization); + if (m_organization != organization) { + m_organization = organization; emit organizationChanged(); } } void User::setRealName(QString const& realName) { - auto c_realName = realName.toUtf8().constData(); - if (strcmp(m_user.realname, c_realName)) { - strcpy(m_user.realname, c_realName); + if (m_realName != realName) { + m_realName = realName; emit realNameChanged(); } } void User::setNickName(QString const& nickName) { - auto c_nickName = nickName.toUtf8().constData(); - if (strcmp(m_user.nickname, c_nickName)) { - strcpy(m_user.nickname, c_nickName); + if (m_nickName != nickName) { + m_nickName = nickName; emit nickNameChanged(); } } void User::setLang(QString const& lang) { - auto c_lang = lang.toUtf8().constData(); - if (strcmp(m_user.lang, c_lang)) { - strcpy(m_user.lang, c_lang); + if (m_lang != lang) { + m_lang = lang; emit langChanged(); } } void User::setHomePhone(QString const& homePhone) { - auto c_homePhone = homePhone.toUtf8().constData(); - if (strcmp(m_user.homephone, c_homePhone)) { - strcpy(m_user.homephone, c_homePhone); + if (m_homePhone != homePhone) { + m_homePhone = homePhone; emit homePhoneChanged(); } } void User::setWorkPhone(QString const& workPhone) { - auto c_workPhone = workPhone.toUtf8().constData(); - if (strcmp(m_user.workphone, c_workPhone)) { - strcpy(m_user.workphone, c_workPhone); + if (m_workPhone != workPhone) { + m_workPhone = workPhone; emit workPhoneChanged(); } } void User::setMobilePhone(QString const& mobilePhone) { - auto c_mobilePhone = mobilePhone.toUtf8().constData(); - if (strcmp(m_user.mobilephone, c_mobilePhone)) { - strcpy(m_user.mobilephone, c_mobilePhone); + if (m_mobilePhone != mobilePhone) { + m_mobilePhone = mobilePhone; emit mobilePhoneChanged(); } } void User::setPagerPhone(QString const& pagerPhone) { - auto c_pagerPhone = pagerPhone.toUtf8().constData(); - if (strcmp(m_user.pagerphone, c_pagerPhone)) { - strcpy(m_user.pagerphone, c_pagerPhone); + if (m_pagerPhone != pagerPhone) { + m_pagerPhone = pagerPhone; emit pagerPhoneChanged(); } } void User::setAddress1(QString const& address1) { - auto c_address1 = address1.toUtf8().constData(); - if (strcmp(m_user.address1, c_address1)) { - strcpy(m_user.address1, c_address1); + if (m_address1 != address1) { + m_address1 = address1; emit address1Changed(); } } void User::setAddress2(QString const& address2) { - auto c_address2 = address2.toUtf8().constData(); - if (strcmp(m_user.address2, c_address2)) { - strcpy(m_user.address2, c_address2); + if (m_address2 != address2) { + m_address2 = address2; emit address2Changed(); } } void User::setCity(QString const& city) { - auto c_city = city.toUtf8().constData(); - if (strcmp(m_user.city, c_city)) { - strcpy(m_user.city, c_city); + if (m_city != city) { + m_city = city; emit cityChanged(); } } void User::setState(QString const& state) { - auto c_state = state.toUtf8().constData(); - if (strcmp(m_user.state, c_state)) { - strcpy(m_user.state, c_state); + if (m_state != state) { + m_state = state; emit stateChanged(); } } void User::setZip(QString const& zip) { - auto c_zip = zip.toUtf8().constData(); - if (strcmp(m_user.zip, c_zip)) { - strcpy(m_user.zip, c_zip); + if (m_zip != zip) { + m_zip = zip; emit zipChanged(); } } void User::setCountry(QString const& country) { - auto c_country = country.toUtf8().constData(); - if (strcmp(m_user.country, c_country)) { - strcpy(m_user.country, c_country); + if (m_country != country) { + m_country = country; emit countryChanged(); } } void User::setTimeZone(QString const& timeZone) { - auto c_timeZone = timeZone.toUtf8().constData(); - if (strcmp(m_user.timezone, c_timeZone)) { - strcpy(m_user.timezone, c_timeZone); + if (m_timeZone != timeZone) { + m_timeZone = timeZone; emit timeZoneChanged(); } } |