@@ -28,6 +28,7 @@ Item {
28 property alias unityMenuModel: rowRepeater.model
28 property alias unityMenuModel: rowRepeater.model
29 property bool enableKeyFilter: false
29 property bool enableKeyFilter: false
30 property real overflowWidth: width
30 property real overflowWidth: width
31+ property bool windowMoving: false
32 // read from outside
33 // read from outside
33 readonly property bool valid: rowRepeater.count > 0
34 readonly property bool valid: rowRepeater.count > 0
@@ -44,6 +45,12 @@ Item {
44 d.dismissAll();
45 d.dismissAll();
48+ onWindowMovingChanged: {
47 GlobalShortcut {
54 GlobalShortcut {
48 shortcut: Qt.Key_Alt|Qt.AltModifier
55 shortcut: Qt.Key_Alt|Qt.AltModifier
49 active: enableKeyFilter
56 active: enableKeyFilter
@@ -217,9 +224,23 @@ Item {
219 MouseArea {
226 MouseArea {
220 anchors.fill: row
228 anchors.fill: row
221 hoverEnabled: d.currentItem
229 hoverEnabled: d.currentItem
232+ id: delayedPopupTimer
235+ if (root.windowMoving) return;
236+ var prevItem = d.currentItem;
237+ mouseArea.updateCurrentItemFromPosition(Qt.point(mouseArea.mouseX, mouseArea.mouseY));
238+ if (prevItem && d.currentItem == prevItem) {
223 onEntered: {
244 onEntered: {
224 if (d.currentItem) {
245 if (d.currentItem) {
225 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY))
246 updateCurrentItemFromPosition(Qt.point(mouseX, mouseY))
@@ -229,13 +250,11 @@ Item {
229 if (d.currentItem) {
250 if (d.currentItem) {
230 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
251 updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
232− mouse.accepted = false;
234 onPressed: {
255 onPressed: {
235− var prevItem = d.currentItem;
256+ if (containsPress && !root.windowMoving) {
236− updateCurrentItemFromPosition(Qt.point(mouse.x, mouse.y))
257+ delayedPopupTimer.start();
237− if (prevItem && d.currentItem == prevItem) {
240 mouse.accepted = false;
259 mouse.accepted = false;