diff --git a/src/constant/JamiStrings.qml b/src/constant/JamiStrings.qml index a41f74a1497187380865d2fe958ab08a82d2517d..1629fdb01aea2d33e7db4b16d0df7729dfae2fa5 100644 --- a/src/constant/JamiStrings.qml +++ b/src/constant/JamiStrings.qml @@ -480,4 +480,9 @@ Item { // Daemon reconnection property string reconnectDaemon: qsTr("Trying to reconnect to the Jami daemon (dring)…") property string reconnectionFailed: qsTr("Could not re-connect to the Jami daemon (dring).\nJami will now quit.") + + // Is Swarm + property string isSwarm: qsTr("Is swarm:") + property string trueStr: qsTr("True") + property string falseStr: qsTr("False") } diff --git a/src/conversationlistmodelbase.cpp b/src/conversationlistmodelbase.cpp index 189f94c33b4c134ef391f8b8d1a32a5c84b8e55f..b56da053a30b52c57bfd36adaa0954af1b7fff49 100644 --- a/src/conversationlistmodelbase.cpp +++ b/src/conversationlistmodelbase.cpp @@ -104,6 +104,9 @@ ConversationListModelBase::dataForItem(item_t item, int role) const case Role::ContactType: { return QVariant(static_cast<int>(contact.profileInfo.type)); } + case Role::IsSwarm: { + return QVariant(item.mode != lrc::api::conversation::Mode::NON_SWARM); + } case Role::IsBanned: { return QVariant(contact.isBanned); } diff --git a/src/conversationlistmodelbase.h b/src/conversationlistmodelbase.h index fe99fdd0402192e454a0ae1030c60a0c36695491..8940b81214f4642af118fb12a63925687a84047b 100644 --- a/src/conversationlistmodelbase.h +++ b/src/conversationlistmodelbase.h @@ -34,6 +34,7 @@ X(LastInteractionDate) \ X(LastInteraction) \ X(ContactType) \ + X(IsSwarm) \ X(IsBanned) \ X(UID) \ X(InCall) \ diff --git a/src/conversationsadapter.cpp b/src/conversationsadapter.cpp index c2b474aa0d0742bf7fee690101a13cddfa87c551..55f5b01197dba45c32b30e00628ba8a1364217d8 100644 --- a/src/conversationsadapter.cpp +++ b/src/conversationsadapter.cpp @@ -424,6 +424,7 @@ ConversationsAdapter::getConvInfoMap(const QString& convId) {"bestId", contactModel->bestIdForContact(peerUri)}, {"bestName", contactModel->bestNameForContact(peerUri)}, {"uri", peerUri}, + {"isSwarm", convInfo.mode != lrc::api::conversation::Mode::NON_SWARM}, {"contactType", static_cast<int>(contact.profileInfo.type)}, {"isAudioOnly", isAudioOnly}, {"callState", static_cast<int>(callState)}, diff --git a/src/mainview/components/ConversationListView.qml b/src/mainview/components/ConversationListView.qml index 19c8bb8c748dfaf641cef61249123c3c46bead3e..2a83df0ad8752fe7c7f86c452fdffa2dd5310c93 100644 --- a/src/mainview/components/ConversationListView.qml +++ b/src/mainview/components/ConversationListView.qml @@ -134,6 +134,7 @@ ListView { "displayName": model.dataForRow(row, ConversationList.BestName), "uri": model.dataForRow(row, ConversationList.URI), "contactType": model.dataForRow(row, ConversationList.ContactType), + "isSwarm": model.dataForRow(row, ConversationList.IsSwarm), } responsibleAccountId = LRCInstance.currentAccountId @@ -145,6 +146,7 @@ ListView { userProfile.registeredNameText = item.displayId userProfile.idText = item.uri userProfile.contactImageUid = item.convId + userProfile.isSwarm = item.isSwarm openMenu() } diff --git a/src/mainview/components/UserProfile.qml b/src/mainview/components/UserProfile.qml index 26712f53fbb960ffbb408da73503d46195e982ca..1c275bf62048bba561914c9aaf5bdbe8227a42f2 100644 --- a/src/mainview/components/UserProfile.qml +++ b/src/mainview/components/UserProfile.qml @@ -33,6 +33,7 @@ BaseDialog { property string aliasText: "" property string registeredNameText: "" property string idText: "" + property bool isSwarm: false property int preferredImgSize: 80 @@ -205,6 +206,20 @@ BaseDialog { mipmap: true } + Text { + Layout.alignment: Qt.AlignRight + font.pointSize: JamiTheme.textFontSize + text: JamiStrings.isSwarm + color: JamiTheme.faddedFontColor + } + + Text { + Layout.alignment: Qt.AlignLeft + font.pointSize: JamiTheme.textFontSize + text: isSwarm? JamiStrings.trueStr : JamiStrings.falseStr + color: JamiTheme.faddedFontColor + } + MaterialButton { id: btnClose