@@ -198,6 +198,7 @@ Item {
198 property var selectedItem
198 property var selectedItem
199 property int startX
199 property int startX
200 property int startY
200 property int startY
201+ property var quickListPopover
202 LauncherDelegate {
203 LauncherDelegate {
203 id: fakeDragItem
204 id: fakeDragItem
@@ -237,11 +238,17 @@ Item {
238 onPressAndHold: {
239 onPressAndHold: {
239 var realItemSize = launcherListView.itemSize + launcherListView.spacing
240 var realItemSize = launcherListView.itemSize + launcherListView.spacing
240 var realContentY = launcherListView.contentY + launcherListView.topMargin
242 var realContentY = launcherListView.contentY + launcherListView.topMargin
241 draggedIndex = Math.floor((mouseY + realContentY) / realItemSize);
243 draggedIndex = Math.floor((mouseY + realContentY) / realItemSize);
243 launcherListView.interactive = false
245 launcherListView.interactive = false
247+ var quickListModel = launcherListView.model.get(draggedIndex).quickList
248+ var quickListAppId = launcherListView.model.get(draggedIndex).appId
249+ quickListPopover = PopupUtils.open(popoverComponent, selectedItem,
250+ {model: quickListModel, appId: quickListAppId})
245 var yOffset = draggedIndex > 0 ? (mouseY + realContentY) % (draggedIndex * realItemSize) : mouseY + realContentY
252 var yOffset = draggedIndex > 0 ? (mouseY + realContentY) % (draggedIndex * realItemSize) : mouseY + realContentY
247 fakeDragItem.iconName = launcherListView.model.get(draggedIndex).icon
254 fakeDragItem.iconName = launcherListView.model.get(draggedIndex).icon
@@ -263,6 +270,7 @@ Item {
263 if (distance > launcherListView.itemSize) {
270 if (distance > launcherListView.itemSize) {
264 print("starting drag")
271 print("starting drag")
265 selectedItem.dragging = true
272 selectedItem.dragging = true
273+ PopupUtils.close(quickListPopover)
268 if (!selectedItem.dragging) {
276 if (!selectedItem.dragging) {
@@ -331,18 +339,23 @@ Item {
331 Popover {
339 Popover {
332 id: popover
340 id: popover
333 width: units.gu(20)
341 width: units.gu(20)
343+ property string appId
336 width: parent.width
346 width: parent.width
337 height: childrenRect.height
347 height: childrenRect.height
338 Repeater {
348 Repeater {
339− model: 2
349+ model: popover.model
340 ListItems.Standard {
350 ListItems.Standard {
341− text: "foo bar baz"
351+ text: model.label
353+ LauncherModel.quickListActionInvoked(appId, index)
354+ PopupUtils.close(popover)