From 06ecb0b218a0a4728dec346f91b81f262bee355e Mon Sep 17 00:00:00 2001 From: Ronan Abhamon Date: Tue, 4 Oct 2016 12:03:26 +0200 Subject: [PATCH] fix(presence): refactoring --- tests/linphone.pro | 2 +- .../src/components/contacts/ContactModel.cpp | 32 ++++++++++++ .../src/components/contacts/ContactModel.hpp | 52 ++++++------------- .../components/contacts/ContactsListModel.cpp | 24 ++++----- .../{PresenceModel.hpp => Presence.hpp} | 22 ++++---- tests/src/main.cpp | 6 +-- 6 files changed, 73 insertions(+), 65 deletions(-) rename tests/src/components/presence/{PresenceModel.hpp => Presence.hpp} (53%) diff --git a/tests/linphone.pro b/tests/linphone.pro index 13a383222..1b3a035cb 100644 --- a/tests/linphone.pro +++ b/tests/linphone.pro @@ -23,7 +23,7 @@ HEADERS = \ src/components/contacts/ContactsListModel.hpp \ src/components/contacts/ContactsListProxyModel.hpp \ src/components/notification/Notification.hpp \ - src/components/presence/PresenceModel.hpp \ + src/components/presence/Presence.hpp \ src/components/settings/AccountSettingsListModel.hpp \ src/components/settings/AccountSettingsModel.hpp \ src/components/settings/SettingsModel.hpp \ diff --git a/tests/src/components/contacts/ContactModel.cpp b/tests/src/components/contacts/ContactModel.cpp index 46de9a4f5..9d03a6d7b 100644 --- a/tests/src/components/contacts/ContactModel.cpp +++ b/tests/src/components/contacts/ContactModel.cpp @@ -1,3 +1,35 @@ #include "ContactModel.hpp" // =================================================================== + +QString ContactModel::getUsername () const { + return m_username; +} + +void ContactModel::setUsername (const QString &username) { + m_username = username; +} + +QString ContactModel::getAvatar () const { + return m_avatar; +} + +void ContactModel::setAvatar (const QString &avatar) { + m_avatar = avatar; +} + +Presence::PresenceStatus ContactModel::getPresenceStatus () const { + return m_presence_status; +} + +Presence::PresenceLevel ContactModel::getPresenceLevel () const { + return Presence::getPresenceLevel(m_presence_status); +} + +QStringList ContactModel::getSipAddresses () const { + return m_sip_addresses; +} + +void ContactModel::setSipAddresses (const QStringList &sip_addresses) { + m_sip_addresses = sip_addresses; +} diff --git a/tests/src/components/contacts/ContactModel.hpp b/tests/src/components/contacts/ContactModel.hpp index bb2ecf42d..5e1ae954d 100644 --- a/tests/src/components/contacts/ContactModel.hpp +++ b/tests/src/components/contacts/ContactModel.hpp @@ -3,7 +3,7 @@ #include -#include "../presence/PresenceModel.hpp" +#include "../presence/Presence.hpp" // =================================================================== @@ -27,13 +27,13 @@ class ContactModel : public QObject { ); Q_PROPERTY( - PresenceModel::Presence presence - READ getPresence + Presence::PresenceStatus presenceStatus + READ getPresenceStatus CONSTANT ); Q_PROPERTY( - PresenceModel::PresenceLevel presenceLevel + Presence::PresenceLevel presenceLevel READ getPresenceLevel CONSTANT ); @@ -50,12 +50,12 @@ public: ContactModel ( const QString &username, const QString &avatar, - const PresenceModel::Presence &presence, + const Presence::PresenceStatus &presence_status, const QStringList &sip_addresses - ): ContactModel() { + ): ContactModel () { m_username = username; m_avatar = avatar; - m_presence = presence; + m_presence_status = presence_status; m_sip_addresses = sip_addresses; } @@ -63,41 +63,21 @@ signals: void contactUpdated (); private: - QString getUsername () const { - return m_username; - } + QString getUsername () const; + void setUsername (const QString &username); - void setUsername (const QString &username) { - m_username = username; - } + QString getAvatar () const; + void setAvatar (const QString &avatar); - QString getAvatar () const { - return m_avatar; - } + Presence::PresenceStatus getPresenceStatus () const; + Presence::PresenceLevel getPresenceLevel () const; - void setAvatar (const QString &avatar) { - m_avatar = avatar; - } - - PresenceModel::Presence getPresence () const { - return m_presence; - } - - PresenceModel::PresenceLevel getPresenceLevel () const { - return PresenceModel::getPresenceLevel(m_presence); - } - - QStringList getSipAddresses () const { - return m_sip_addresses; - } - - void setSipAddresses (const QStringList &sip_addresses) { - m_sip_addresses = sip_addresses; - } + QStringList getSipAddresses () const; + void setSipAddresses (const QStringList &sip_addresses); QString m_username; QString m_avatar; - PresenceModel::Presence m_presence = PresenceModel::Online; + Presence::PresenceStatus m_presence_status = Presence::Offline; QStringList m_sip_addresses; }; diff --git a/tests/src/components/contacts/ContactsListModel.cpp b/tests/src/components/contacts/ContactsListModel.cpp index e454393ef..8fbd7ab01 100644 --- a/tests/src/components/contacts/ContactsListModel.cpp +++ b/tests/src/components/contacts/ContactsListModel.cpp @@ -4,18 +4,18 @@ ContactsListModel::ContactsListModel (QObject *parent): QAbstractListModel(parent) { // TMP. - m_list << new ContactModel("Toto Roi", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Mary Boreno", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Cecelia Cyler", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Daniel Elliott", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Effie Forton", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Agnes Hurner", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Luke Lemin", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Claire Manning", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Isabella Ahornton", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Mary Boreno", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel("Aman Than", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); - m_list << new ContactModel(" abdoul", "", PresenceModel::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Toto Roi", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Mary Boreno", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Cecelia Cyler", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Daniel Elliott", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Effie Forton", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Agnes Hurner", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Luke Lemin", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Claire Manning", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Isabella Ahornton", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Mary Boreno", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel("Aman Than", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); + m_list << new ContactModel(" abdoul", "", Presence::Online, QStringList("toto.linphone.sip.linphone.org")); } diff --git a/tests/src/components/presence/PresenceModel.hpp b/tests/src/components/presence/Presence.hpp similarity index 53% rename from tests/src/components/presence/PresenceModel.hpp rename to tests/src/components/presence/Presence.hpp index 58a632e9c..ce921f9d2 100644 --- a/tests/src/components/presence/PresenceModel.hpp +++ b/tests/src/components/presence/Presence.hpp @@ -1,15 +1,15 @@ -#ifndef PRESENCE_MODEL_H_ -#define PRESENCE_MODEL_H_ +#ifndef PRESENCE_H_ +#define PRESENCE_H_ #include // =================================================================== -class PresenceModel : public QObject { +class Presence : public QObject { Q_OBJECT; public: - enum Presence { + enum PresenceStatus { Online, BeRightBack, Away, @@ -20,7 +20,7 @@ public: UsingAnotherMessagingService, Offline }; - Q_ENUM(Presence); + Q_ENUM(PresenceStatus); enum PresenceLevel { Green, @@ -30,18 +30,18 @@ public: }; Q_ENUM(PresenceLevel); - PresenceModel (QObject *parent = Q_NULLPTR) { } + Presence (QObject *parent = Q_NULLPTR): QObject(parent) { } - static PresenceLevel getPresenceLevel (const Presence &presence) { - if (presence == Online) + static PresenceLevel getPresenceLevel (const PresenceStatus &presenceStatus) { + if (presenceStatus == Online) return Green; - if (presence == DoNotDisturb) + if (presenceStatus == DoNotDisturb) return Red; - if (presence == Offline) + if (presenceStatus == Offline) return White; return Orange; } }; -#endif // PRESENCE_MODEL_H_ +#endif // PRESENCE_H_ diff --git a/tests/src/main.cpp b/tests/src/main.cpp index 62ecce756..d93250642 100644 --- a/tests/src/main.cpp +++ b/tests/src/main.cpp @@ -1,4 +1,3 @@ -#include #include #include @@ -10,8 +9,6 @@ #include "app.hpp" #include "components/contacts/ContactsListProxyModel.hpp" - -#include "components/contacts/ContactsListModel.hpp" #include "components/notification/Notification.hpp" // =================================================================== @@ -50,7 +47,7 @@ void setTrayIcon (QQmlApplicationEngine &engine) { } void registerTypes () { - qmlRegisterUncreatableType( + qmlRegisterUncreatableType( "Linphone", 1, 0, "Presence", "Presence is uncreatable" ); @@ -62,7 +59,6 @@ void addContextProperties (QQmlApplicationEngine &engine) { QQmlContext *context = engine.rootContext(); context->setContextProperty("Notification", new Notification()); - context->setContextProperty("ContactsListModel", new ContactsListProxyModel()); } int main (int argc, char *argv[]) {