Revert "halcyon: use the new menu popup"

This reverts commit a353e87e47.

This causes the homescreen delegates to no longer be draggable, and breaks the ability to reorder them
This commit is contained in:
Yari Polla 2023-03-08 12:53:01 +01:00 committed by Devin Lin
parent ddbd2f031f
commit 16c66c161d
2 changed files with 28 additions and 39 deletions

View file

@ -53,17 +53,18 @@ Item {
// close context menu if drag move // close context menu if drag move
onXChanged: { onXChanged: {
if (dialogLoader.item) { if (dialogLoader.item) {
dialogLoader.active = false; dialogLoader.item.close()
} }
} }
onYChanged: { onYChanged: {
if (dialogLoader.item) { if (dialogLoader.item) {
dialogLoader.active = false; dialogLoader.item.close()
} }
} }
function openContextMenu() { function openContextMenu() {
dialogLoader.active = true; dialogLoader.active = true;
dialogLoader.item.open();
} }
function launch() { function launch() {
@ -91,28 +92,27 @@ Item {
application.setMinimizedDelegate(delegate); application.setMinimizedDelegate(delegate);
MobileShell.AppLaunch.launchOrActivateApp(application.storageId); MobileShell.AppLaunch.launchOrActivateApp(application.storageId);
} }
Loader { Loader {
id: dialogLoader id: dialogLoader
active: false active: false
sourceComponent: MobileShell.PopupMenu { sourceComponent: PlasmaComponents.Menu {
id: popup id: menu
mappedGlobalCoordinates: delegate.mapToGlobal(delegate.x, delegate.y)
relatedTo: delegate
title: label.text title: label.text
menuActions: delegate.menuActions closePolicy: PlasmaComponents.Menu.CloseOnReleaseOutside | PlasmaComponents.Menu.CloseOnEscape
onVisibleChanged: { Repeater {
if (!popup.visible) { model: menuActions
dialogLoader.active = false; delegate: PlasmaComponents.MenuItem {
icon.name: modelData.iconName
text: modelData.text
onClicked: modelData.triggered()
} }
} }
onClosed: dialogLoader.active = false
} }
onLoaded: item.showOverlay()
} }
MouseArea { MouseArea {

View file

@ -36,6 +36,7 @@ MouseArea {
function openContextMenu() { function openContextMenu() {
dialogLoader.active = true; dialogLoader.active = true;
dialogLoader.item.open();
} }
cursorShape: Qt.PointingHandCursor cursorShape: Qt.PointingHandCursor
@ -50,34 +51,24 @@ MouseArea {
delegate.launch(delegate.x + (PlasmaCore.Units.smallSpacing * 2), delegate.y + (PlasmaCore.Units.smallSpacing * 2), icon.source, application.name, application.storageId); delegate.launch(delegate.x + (PlasmaCore.Units.smallSpacing * 2), delegate.y + (PlasmaCore.Units.smallSpacing * 2), icon.source, application.name, application.storageId);
} }
} }
Loader { Loader {
id: dialogLoader id: dialogLoader
active: false active: false
sourceComponent: MobileShell.PopupMenu { sourceComponent: PlasmaComponents.Menu {
id: popup
mappedGlobalCoordinates: icon.mapToGlobal(icon.x, icon.y)
relatedTo: icon
title: label.text title: label.text
menuActions: [ closePolicy: PlasmaComponents.Menu.CloseOnReleaseOutside | PlasmaComponents.Menu.CloseOnEscape
Kirigami.Action {
iconName: "emblem-favorite" PlasmaComponents.MenuItem {
text: i18n("Add to favourites") icon.name: "emblem-favorite"
onTriggered: Halcyon.PinnedModel.addApp(application.storageId, 0); text: i18n("Add to favourites")
} onClicked: {
] Halcyon.PinnedModel.addApp(application.storageId, 0);
onVisibleChanged: {
if (!popup.visible) {
dialogLoader.active = false;
} }
} }
onClosed: dialogLoader.active = false
} }
onLoaded: item.showOverlay()
} }
// grow/shrink animation // grow/shrink animation
@ -134,8 +125,6 @@ MouseArea {
} }
ColumnLayout { ColumnLayout {
id: columnLayout
anchors { anchors {
fill: parent fill: parent
leftMargin: margins leftMargin: margins