diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2021-05-07 12:19:46 +0200 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2021-05-07 17:01:57 +0200 |
commit | 0d0709ccd37ef2f689c9d22a20994ce8d423e18b (patch) | |
tree | 110a1e0692184d34a3535dce1f8d3d99c1d70194 /resources/qml | |
parent | Translated using Weblate (Spanish) (diff) | |
download | nheko-0d0709ccd37ef2f689c9d22a20994ce8d423e18b.tar.xz |
Show verification status next to messages
Diffstat (limited to 'resources/qml')
-rw-r--r-- | resources/qml/EncryptionIndicator.qml | 29 | ||||
-rw-r--r-- | resources/qml/TimelineRow.qml | 1 | ||||
-rw-r--r-- | resources/qml/UserProfile.qml | 8 |
3 files changed, 30 insertions, 8 deletions
diff --git a/resources/qml/EncryptionIndicator.qml b/resources/qml/EncryptionIndicator.qml index 58805f48..1e5d4d38 100644 --- a/resources/qml/EncryptionIndicator.qml +++ b/resources/qml/EncryptionIndicator.qml @@ -10,17 +10,38 @@ Image { id: stateImg property bool encrypted: false + property int trust: Crypto.Unverified width: 16 height: 16 source: { - if (encrypted) - return "image://colorimage/:/icons/icons/ui/lock.png?" + colors.buttonText; - else + if (encrypted) { + switch (trust) { + case Crypto.Verified: + return "image://colorimage/:/icons/icons/ui/lock.png?green"; + case Crypto.TOFU: + return "image://colorimage/:/icons/icons/ui/lock.png?" + colors.buttonText; + default: + return "image://colorimage/:/icons/icons/ui/lock.png?#dd3d3d"; + } + } else { return "image://colorimage/:/icons/icons/ui/unlock.png?#dd3d3d"; + } } ToolTip.visible: ma.hovered - ToolTip.text: encrypted ? qsTr("Encrypted") : qsTr("This message is not encrypted!") + ToolTip.text: { + if (!encrypted) + return qsTr("This message is not encrypted!"); + + switch (trust) { + case Crypto.Verified: + return qsTr("Encrypted by a verified device"); + case Crypto.TOFU: + return qsTr("Encrypted by an unverified device, but you have trusted that user so far."); + default: + return qsTr("Encrypted by an unverified device"); + } + } HoverHandler { id: ma diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml index 715e8bd1..09a55e60 100644 --- a/resources/qml/TimelineRow.qml +++ b/resources/qml/TimelineRow.qml @@ -86,6 +86,7 @@ Item { EncryptionIndicator { visible: model.isRoomEncrypted encrypted: model.isEncrypted + trust: model.trustlevel Layout.alignment: Qt.AlignRight | Qt.AlignTop Layout.preferredHeight: 16 Layout.preferredWidth: 16 diff --git a/resources/qml/UserProfile.qml b/resources/qml/UserProfile.qml index bd25b74e..21c44793 100644 --- a/resources/qml/UserProfile.qml +++ b/resources/qml/UserProfile.qml @@ -137,16 +137,16 @@ ApplicationWindow { text: qsTr("Verify") Layout.alignment: Qt.AlignHCenter - enabled: !profile.isUserVerified - visible: !profile.isUserVerified && !profile.isSelf && profile.userVerificationEnabled + enabled: profile.userVerified != Crypto.Verified + visible: profile.userVerified != Crypto.Verified && !profile.isSelf && profile.userVerificationEnabled onClicked: profile.verify() } Image { Layout.preferredHeight: 16 Layout.preferredWidth: 16 - source: "image://colorimage/:/icons/icons/ui/lock.png?green" - visible: profile.isUserVerified + source: "image://colorimage/:/icons/icons/ui/lock.png?" + ((profile.userVerified == Crypto.Verified) ? "green" : colors.buttonText) + visible: profile.userVerified != Crypto.Unverified Layout.alignment: Qt.AlignHCenter } |