on xenial help sign in
use properties instead of common calculations
commitef91685e0784c6e273a629ed0aca90176119acd2 authorMichael Zanetti <michael.zanetti@canonical.com> dateFri 16 Aug 2013, 17:55 (13 years ago) parent629e0d0
1 file changed+10−15
Launcher/LauncherPanel.qml+10−15
Launcher/LauncherPanel.qml+10−15
@@ -113,6 +113,8 @@ Item {
113113 property int itemHeight: width * 7.5 / 8
114114 property int clickFlickSpeed: units.gu(60)
115115 property int draggedIndex: dndArea.draggedIndex
116+ property real realContentY: contentY - originY + topMargin
117+ property int realItemHeight: itemHeight + spacing
116118
117119 displaced: Transition {
118120 NumberAnimation { properties: "x,y"; duration: UbuntuAnimation.FastDuration; easing: UbuntuAnimation.StandardEasing }
@@ -231,16 +233,13 @@ Item {
231233 property int startY
232234
233235 onPressed: {
234− var realContentY = launcherListView.contentY + launcherListView.topMargin
235− selectedItem = launcherListView.itemAt(mouseX, mouseY + realContentY)
236+ selectedItem = launcherListView.itemAt(mouseX, mouseY + launcherListView.realContentY)
236237 selectedItem.highlighted = true
237238 }
238239
239240 onClicked: {
240− var realItemHeight = launcherListView.itemHeight + launcherListView.spacing
241− var realContentY = launcherListView.contentY + launcherListView.topMargin
242− var index = Math.floor((mouseY + realContentY) / realItemHeight);
243− var clickedItem = launcherListView.itemAt(mouseX, mouseY + realContentY)
241+ var index = Math.floor((mouseY + launcherListView.realContentY) / launcherListView.realItemHeight);
242+ var clickedItem = launcherListView.itemAt(mouseX, mouseY + launcherListView.realContentY)
244243
245244 // First/last item do the scrolling at more than 12 degrees
246245 if (index == 0 || index == launcherListView.count -1) {
@@ -286,13 +285,11 @@ Item {
286285 }
287286
288287 onPressAndHold: {
289− var realItemHeight = launcherListView.itemHeight + launcherListView.spacing
290− var realContentY = launcherListView.contentY + launcherListView.topMargin
291− draggedIndex = Math.floor((mouseY + realContentY) / realItemHeight);
288+ draggedIndex = Math.floor((mouseY + launcherListView.realContentY) / launcherListView.realItemHeight);
292289
293290 launcherListView.interactive = false
294291
295− var yOffset = draggedIndex > 0 ? (mouseY + realContentY) % (draggedIndex * realItemHeight) : mouseY + realContentY
292+ var yOffset = draggedIndex > 0 ? (mouseY + launcherListView.realContentY) % (draggedIndex * launcherListView.realItemHeight) : mouseY + launcherListView.realContentY
296293
297294 fakeDragItem.iconName = launcherListView.model.get(draggedIndex).icon
298295 fakeDragItem.x = 0
@@ -319,24 +316,22 @@ Item {
319316 return
320317 }
321318
322− var realContentY = launcherListView.contentY + launcherListView.topMargin
323− var realItemHeight = launcherListView.itemHeight + launcherListView.spacing
324319 var itemCenterY = fakeDragItem.y + fakeDragItem.height / 2
325320
326321 // Move it down by the the missing size to compensate index calculation with only expanded items
327322 itemCenterY += (launcherListView.itemHeight - selectedItem.height) / 2
328323
329− if (mouseY > launcherListView.height - launcherListView.topMargin - launcherListView.bottomMargin - realItemHeight) {
324+ if (mouseY > launcherListView.height - launcherListView.topMargin - launcherListView.bottomMargin - launcherListView.realItemHeight) {
330325 progressiveScrollingTimer.downwards = false
331326 progressiveScrollingTimer.start()
332− } else if (mouseY < realItemHeight) {
327+ } else if (mouseY < launcherListView.realItemHeight) {
333328 progressiveScrollingTimer.downwards = true
334329 progressiveScrollingTimer.start()
335330 } else {
336331 progressiveScrollingTimer.stop()
337332 }
338333
339− var newIndex = (itemCenterY + realContentY) / realItemHeight
334+ var newIndex = (itemCenterY + launcherListView.realContentY) / launcherListView.realItemHeight
340335
341336 if (newIndex > draggedIndex + 1) {
342337 newIndex = draggedIndex + 1