diff --git a/containments/desktop/package/contents/ui/FolderView.qml b/containments/desktop/package/contents/ui/FolderView.qml --- a/containments/desktop/package/contents/ui/FolderView.qml +++ b/containments/desktop/package/contents/ui/FolderView.qml @@ -1144,15 +1144,24 @@ _x = targetItem.labelArea.x - __style.padding.left; _y = pos.y - __style.padding.top; } else { - _x = targetItem.x + units.largeSpacing + units.smallSpacing - __style.padding.left; + _x = targetItem.x + Math.abs(Math.min(gridView.contentX, gridView.originX)); + _x += (targetItem.width/2 - targetItem.label.paintedWidth/2 - __style.padding.left); + _x += scrollArea.viewport.x; + + if (verticalScrollBarPolicy == Qt.ScrollBarAlwaysOn + && gridView.effectiveLayoutDirection == Qt.RightToLeft) { + _x -= __verticalScrollBar.parent.verticalScrollbarOffset; + } + _y = pos.y + units.smallSpacing - __style.padding.top; } return([ _x, _y ]); } function getWidth(addWidthVerticalScroller) { - return(targetItem.width - units.largeSpacing * 2 - (isPopup ? 0 : units.smallSpacing * 2) + __style.padding.left + __style.padding.right + - (addWidthVerticalScroller ? __verticalScrollBar.parent.verticalScrollbarOffset : 0)); + var _width = isPopup ? targetItem.width - units.largeSpacing * 2 : targetItem.label.paintedWidth; + return _width + __style.padding.left + __style.padding.right + + (addWidthVerticalScroller ? __verticalScrollBar.parent.verticalScrollbarOffset : 0); } function getHeight(addWidthHoriozontalScroller, init) { @@ -1192,6 +1201,10 @@ width = getWidth(); } } + + var xy = getXY(); + x = xy[0]; + y = xy[1]; } }