2021-03-05 02:35:15 +03:00
// SPDX-FileCopyrightText: 2021 Nheko Contributors
2022-01-01 06:57:53 +03:00
// SPDX-FileCopyrightText: 2022 Nheko Contributors
2021-03-05 02:35:15 +03:00
// SPDX-License-Identifier: GPL-3.0-or-later
2021-01-12 17:03:39 +03:00
import QtQuick 2.3
2021-01-12 17:04:31 +03:00
import QtQuick . Controls 2.3
2020-09-14 14:57:49 +03:00
import QtQuick . Layouts 1.10
2022-04-15 03:58:44 +03:00
import im . nheko
2020-10-05 23:12:10 +03:00
2020-09-14 14:57:49 +03:00
Pane {
2021-01-19 05:49:27 +03:00
property string title: flow . sender ? qsTr ( "Send Verification Request" ) : qsTr ( "Received Verification Request" )
2022-04-16 03:13:01 +03:00
2022-01-12 08:44:51 +03:00
background: Rectangle {
2022-04-11 05:18:16 +03:00
color: timelineRoot . palette . window
2022-01-12 08:44:51 +03:00
}
2020-10-08 22:11:21 +03:00
ColumnLayout {
2022-01-12 08:44:51 +03:00
anchors.fill: parent
2020-10-08 22:11:21 +03:00
spacing: 16
Label {
2022-04-16 03:13:01 +03:00
Layout.fillWidth: true
2021-01-12 16:49:15 +03:00
// Self verification
2022-01-12 08:44:51 +03:00
Layout.preferredWidth: 400
2022-04-16 03:13:01 +03:00
color: timelineRoot . palette . text
2021-01-12 15:32:12 +03:00
text: {
if ( flow . sender ) {
if ( flow . isSelfVerification )
2021-11-02 00:20:15 +03:00
if ( flow . isMultiDeviceVerification )
return qsTr ( "To allow other users to see, which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify an unverified device now? (Please make sure you have one of those devices available.)" ) ;
else
return qsTr ( "To allow other users to see, which of your devices actually belong to you, you can verify them. This also allows key backup to work automatically. Verify %1 now?" ) . arg ( flow . deviceId ) ;
2021-01-12 15:32:12 +03:00
else
return qsTr ( "To ensure that no malicious user can eavesdrop on your encrypted communications you can verify the other party." ) ;
} else {
if ( ! flow . isSelfVerification && flow . isDeviceVerification )
return qsTr ( "%1 has requested to verify their device %2." ) . arg ( flow . userId ) . arg ( flow . deviceId ) ;
else if ( ! flow . isSelfVerification && ! flow . isDeviceVerification )
return qsTr ( "%1 using the device %2 has requested to be verified." ) . arg ( flow . userId ) . arg ( flow . deviceId ) ;
else
2021-01-12 16:49:15 +03:00
return qsTr ( "Your device (%1) has requested to be verified." ) . arg ( flow . deviceId ) ;
2021-01-12 15:32:12 +03:00
}
}
2020-10-08 22:11:21 +03:00
verticalAlignment: Text . AlignVCenter
2022-04-16 03:13:01 +03:00
wrapMode: Text . Wrap
}
Item {
Layout.fillHeight: true
2020-10-08 22:11:21 +03:00
}
RowLayout {
Button {
Layout.alignment: Qt . AlignLeft
text: flow . sender ? qsTr ( "Cancel" ) : qsTr ( "Deny" )
2022-04-16 03:13:01 +03:00
2020-10-08 22:11:21 +03:00
onClicked: {
flow . cancel ( ) ;
dialog . close ( ) ;
}
}
Item {
Layout.fillWidth: true
}
Button {
Layout.alignment: Qt . AlignRight
text: flow . sender ? qsTr ( "Start verification" ) : qsTr ( "Accept" )
2022-04-16 03:13:01 +03:00
2020-10-08 22:11:21 +03:00
onClicked: flow . next ( )
}
}
}
2020-10-05 23:12:10 +03:00
}