diff --git a/src/qml/Dialog/ConfirmEncryptionDialog.qml b/src/qml/Dialog/ConfirmEncryptionDialog.qml new file mode 100644 index 000000000..465e6ccaa --- /dev/null +++ b/src/qml/Dialog/ConfirmEncryptionDialog.qml @@ -0,0 +1,44 @@ +// SPDX-FileCopyrightText: 2022 Carl Schwan +// SPDX-FileCopyrightText: 2022 Tobias Fella +// 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(); + } + } + } +} diff --git a/src/qml/Panel/RoomDrawer.qml b/src/qml/Panel/RoomDrawer.qml index d2bb7bd0a..415d1e5ad 100644 --- a/src/qml/Panel/RoomDrawer.qml +++ b/src/qml/Panel/RoomDrawer.qml @@ -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 {} + } } diff --git a/src/res.qrc b/src/res.qrc index 596e6618a..42ffa9737 100644 --- a/src/res.qrc +++ b/src/res.qrc @@ -90,5 +90,6 @@ qml/Settings/SonnetConfigPage.qml qml/Settings/NetworkProxyPage.qml qml/Page/DevtoolsPage.qml + qml/Dialog/ConfirmEncryptionDialog.qml