summaryrefslogtreecommitdiffstats
path: root/resources/qml/delegates/EncryptionEnabled.qml
blob: 40894543e5aa7aac6a56e69618a5e8adb1e31cd5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// SPDX-FileCopyrightText: Nheko Contributors
//
// SPDX-License-Identifier: GPL-3.0-or-later

import ".."
import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
import im.nheko

Control {
    id: r

    required property string userName

    padding: Nheko.paddingMedium
    //implicitHeight: contents.implicitHeight + padd * 2
    Layout.maximumWidth: contents.Layout.maximumWidth + padding * 2
    Layout.fillWidth: true

    contentItem: RowLayout {
        id: contents

        spacing: Nheko.paddingMedium

        Image {
            source: "image://colorimage/:/icons/icons/ui/shield-filled-checkmark.svg?" + Nheko.theme.green
            Layout.alignment: Qt.AlignVCenter
            Layout.preferredWidth: 24
            Layout.preferredHeight: 24
        }

        ColumnLayout {
            spacing: Nheko.paddingSmall
            Layout.fillWidth: true

            MatrixText {
                text: qsTr("%1 enabled end-to-end encryption").arg(r.userName)
                font.bold: true
                font.pointSize: 14
                color: palette.text
                Layout.fillWidth: true
                Layout.maximumWidth: implicitWidth + 1
            }

            Label {
                text: qsTr("Encryption keeps your messages safe by only allowing the people you sent the message to to read it. For extra security, if you want to make sure you are talking to the right people, you can verify them in real life.")
                textFormat: Text.PlainText
                wrapMode: Label.WordWrap
                Layout.fillWidth: true
                Layout.maximumWidth: implicitWidth + 1
            }

        }

    }

    background: Rectangle {
        radius: fontMetrics.lineSpacing / 2 + Nheko.paddingMedium
        height: contents.implicitHeight + Nheko.paddingMedium * 2
        color: palette.alternateBase
        border.color: Nheko.theme.green
        border.width: 2
    }
}