Commit 328a451a authored by Ronan Abhamon's avatar Ronan Abhamon

little fixes

parent 63174734
...@@ -10,10 +10,10 @@ using namespace std; ...@@ -10,10 +10,10 @@ using namespace std;
// =================================================================== // ===================================================================
ContactsListModel::ContactsListModel (QObject *parent): QAbstractListModel(parent) { ContactsListModel::ContactsListModel (QObject *parent): QAbstractListModel(parent) {
shared_ptr<linphone::Core> core(CoreManager::getInstance()->getCore()); m_linphone_friends = CoreManager::getInstance()->getCore()->getFriendsLists().front();
// Init contacts with linphone friends list. // Init contacts with linphone friends list.
for (const auto &friend_ : core->getFriendsLists().front()->getFriends()) { for (const auto &friend_ : m_linphone_friends->getFriends()) {
ContactModel *contact = new ContactModel(friend_); ContactModel *contact = new ContactModel(friend_);
m_friend_to_contact[friend_.get()] = contact; m_friend_to_contact[friend_.get()] = contact;
m_list << contact; m_list << contact;
...@@ -40,9 +40,15 @@ QVariant ContactsListModel::data (const QModelIndex &index, int role) const { ...@@ -40,9 +40,15 @@ QVariant ContactsListModel::data (const QModelIndex &index, int role) const {
// ------------------------------------------------------------------- // -------------------------------------------------------------------
ContactModel *ContactsListModel::mapLinphoneFriendToContact (
const shared_ptr<linphone::Friend> &friend_
) const {
return m_friend_to_contact[friend_.get()];
}
ContactModel *ContactsListModel::mapSipAddressToContact (const QString &sipAddress) const { ContactModel *ContactsListModel::mapSipAddressToContact (const QString &sipAddress) const {
ContactModel *contact = m_friend_to_contact[ ContactModel *contact = m_friend_to_contact[
CoreManager::getInstance()->getCore()->getFriendsLists().front()->findFriendByUri( m_linphone_friends->findFriendByUri(
sipAddress.toStdString() sipAddress.toStdString()
).get() ).get()
]; ];
......
...@@ -22,12 +22,18 @@ public: ...@@ -22,12 +22,18 @@ public:
QHash<int, QByteArray> roleNames () const; QHash<int, QByteArray> roleNames () const;
QVariant data (const QModelIndex &index, int role) const; QVariant data (const QModelIndex &index, int role) const;
ContactModel *mapLinphoneFriendToContact (
const std::shared_ptr<linphone::Friend> &friend_
) const;
public slots: public slots:
ContactModel *mapSipAddressToContact (const QString &sipAddress) const; ContactModel *mapSipAddressToContact (const QString &sipAddress) const;
private: private:
QList<ContactModel *> m_list; QList<ContactModel *> m_list;
QHash<const linphone::Friend *, ContactModel* > m_friend_to_contact; QHash<const linphone::Friend *, ContactModel* > m_friend_to_contact;
std::shared_ptr<linphone::FriendList> m_linphone_friends;
}; };
#endif // CONTACTS_LIST_MODEL_H #endif // CONTACTS_LIST_MODEL_H
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment