Skip to content
Snippets Groups Projects
EncryptionIndicator.qml 1.5 KiB
Newer Older
  • Learn to ignore specific revisions
  • Nicolas Werner's avatar
    Nicolas Werner committed
    // SPDX-FileCopyrightText: 2021 Nheko Contributors
    
    Nicolas Werner's avatar
    Nicolas Werner committed
    // SPDX-License-Identifier: GPL-3.0-or-later
    
    
    import QtQuick 2.12
    
    import QtQuick.Controls 2.1
    
    Image {
        id: stateImg
    
    
        property bool encrypted: false
    
        property int trust: Crypto.Unverified
    
        property string sourceUrl: {
            if (width <= 16 || height <= 16)
                return "image://colorimage/:/icons/icons/ui/shield-small-filled.svg?";
            else
                return "image://colorimage/:/icons/icons/ui/shield.svg?";
        }
    
    
        width: 16
        height: 16
        source: {
    
            if (encrypted) {
                switch (trust) {
                case Crypto.Verified:
    
                    return sourceUrl + "green";
    
                case Crypto.TOFU:
    
                    return sourceUrl + Nheko.colors.buttonText;
    
                    return sourceUrl + Nheko.theme.error;
    
                return sourceUrl + Nheko.theme.error;
    
        ToolTip.visible: ma.hovered
    
        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 or the key is from an untrusted source like the key backup.");
    
        HoverHandler {