Add "Leave room" button to sidebar

BUG: 484425
This commit is contained in:
Tobias Fella
2024-03-28 23:36:29 +01:00
parent 6ab61fd41f
commit 2608d879fa
3 changed files with 47 additions and 0 deletions

View File

@@ -288,6 +288,7 @@ qt_add_qml_module(neochat URI org.kde.neochat NO_PLUGIN
qml/JoinRoomDialog.qml
qml/ConfirmUrlDialog.qml
qml/AccountSwitchDialog.qml
qml/ConfirmLeaveDialog.qml
RESOURCES
qml/confetti.png
qml/glowdot.png

View File

@@ -0,0 +1,32 @@
// SPDX-FileCopyrightText: 2024 Tobias Fella <tobias.fella@kde.org>
// SPDX-License-Identifier: GPL-2.0-or-later
import QtQuick
import QtQuick.Controls as QQC2
import org.kde.kirigami as Kirigami
import org.kde.kirigamiaddons.formcard as FormCard
import org.kde.neochat
Kirigami.Dialog {
id: root
required property NeoChatRoom room
width: Kirigami.Units.gridUnit * 24
title: i18nc("@title:dialog", "Confirm Leaving Room")
contentItem: FormCard.FormTextDelegate {
text: root.room ? i18nc("Do you really want to leave <room name>?", "Do you really want to leave %1?", root.room.displayName) : ""
}
customFooterActions: [
Kirigami.Action {
text: i18nc("@action:button", "Leave Room")
icon.name: "arrow-left"
onTriggered: RoomManager.leaveRoom(root.room)
}
]
}

View File

@@ -115,6 +115,20 @@ QQC2.ScrollView {
Layout.fillWidth: true
}
Delegates.RoundedItemDelegate {
id: leaveButton
icon.name: "arrow-left"
text: i18nc("@action:button", "Leave this room")
Layout.fillWidth: true
onClicked: {
Qt.createComponent('org.kde.neochat', 'ConfirmLeaveDialog.qml').createObject(root.QQC2.ApplicationWindow.window, {
room: root.room
}).open();
}
}
Kirigami.ListSectionHeader {
label: i18n("Members")
activeFocusOnTab: false