Move the sign out button outside the editor, and close the dialog

This commit is contained in:
Joshua Goins
2023-08-19 17:20:33 -04:00
parent f7c7643c1c
commit 7f5cfbf21c
3 changed files with 22 additions and 24 deletions

View File

@@ -51,6 +51,8 @@ QQC2.Menu {
Component {
id: confirmLogoutDialogComponent
Dialog.ConfirmLogout {}
Dialog.ConfirmLogout {
connection: Controller.activeConnection
}
}
}

View File

@@ -249,28 +249,6 @@ Kirigami.ScrollablePage {
}*/
}
}
MobileForm.FormHeader {
Layout.fillWidth: true
title: i18n("Sign out")
}
MobileForm.FormCard {
Layout.fillWidth: true
contentItem: ColumnLayout {
spacing: 0
MobileForm.FormButtonDelegate {
Layout.fillWidth: true
text: i18n("Sign out")
onClicked: {
Controller.logout(root.connection, true);
root.closeDialog();
if (Controller.accountCount === 1) {
pageStack.layers.pop();
}
}
}
}
}
}
Component {
id: openFileDialog

View File

@@ -4,6 +4,7 @@
import QtQuick 2.15
import QtQuick.Controls 2.15 as QQC2
import QtQuick.Layouts 1.15
import QtQuick.Window 2.15
import Qt.labs.platform 1.1
import org.kde.kirigami 2.19 as Kirigami
@@ -11,8 +12,11 @@ import org.kde.kirigamiaddons.labs.mobileform 0.1 as MobileForm
import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents
import org.kde.neochat 1.0
import 'Dialog' as Dialog
Kirigami.ScrollablePage {
id: page
title: i18n("Accounts")
topPadding: 0
leftPadding: 0
@@ -32,7 +36,7 @@ Kirigami.ScrollablePage {
model: AccountRegistry
delegate: MobileForm.AbstractFormDelegate {
Layout.fillWidth: true
onClicked: pageSettingStack.pushDialogLayer("qrc:/AccountEditorPage.qml", {
onClicked: pageStack.layers.push("qrc:/AccountEditorPage.qml", {
connection: model.connection
}, {
title: i18n("Account editor")
@@ -71,6 +75,20 @@ Kirigami.ScrollablePage {
}
}
QQC2.ToolButton {
text: i18n("Logout")
icon.name: "im-kick-user"
onClicked: confirmLogoutDialogComponent.createObject(QQC2.ApplicationWindow.overlay).open()
}
Component {
id: confirmLogoutDialogComponent
Dialog.ConfirmLogout {
connection: model.connection
onAccepted: page.Window.window.close()
}
}
MobileForm.FormArrow {
Layout.alignment: Qt.AlignRight | Qt.AlignVCenter
direction: MobileForm.FormArrow.Right