Add basic cross-signing support

This commit is contained in:
Tobias Fella
2024-05-06 21:12:54 +02:00
parent 31dd981104
commit 1235e46575
3 changed files with 37 additions and 6 deletions

View File

@@ -71,6 +71,12 @@ QQC2.Menu {
title: i18nc("@title:window", "Open Key Backup") title: i18nc("@title:window", "Open Key Backup")
}) })
} }
QQC2.MenuItem {
text: i18nc("@action:inmenu", "Verify this Device")
icon.name: "security-low"
onTriggered: root.connection.startSelfVerification()
enabled: Controller.ssssSupported
}
QQC2.MenuItem { QQC2.MenuItem {
text: i18n("Logout") text: i18n("Logout")
icon.name: "list-remove-user" icon.name: "list-remove-user"

View File

@@ -59,12 +59,27 @@ ColumnLayout {
} }
} }
Kirigami.Heading { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
type: Kirigami.Heading.Type.Primary Layout.alignment: Qt.AlignHCenter
wrapMode: QQC2.Label.Wrap Kirigami.Icon {
text: root.room.displayName id: securityIcon
textFormat: Text.PlainText //TODO figure out how to make this update
horizontalAlignment: Text.AlignHCenter source: room.connection.isUserVerified(root.room.directChatRemoteMember.id) ?
(room.connection.allSessionsSelfVerified(root.room.directChatRemoteMember.id) ? "security-high" : "security-medium")
: "security-low"
}
Kirigami.Heading {
type: Kirigami.Heading.Type.Primary
wrapMode: QQC2.Label.Wrap
text: root.room.displayName
textFormat: Text.PlainText
horizontalAlignment: Text.AlignHCenter
}
Item {
Layout.preferredWidth: visible ? securityIcon.width : 0
visible: securityIcon.visible
}
} }
} }

View File

@@ -89,6 +89,16 @@ QQC2.ScrollView {
} }
} }
Delegates.RoundedItemDelegate {
visible: root.room.isDirectChat()
icon.name: "security-low-symbolic"
text: i18nc("@action:button", "Verify user")
onClicked: root.room.startVerification()
Layout.fillWidth: true
}
Delegates.RoundedItemDelegate { Delegates.RoundedItemDelegate {
id: favouriteButton id: favouriteButton
visible: !root.room.isSpace visible: !root.room.isSpace