From 38d01ce99794e52fe7b72330586a383a5198c80d Mon Sep 17 00:00:00 2001 From: Julien Wadel Date: Wed, 11 Aug 2021 20:41:00 +0200 Subject: [PATCH] Hide presence if not in contact --- .../components/chat-room/ChatRoomModel.cpp | 7 +++---- .../ui/modules/Linphone/Contact/Avatar.qml | 1 + .../ui/modules/Linphone/Contact/Contact.qml | 19 ++----------------- 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/linphone-app/src/components/chat-room/ChatRoomModel.cpp b/linphone-app/src/components/chat-room/ChatRoomModel.cpp index 2e67c30d8..cfa87a798 100644 --- a/linphone-app/src/components/chat-room/ChatRoomModel.cpp +++ b/linphone-app/src/components/chat-room/ChatRoomModel.cpp @@ -420,13 +420,12 @@ int ChatRoomModel::getPresenceStatus() const { auto participants = mChatRoom->getParticipants(); auto contact = CoreManager::getInstance()->getContactsListModel()->findContactModelFromSipAddress(Utils::coreStringToAppString((*participants.begin())->getAddress()->asString())); if(contact) { - int p = contact->getPresenceLevel(); - return p; + return contact->getPresenceLevel(); } else - return 0; + return -1; }else - return 0; + return -1; } ParticipantListModel* ChatRoomModel::getParticipants() const{ diff --git a/linphone-app/ui/modules/Linphone/Contact/Avatar.qml b/linphone-app/ui/modules/Linphone/Contact/Avatar.qml index 1e0ed243d..faf59969f 100644 --- a/linphone-app/ui/modules/Linphone/Contact/Avatar.qml +++ b/linphone-app/ui/modules/Linphone/Contact/Avatar.qml @@ -71,6 +71,7 @@ Item { PresenceLevel { id: presenceLevelIcon + visible: level >= 0 anchors { bottom: parent.bottom diff --git a/linphone-app/ui/modules/Linphone/Contact/Contact.qml b/linphone-app/ui/modules/Linphone/Contact/Contact.qml index 670418e6c..04c3e2fee 100644 --- a/linphone-app/ui/modules/Linphone/Contact/Contact.qml +++ b/linphone-app/ui/modules/Linphone/Contact/Contact.qml @@ -52,25 +52,10 @@ Rectangle { //image: _contact && _contact.vcard.avatar image: entry?(entry.contactModel?entry.contactModel.vcard.avatar:entry.avatar?entry.avatar: ''):'' - presenceLevel: entry?(entry.contactModel ? Presence.getPresenceLevel(entry.contactModel.presenceStatus) - : Presence.getPresenceLevel(entry.presenceStatus) + presenceLevel: entry?(entry.contactModel ? (entry.contactModel.presenceStatus >= 0 ? Presence.getPresenceLevel(entry.contactModel.presenceStatus) : -1) + : (entry.presenceStatus >= 0 ? Presence.getPresenceLevel(entry.presenceStatus) : -1) ) :-1 - /* - Connections{ - target: entry.contactModel?entry.contactModel:entry - onPresenceStatusChanged:{ - if(entry){ - if(entry.contactModel){ - avatar.presenceLevel = Presence.getPresenceLevel(entry.contactModel.presenceStatus); - }else { - avatar.presenceLevel = Presence.getPresenceLevel(entry.presenceStatus); - } - }else { - avatar.presenceLevel = -1; - } - } - }*/ //username: LinphoneUtils.getContactUsername(_contact || entry.sipAddress || entry.fullPeerAddress || entry.peerAddress || '') //username: UtilsCpp.getDisplayName(entry.sipAddress || entry.peerAddress )