diff --git a/src/qml/Page/RoomList/ContextMenu.qml b/src/qml/Page/RoomList/ContextMenu.qml index be8b07ba3..0092e0091 100644 --- a/src/qml/Page/RoomList/ContextMenu.qml +++ b/src/qml/Page/RoomList/ContextMenu.qml @@ -2,14 +2,15 @@ // SPDX-FileCopyrightText: 2020 Carl Schwan // SPDX-License-Identifier: GPL-3.0-only -import QtQuick 2.15 -import QtQuick.Controls 2.15 as QQC2 -import QtQuick.Layouts 1.15 +import QtQuick +import QtQuick.Controls as QQC2 +import QtQuick.Layouts -import org.kde.kirigami 2.19 as Kirigami -import org.kde.kirigamiaddons.labs.components 1.0 as KirigamiComponents +import org.kde.kirigami 2 as Kirigami +import org.kde.kirigamiaddons.components 1 as KirigamiComponents +import org.kde.kirigamiaddons.delegates 1 as Delegates -import org.kde.neochat 1.0 +import org.kde.neochat /** * Context menu when clicking on a room in the room list @@ -142,20 +143,23 @@ Loader { Kirigami.OverlayDrawer { id: drawer - height: popupContent.implicitHeight + + parent: applicationWindow().overlay edge: Qt.BottomEdge - padding: 0 + + height: popupContent.implicitHeight + leftPadding: 0 rightPadding: 0 bottomPadding: 0 topPadding: 0 - parent: applicationWindow().overlay - ColumnLayout { id: popupContent + width: parent.width spacing: 0 + RowLayout { id: headerLayout Layout.fillWidth: true @@ -192,29 +196,31 @@ Loader { } } - Kirigami.BasicListItem { + Delegates.RoundedItemDelegate { text: room.isLowPriority ? i18n("Reprioritize") : i18n("Deprioritize") icon.name: room.isLowPriority ? "arrow-up" : "arrow-down" onClicked: room.isLowPriority ? room.removeTag("m.lowpriority") : room.addTag("m.lowpriority", 1.0) - implicitHeight: visible ? Kirigami.Units.gridUnit * 3 : 0 + Layout.fillWidth: true } - Kirigami.BasicListItem { + Delegates.RoundedItemDelegate { text: i18n("Mark as Read") icon.name: "checkmark" onClicked: room.markAllMessagesAsRead() - implicitHeight: visible ? Kirigami.Units.gridUnit * 3 : 0 + Layout.fillWidth: true } - Kirigami.BasicListItem { + + Delegates.RoundedItemDelegate { text: i18n("Leave Room") icon.name: "go-previous" onClicked: { RoomManager.leaveRoom(room) drawer.close() } - implicitHeight: visible ? Kirigami.Units.gridUnit * 3 : 0 + Layout.fillWidth: true } } + onClosed: root.closed() } } diff --git a/src/qml/Page/RoomList/ExploreComponent.qml b/src/qml/Page/RoomList/ExploreComponent.qml index 415f5c13b..e4d3dc96b 100644 --- a/src/qml/Page/RoomList/ExploreComponent.qml +++ b/src/qml/Page/RoomList/ExploreComponent.qml @@ -1,13 +1,14 @@ // SPDX-FileCopyrightText: 2023 James Graham // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL -import QtQuick 2.15 -import QtQuick.Controls 2.15 as QQC2 -import QtQuick.Layouts 1.15 +import QtQuick +import QtQuick.Controls as QQC2 +import QtQuick.Layouts -import org.kde.kirigami 2.15 as Kirigami +import org.kde.kirigami 2 as Kirigami +import org.kde.kirigamiaddons.delegates 1 as Delegates -import org.kde.neochat 1.0 +import org.kde.neochat RowLayout { id: root @@ -114,14 +115,15 @@ RowLayout { Kirigami.OverlayDrawer { id: menuRoot + edge: Qt.BottomEdge + parent: applicationWindow().overlay + leftPadding: 0 rightPadding: 0 bottomPadding: 0 topPadding: 0 - parent: applicationWindow().overlay - ColumnLayout { width: parent.width spacing: 0 @@ -129,25 +131,29 @@ RowLayout { Kirigami.ListSectionHeader { label: i18n("Create rooms and chats") } - Kirigami.BasicListItem { - implicitHeight: Kirigami.Units.gridUnit * 3 + + Delegates.RoundedItemDelegate { action: exploreAction onClicked: menuRoot.close() + Layout.fillWidth: true } - Kirigami.BasicListItem { - implicitHeight: Kirigami.Units.gridUnit * 3 + + Delegates.RoundedItemDelegate { action: chatAction onClicked: menuRoot.close() + Layout.fillWidth: true } - Kirigami.BasicListItem { - implicitHeight: Kirigami.Units.gridUnit * 3 + + Delegates.RoundedItemDelegate { action: roomAction onClicked: menuRoot.close() + Layout.fillWidth: true } - Kirigami.BasicListItem { - implicitHeight: Kirigami.Units.gridUnit * 3 + + Delegates.RoundedItemDelegate { action: roomAction onClicked: menuRoot.close() + Layout.fillWidth: true } } } diff --git a/src/qml/Page/RoomList/RoomDelegate.qml b/src/qml/Page/RoomList/RoomDelegate.qml index fed781f5c..3ca0b7e14 100644 --- a/src/qml/Page/RoomList/RoomDelegate.qml +++ b/src/qml/Page/RoomList/RoomDelegate.qml @@ -137,6 +137,9 @@ Delegates.RoundedItemDelegate { function createRoomListContextMenu() { const component = Qt.createComponent("qrc:/RoomList/ContextMenu.qml") + if (component.status === Component.Error) { + console.error(component.errorString()); + } const menu = component.createObject(root, { room: root.currentRoom, connection: root.connection