diff --git a/CHANGELOG.md b/CHANGELOG.md index 5171fe324..5857eed31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Bubble chat layout. - Camera stickers and conference layout stabilization. - Robot voice with some devices (SDK fix). +- Crash after adding an account (SDK fix). - Smart search bar behavior on empty text and focus changing. ### Added @@ -36,7 +37,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Display video thumbnails. - Crop thumbnail and pictures if distored. - Enable registration from accounts list. -- Update SDK to 5.2.90 +- Update SDK to 5.2.92 ### Removed - Picture zoom on mouse over. diff --git a/linphone-app/assets/languages/cs.ts b/linphone-app/assets/languages/cs.ts index dc5d4de6c..6f9e36370 100644 --- a/linphone-app/assets/languages/cs.ts +++ b/linphone-app/assets/languages/cs.ts @@ -548,6 +548,11 @@ newMessagePlaceholder + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/da.ts b/linphone-app/assets/languages/da.ts index 0f2a5a794..b7f89a8de 100644 --- a/linphone-app/assets/languages/da.ts +++ b/linphone-app/assets/languages/da.ts @@ -548,6 +548,11 @@ Server url ikke konfigureret. conferencesCopiedICS Samtales ICS er kopieret + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/de.ts b/linphone-app/assets/languages/de.ts index 46c426ca4..26407277d 100644 --- a/linphone-app/assets/languages/de.ts +++ b/linphone-app/assets/languages/de.ts @@ -548,6 +548,11 @@ Server URL ist nicht konfiguriert. conferencesCopiedICS Die Einladung wurde kopiert + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/en.ts b/linphone-app/assets/languages/en.ts index ca114235f..4dfedb852 100644 --- a/linphone-app/assets/languages/en.ts +++ b/linphone-app/assets/languages/en.ts @@ -548,6 +548,11 @@ Server URL not configured. conferencesCopiedICS The invitation has been copied + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + Do you want to forward this message? + ChatCalendarMessage @@ -996,7 +1001,7 @@ Server URL not configured. usernames 'USERNAME(S)' : label for sip accounts when only username is displayed n contact - + USERNAMES(S) diff --git a/linphone-app/assets/languages/es.ts b/linphone-app/assets/languages/es.ts index 1b3f2cd4c..8326e24ea 100644 --- a/linphone-app/assets/languages/es.ts +++ b/linphone-app/assets/languages/es.ts @@ -548,6 +548,11 @@ URL del servidor no configurada. conferencesCopiedICS La conferencia ICS ha sido copiada + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/fr_FR.ts b/linphone-app/assets/languages/fr_FR.ts index 00120301c..5989f751a 100644 --- a/linphone-app/assets/languages/fr_FR.ts +++ b/linphone-app/assets/languages/fr_FR.ts @@ -548,6 +548,11 @@ URL du serveur non configurée. conferencesCopiedICS L'invitation a été copiée + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/hu.ts b/linphone-app/assets/languages/hu.ts index 6ddac304b..18df92669 100644 --- a/linphone-app/assets/languages/hu.ts +++ b/linphone-app/assets/languages/hu.ts @@ -547,6 +547,11 @@ A kiszolgáló URL-je nincs konfigurálva. conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/it.ts b/linphone-app/assets/languages/it.ts index 21472a0e6..bfbe03ed9 100644 --- a/linphone-app/assets/languages/it.ts +++ b/linphone-app/assets/languages/it.ts @@ -548,6 +548,11 @@ URL del server non configurato. conferencesCopiedICS L'invito è stato copiato + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/ja.ts b/linphone-app/assets/languages/ja.ts index 4ef1a79ef..ec7f0ba37 100644 --- a/linphone-app/assets/languages/ja.ts +++ b/linphone-app/assets/languages/ja.ts @@ -547,6 +547,11 @@ conferencesCopiedICS 招待状をコピーしました + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/lt.ts b/linphone-app/assets/languages/lt.ts index dddd07868..3976153f5 100644 --- a/linphone-app/assets/languages/lt.ts +++ b/linphone-app/assets/languages/lt.ts @@ -549,6 +549,11 @@ Nesukonfigūruotas serverio url. conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/pt_BR.ts b/linphone-app/assets/languages/pt_BR.ts index 1f82afa7b..e496f2ff1 100644 --- a/linphone-app/assets/languages/pt_BR.ts +++ b/linphone-app/assets/languages/pt_BR.ts @@ -548,6 +548,11 @@ URL do servidor não configurado. conferencesCopiedICS O convite foi copiado + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/ru.ts b/linphone-app/assets/languages/ru.ts index 3077f39f1..c96638da2 100644 --- a/linphone-app/assets/languages/ru.ts +++ b/linphone-app/assets/languages/ru.ts @@ -549,6 +549,11 @@ conferencesCopiedICS Приглашение было скопировано + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/sv.ts b/linphone-app/assets/languages/sv.ts index 8f140fad8..6df4d9e4e 100644 --- a/linphone-app/assets/languages/sv.ts +++ b/linphone-app/assets/languages/sv.ts @@ -548,6 +548,11 @@ Serverwebbadressen är inte konfigurerad. conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/tr.ts b/linphone-app/assets/languages/tr.ts index 09ecf79fe..8d384c22c 100644 --- a/linphone-app/assets/languages/tr.ts +++ b/linphone-app/assets/languages/tr.ts @@ -547,6 +547,11 @@ Sunucu url'si yapılandırılmadı. conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/uk.ts b/linphone-app/assets/languages/uk.ts index dbd467a17..478d21865 100644 --- a/linphone-app/assets/languages/uk.ts +++ b/linphone-app/assets/languages/uk.ts @@ -549,6 +549,11 @@ conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/assets/languages/zh_CN.ts b/linphone-app/assets/languages/zh_CN.ts index 859083f82..7972b0e5e 100644 --- a/linphone-app/assets/languages/zh_CN.ts +++ b/linphone-app/assets/languages/zh_CN.ts @@ -547,6 +547,11 @@ conferencesCopiedICS + + confirmForward + 'Do you want to forward this message?' : text to confirm to forward a message + + ChatCalendarMessage diff --git a/linphone-app/src/components/core/CoreManager.cpp b/linphone-app/src/components/core/CoreManager.cpp index d6f639288..52eab87a1 100644 --- a/linphone-app/src/components/core/CoreManager.cpp +++ b/linphone-app/src/components/core/CoreManager.cpp @@ -320,7 +320,10 @@ void CoreManager::migrate () { shared_ptr config = mCore->getConfig(); auto oldLimeServerUrl = mCore->getLimeX3DhServerUrl();// core url is deprecated : If core url exists, it must be copied to all linphone accounts. int rcVersion = config->getInt(SettingsModel::UiSection, Constants::RcVersionName, 0); - if (oldLimeServerUrl.empty() && rcVersion == Constants::RcVersionCurrent) + if( !oldLimeServerUrl.empty()) { + mCore->setLimeX3DhServerUrl(""); + mCore->enableLimeX3Dh(true); + }else if( rcVersion == Constants::RcVersionCurrent) return; if (rcVersion > Constants::RcVersionCurrent) { qWarning() << QStringLiteral("RC file version (%1) is more recent than app rc file version (%2)!!!") @@ -330,10 +333,6 @@ void CoreManager::migrate () { qInfo() << QStringLiteral("Migrate from old rc file (%1 to %2).") .arg(rcVersion).arg(Constants::RcVersionCurrent); - if( !oldLimeServerUrl.empty()) { - mCore->setLimeX3DhServerUrl(""); - mCore->enableLimeX3Dh(true); - } bool setLimeServerUrl = false; for(const auto &account : getAccountList()){ auto params = account->getParams(); diff --git a/linphone-app/src/utils/Utils.cpp b/linphone-app/src/utils/Utils.cpp index 3c6b533ff..23f2d0a6b 100644 --- a/linphone-app/src/utils/Utils.cpp +++ b/linphone-app/src/utils/Utils.cpp @@ -95,13 +95,13 @@ char *Utils::rstrstr (const char *a, const char *b) { // ----------------------------------------------------------------------------- -bool Utils::hasCapability(const QString& address, const LinphoneEnums::FriendCapability& capability){ +bool Utils::hasCapability(const QString& address, const LinphoneEnums::FriendCapability& capability, bool defaultCapability){ auto addressCleaned = cleanSipAddress(address); auto contact = CoreManager::getInstance()->getContactsListModel()->findContactModelFromSipAddress(addressCleaned); if(contact) return contact->hasCapability(capability); else - return false; + return defaultCapability; } QDateTime Utils::addMinutes(QDateTime date, const int& min){ diff --git a/linphone-app/src/utils/Utils.hpp b/linphone-app/src/utils/Utils.hpp index a67efa3fc..aedcd0af9 100644 --- a/linphone-app/src/utils/Utils.hpp +++ b/linphone-app/src/utils/Utils.hpp @@ -63,7 +63,7 @@ public: Q_ENUM(SipDisplayMode) // Qt interfaces - Q_INVOKABLE static bool hasCapability(const QString& address, const LinphoneEnums::FriendCapability& capability); + Q_INVOKABLE static bool hasCapability(const QString& address, const LinphoneEnums::FriendCapability& capability, bool defaultCapability = true); Q_INVOKABLE static QDateTime addMinutes(QDateTime date, const int& min); static QDateTime getOffsettedUTC(const QDateTime& date); Q_INVOKABLE static QString toDateTimeString(QDateTime date); diff --git a/linphone-app/ui/modules/Linphone/Chat/Chat.js b/linphone-app/ui/modules/Linphone/Chat/Chat.js index 36e23d744..82f4c5b19 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Chat.js +++ b/linphone-app/ui/modules/Linphone/Chat/Chat.js @@ -26,6 +26,8 @@ .import Linphone 1.0 as Linphone .import UtilsCpp 1.0 as UtilsCpp +.import 'qrc:/ui/scripts/Utils/utils.js' as Utils + // ============================================================================= function initView () { @@ -75,3 +77,26 @@ function sendMessage (text) { if(container.proxyModel) container.proxyModel.sendMessage(text) } + +function forwardMessage(chatRoomModel, chatEntry, chatRoomConfig){ + Qt.callLater(function (){// This avoid to detach virtual window while selecting chatroom/user. This can be the case when we got an address from the smartsearch bar that need to close itself before doing this stuff. + window.detachVirtualWindow() + window.attachVirtualWindow(Utils.buildCommonDialogUri('ConfirmDialog'), { + flat: true, + //: 'Do you want to forward this message?' : text to confirm to forward a message + descriptionText: ''+qsTr('confirmForward'), + }, function (status) { + if (status) { + if(!chatRoomModel) { + var chat = CallsListModel.createChatRoom( chatRoomConfig.subject, chatRoomConfig.haveEncryption, chatRoomConfig.participants, chatRoomConfig.toSelect) + if(chat) + chatRoomModel = chat.chatRoomModel + } + if(chatRoomModel){ + chatRoomModel.forwardMessage(chatEntry) + Linphone.TimelineListModel.select(chatRoomModel) + } + } + }) + }) +} diff --git a/linphone-app/ui/modules/Linphone/Chat/Chat.qml b/linphone-app/ui/modules/Linphone/Chat/Chat.qml index 1723b07c9..b545f23c9 100644 --- a/linphone-app/ui/modules/Linphone/Chat/Chat.qml +++ b/linphone-app/ui/modules/Linphone/Chat/Chat.qml @@ -288,18 +288,12 @@ Rectangle { //: 'Choose where to forward the message' : Dialog title for choosing where to forward the current message. , {title: qsTr('forwardDialogTitle'), addressSelectedCallback: function (sipAddress) { - var chat = CallsListModel.createChatRoom( '', proxyModel.chatRoomModel.haveEncryption, [sipAddress], false ) - if(chat){ - chat.chatRoomModel.forwardMessage(entry.chatEntry) - TimelineListModel.select(chat.chatRoomModel) - } + Logic.forwardMessage(undefined, entry.chatEntry, {subject:'', haveEncryption: proxyModel.chatRoomModel.haveEncryption, participants: [sipAddress], toSelect: false} ) }, chatRoomSelectedCallback: function (chatRoomModel){ - if(chatRoomModel){ - chatRoomModel.forwardMessage(entry.chatEntry) - TimelineListModel.select(chatRoomModel) - } - } + if(chatRoomModel) + Logic.forwardMessage(chatRoomModel, entry.chatEntry) + } }) } diff --git a/linphone-app/ui/modules/Linphone/Chat/IncomingMessage.qml b/linphone-app/ui/modules/Linphone/Chat/IncomingMessage.qml index a5da0dc4b..eea41c58d 100644 --- a/linphone-app/ui/modules/Linphone/Chat/IncomingMessage.qml +++ b/linphone-app/ui/modules/Linphone/Chat/IncomingMessage.qml @@ -4,6 +4,7 @@ import QtQuick.Layouts 1.3 import Common 1.0 import Linphone 1.0 import Linphone.Styles 1.0 +import UtilsCpp 1.0 // ============================================================================= diff --git a/linphone-app/ui/modules/Linphone/Dialog/SipAddressDialog.qml b/linphone-app/ui/modules/Linphone/Dialog/SipAddressDialog.qml index dc48b00f5..363334161 100644 --- a/linphone-app/ui/modules/Linphone/Dialog/SipAddressDialog.qml +++ b/linphone-app/ui/modules/Linphone/Dialog/SipAddressDialog.qml @@ -55,19 +55,18 @@ DialogPlus { secure: 0, visible: true, secureIconVisibleHandler : function(entry) { - return UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh) + return UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) }, handler: function (entry) { console.debug("Call selected: " +entry + "/"+entry.sipAddress) - mainItem.addressSelectedCallback(entry.sipAddress) - exit(1) + smartSearchBar.entryClicked(entry) }, }] onEntryClicked: { - console.debug("Call selected: " +entry + "/"+entry.sipAddress) + console.debug("Call selected from button: " +entry + "/"+entry.sipAddress) mainItem.addressSelectedCallback(entry.sipAddress) - exit(1) + mainItem.exit(1) } } Text { @@ -90,7 +89,19 @@ DialogPlus { Timeline { id: timeline showHistoryButton: false + optionsTogglable: false anchors.fill: parent + actions:[ + { + colorSet: SipAddressDialogStyle.select, + visible: true, + handler: function (entry) { + if( entry) { + entry.selected = true + } + } + } + ] model: TimelineProxyModel{ listSource: TimelineProxyModel.Copy } diff --git a/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml b/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml index 4e148de2c..b9ea98d4c 100644 --- a/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml +++ b/linphone-app/ui/modules/Linphone/SmartSearchBar/SmartSearchBar.qml @@ -90,6 +90,12 @@ SearchBox { colorSet: SettingsModel.getShowStartChatButton() ? SipAddressesViewStyle.chat : SipAddressesViewStyle.history, secure: 1, visible: SettingsModel.secureChatEnabled && AccountSettingsModel.conferenceUri != '', + secureIconVisibleHandler : function(entry) { + if(entry) + return UtilsCpp.hasCapability(entry.sipAddress ? entry.sipAddress : entry, LinphoneEnums.FriendCapabilityLimeX3Dh, true); + else + return false; + }, handler: function (entry) { searchBox.launchSecureChat(entry.sipAddress) searchBox.closeMenu() diff --git a/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml b/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml index 94e87adf4..119b53953 100644 --- a/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml +++ b/linphone-app/ui/modules/Linphone/Timeline/Timeline.qml @@ -25,7 +25,8 @@ Rectangle { property bool showHistoryButton : CoreManager.callLogsCount property bool isFilterVisible: searchView.visible || showFilterView property bool showFiltersButtons: view.count > 0 || timeline.isFilterVisible || timeline.model.filterFlags > 0 - + property bool optionsTogglable: true + property var actions: [] // --------------------------------------------------------------------------- signal entrySelected (TimelineModel entry) @@ -363,7 +364,8 @@ Rectangle { delegate: TimelineItem{ timelineModel: $modelData modelIndex: index - + optionsTogglable: timeline.optionsTogglable + actions: timeline.actions Connections{ target: $modelData onSelectedChanged:{ diff --git a/linphone-app/ui/modules/Linphone/Timeline/TimelineItem.qml b/linphone-app/ui/modules/Linphone/Timeline/TimelineItem.qml index 866924947..2c45120d7 100644 --- a/linphone-app/ui/modules/Linphone/Timeline/TimelineItem.qml +++ b/linphone-app/ui/modules/Linphone/Timeline/TimelineItem.qml @@ -17,8 +17,10 @@ import 'qrc:/ui/scripts/Utils/utils.js' as Utils Rectangle { id: mainItem property TimelineModel timelineModel + property bool optionsTogglable: true // Right click => display/hide options property bool optionsToggled: false property int modelIndex: 0 + property var actions: [] height: TimelineStyle.contact.height width: parent ? parent.width : 0 @@ -99,7 +101,7 @@ Rectangle { onClicked: { if(mouse.button == Qt.LeftButton){ mainItem.timelineModel.selected = true - }else{ + }else if(mainItem.optionsTogglable){ mainItem.optionsToggled = !mainItem.optionsToggled } } @@ -151,6 +153,33 @@ Rectangle { } } } + RowLayout{ + anchors.fill: parent + anchors.rightMargin: 5 + visible: mainItem.actions.length > 0 + Item{// Spacer + Layout.fillHeight: true + Layout.fillWidth: true + } + Repeater { + model: mainItem.actions + + ActionButton { + isCustom: true + backgroundRadius: 90 + colorSet: modelData.colorSet + + visible: modelData.visible + + onClicked: { + mainItem.actions[index].handler( // Do not use modelData on functions + mainItem.timelineModel + ) + } + + } + } + } Item{ id: optionsView @@ -165,9 +194,11 @@ Rectangle { Layout.fillHeight: true Layout.fillWidth: true onClicked: { - mainItem.optionsToggled = !mainItem.optionsToggled + if(mainItem.optionsTogglable) + mainItem.optionsToggled = !mainItem.optionsToggled } } + Rectangle{ Layout.fillHeight: true Layout.preferredWidth: optionsLayout.width diff --git a/linphone-app/ui/modules/Linphone/View/ParticipantsListView.qml b/linphone-app/ui/modules/Linphone/View/ParticipantsListView.qml index 7cf857eb3..d3d9bf562 100644 --- a/linphone-app/ui/modules/Linphone/View/ParticipantsListView.qml +++ b/linphone-app/ui/modules/Linphone/View/ParticipantsListView.qml @@ -48,7 +48,7 @@ ColumnLayout { secure: mainLayout.haveEncryption, visible: true, secureIconVisibleHandler : function(entry) { - return entry.sipAddress && mainLayout.haveEncryption && UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh); + return entry.sipAddress && mainLayout.haveEncryption && UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true); }, handler: function (entry) { selectedParticipants.addAddress(entry.sipAddress) diff --git a/linphone-app/ui/views/App/Dialog/NewConference.qml b/linphone-app/ui/views/App/Dialog/NewConference.qml index 6bce80d2c..050f7a958 100644 --- a/linphone-app/ui/views/App/Dialog/NewConference.qml +++ b/linphone-app/ui/views/App/Dialog/NewConference.qml @@ -475,7 +475,7 @@ DialogPlus { secure: SettingsModel.secureChatEnabled, visible: true, secureIconVisibleHandler : function(entry) { - return entry && entry.sipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh) : false + return entry && entry.sipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) : false }, handler: function (entry) { if(entry){ diff --git a/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml b/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml index 9dad2e21d..92c5d61c6 100644 --- a/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml +++ b/linphone-app/ui/views/App/Main/Dialogs/InfoChatRoom.qml @@ -88,7 +88,7 @@ DialogPlus { secure: chatRoomModel.haveEncryption, visible: true, secureIconVisibleHandler : function(entry) { - return entry && entry.sipAddress && chatRoomModel && chatRoomModel.haveEncryption && UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh); + return entry && entry.sipAddress && chatRoomModel && chatRoomModel.haveEncryption && UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true); }, handler: function (entry) { selectedParticipants.addAddress(entry.sipAddress) diff --git a/linphone-app/ui/views/App/Main/Dialogs/NewChatRoom.qml b/linphone-app/ui/views/App/Main/Dialogs/NewChatRoom.qml index 2b541563c..af2b016af 100644 --- a/linphone-app/ui/views/App/Main/Dialogs/NewChatRoom.qml +++ b/linphone-app/ui/views/App/Main/Dialogs/NewChatRoom.qml @@ -234,7 +234,7 @@ DialogPlus { property int securityLevel : 2 anchors.top:parent.top anchors.horizontalCenter: parent.right - visible: SettingsModel.secureChatEnabled && UtilsCpp.hasCapability(modelData.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh) + visible: SettingsModel.secureChatEnabled && UtilsCpp.hasCapability(modelData.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) icon: 'secure_on' iconSize: parent.height/2 } @@ -330,7 +330,7 @@ DialogPlus { secure: SettingsModel.secureChatEnabled, visible: true, secureIconVisibleHandler : function(entry) { - return entry && entry.sipsipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh) : false + return entry && entry.sipsipAddress ? UtilsCpp.hasCapability(entry.sipAddress, LinphoneEnums.FriendCapabilityLimeX3Dh, true) : false }, handler: function (entry) { selectedParticipants.addAddress(entry.sipAddress)