Merge pull request #743 from LorenDB/qmlLogout
QML the logout dialog
2 files changed, 35 insertions, 0 deletions
diff --git a/resources/qml/Root.qml b/resources/qml/Root.qml
index 4207f35b..29da45eb 100644
--- a/resources/qml/Root.qml
+++ b/resources/qml/Root.qml
@@ -111,6 +111,13 @@ Page {
}
+ Component {
+ id: logoutDialog
+
+ LogoutDialog {
+ }
+ }
+
Shortcut {
sequence: "Ctrl+K"
onActivated: {
@@ -136,6 +143,15 @@ Page {
}
Connections {
+ function onOpenLogoutDialog() {
+ var dialog = logoutDialog.createObject(timelineRoot);
+ dialog.open();
+ }
+
+ target: Nheko
+ }
+
+ Connections {
function onNewDeviceVerificationRequest(flow) {
var dialog = deviceVerificationDialog.createObject(timelineRoot, {
"flow": flow
diff --git a/resources/qml/dialogs/LogoutDialog.qml b/resources/qml/dialogs/LogoutDialog.qml
new file mode 100644
index 00000000..9e107097
--- /dev/null
+++ b/resources/qml/dialogs/LogoutDialog.qml
@@ -0,0 +1,19 @@
+// SPDX-FileCopyrightText: 2021 Nheko Contributors
+//
+// SPDX-License-Identifier: GPL-3.0-or-later
+
+import QtQuick 2.15
+import QtQuick.Controls 2.15
+import Qt.labs.platform 1.1
+import im.nheko 1.0
+
+MessageDialog {
+ id: logoutRoot
+
+ title: qsTr("Log out")
+ text: CallManager.isOnCall ? qsTr("A call is in progress. Log out?") : qsTr("Are you sure you want to log out?")
+ modality: Qt.WindowModal
+ flags: Qt.Tool | Qt.WindowStaysOnTopHint | Qt.WindowCloseButtonHint | Qt.WindowTitleHint
+ buttons: Dialog.Ok | Dialog.Cancel
+ onAccepted: Nheko.logout()
+}
|