mirror of
https://invent.kde.org/marcoa/shift-shell.git
synced 2026-08-02 09:48:50 +00:00
halcyon: use the new menu popup
This commit is contained in:
parent
a2f6c51665
commit
a353e87e47
2 changed files with 39 additions and 28 deletions
|
|
@ -52,18 +52,17 @@ Item {
|
||||||
// close context menu if drag move
|
// close context menu if drag move
|
||||||
onXChanged: {
|
onXChanged: {
|
||||||
if (dialogLoader.item) {
|
if (dialogLoader.item) {
|
||||||
dialogLoader.item.close()
|
dialogLoader.active = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
onYChanged: {
|
onYChanged: {
|
||||||
if (dialogLoader.item) {
|
if (dialogLoader.item) {
|
||||||
dialogLoader.item.close()
|
dialogLoader.active = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function openContextMenu() {
|
function openContextMenu() {
|
||||||
dialogLoader.active = true;
|
dialogLoader.active = true;
|
||||||
dialogLoader.item.open();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function launch() {
|
function launch() {
|
||||||
|
|
@ -96,22 +95,23 @@ Item {
|
||||||
id: dialogLoader
|
id: dialogLoader
|
||||||
active: false
|
active: false
|
||||||
|
|
||||||
sourceComponent: PlasmaComponents.Menu {
|
sourceComponent: MobileShell.PopupMenu {
|
||||||
id: menu
|
id: popup
|
||||||
|
|
||||||
|
mappedGlobalCoordinates: delegate.mapToGlobal(delegate.x, delegate.y)
|
||||||
|
relatedTo: delegate
|
||||||
|
|
||||||
title: label.text
|
title: label.text
|
||||||
closePolicy: PlasmaComponents.Menu.CloseOnReleaseOutside | PlasmaComponents.Menu.CloseOnEscape
|
menuActions: delegate.menuActions
|
||||||
|
|
||||||
Repeater {
|
onVisibleChanged: {
|
||||||
model: menuActions
|
if (!popup.visible) {
|
||||||
delegate: PlasmaComponents.MenuItem {
|
dialogLoader.active = false;
|
||||||
icon.name: modelData.iconName
|
}
|
||||||
text: modelData.text
|
|
||||||
onClicked: modelData.triggered()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onClosed: dialogLoader.active = false
|
onLoaded: item.showOverlay()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MouseArea {
|
MouseArea {
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,6 @@ MouseArea {
|
||||||
|
|
||||||
function openContextMenu() {
|
function openContextMenu() {
|
||||||
dialogLoader.active = true;
|
dialogLoader.active = true;
|
||||||
dialogLoader.item.open();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cursorShape: Qt.PointingHandCursor
|
cursorShape: Qt.PointingHandCursor
|
||||||
|
|
@ -55,19 +54,29 @@ MouseArea {
|
||||||
id: dialogLoader
|
id: dialogLoader
|
||||||
active: false
|
active: false
|
||||||
|
|
||||||
sourceComponent: PlasmaComponents.Menu {
|
sourceComponent: MobileShell.PopupMenu {
|
||||||
title: label.text
|
id: popup
|
||||||
closePolicy: PlasmaComponents.Menu.CloseOnReleaseOutside | PlasmaComponents.Menu.CloseOnEscape
|
|
||||||
|
|
||||||
PlasmaComponents.MenuItem {
|
mappedGlobalCoordinates: icon.mapToGlobal(icon.x, icon.y)
|
||||||
icon.name: "emblem-favorite"
|
relatedTo: icon
|
||||||
|
|
||||||
|
title: label.text
|
||||||
|
menuActions: [
|
||||||
|
Kirigami.Action {
|
||||||
|
iconName: "emblem-favorite"
|
||||||
text: i18n("Add to favourites")
|
text: i18n("Add to favourites")
|
||||||
onClicked: {
|
onTriggered: Halcyon.PinnedModel.addApp(application.storageId, 0);
|
||||||
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
|
||||||
|
|
@ -124,6 +133,8 @@ MouseArea {
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
|
id: columnLayout
|
||||||
|
|
||||||
anchors {
|
anchors {
|
||||||
fill: parent
|
fill: parent
|
||||||
leftMargin: margins
|
leftMargin: margins
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue