Ask for confirmation before activating encryption in a room

This commit is contained in:
Tobias Fella
2022-11-17 23:24:30 +01:00
parent 74cf615e53
commit b282c335d4
3 changed files with 56 additions and 1 deletions

View File

@@ -0,0 +1,44 @@
// SPDX-FileCopyrightText: 2022 Carl Schwan <carl@carlschwan.eu>
// SPDX-FileCopyrightText: 2022 Tobias Fella <fella@posteo.de>
// SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick 2.15
import QtQuick.Controls 2.15 as QQC2
import QtQuick.Layouts 1.15
import org.kde.kirigami 2.15 as Kirigami
QQC2.Dialog {
id: confirmEncryptionDialog
property var room
ColumnLayout {
Kirigami.Heading {
text: i18n("Activate Encryption")
}
QQC2.Label {
text: i18n("It will not be possible to deactivate the encryption after it is enabled.")
}
}
x: Math.round((parent.width - width) / 2)
y: Math.round((parent.height - height) / 2)
modal: true
footer: QQC2.DialogButtonBox {
QQC2.Button {
text: i18n("Cancel")
QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.RejectRole
onClicked: confirmEncryptionDialog.close()
}
QQC2.Button {
text: i18n("Activate Encryption")
QQC2.DialogButtonBox.buttonRole: QQC2.DialogButtonBox.AcceptRole
onClicked: {
confirmEncryptionDialog.room.activateEncryption()
confirmEncryptionDialog.close();
}
}
}
}

View File

@@ -154,7 +154,11 @@ Kirigami.OverlayDrawer {
text: i18n("Enable encryption")
display: QQC2.AbstractButton.IconOnly
onClicked: roomDrawer.room.activateEncryption()
onClicked: {
let dialog = confirmEncryptionDialog.createObject(applicationWindow(), {room: roomDrawer.room});
roomDrawer.close();
dialog.open();
}
QQC2.ToolTip {
text: encryptButton.text
@@ -357,4 +361,10 @@ Kirigami.OverlayDrawer {
UserDetailDialog {}
}
Component {
id: confirmEncryptionDialog
ConfirmEncryptionDialog {}
}
}

View File

@@ -90,5 +90,6 @@
<file alias="SonnetConfigPage.qml">qml/Settings/SonnetConfigPage.qml</file>
<file alias="NetworkProxyPage.qml">qml/Settings/NetworkProxyPage.qml</file>
<file alias="DevtoolsPage.qml">qml/Page/DevtoolsPage.qml</file>
<file alias="ConfirmEncryptionDialog.qml">qml/Dialog/ConfirmEncryptionDialog.qml</file>
</qresource>
</RCC>