summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@digia.com>2013-05-27 15:07:33 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-27 16:54:57 +0200
commita84444f3809e9372c61ace8f5b973ad59fcaa9af (patch)
treeb44f4c3664a0f2ac9bd0974d0bd313215587c663 /src
parentdbf42fc0028acc0170bb0d0dad966c74b86a456e (diff)
downloadqtquickcontrols-a84444f3809e9372c61ace8f5b973ad59fcaa9af.tar.gz
ScrollView: take Flickable::originX and originY into account
Change-Id: I16eb186a2b1f706bbc961d34a614bf2f9a9a0646 Reviewed-by: Jens Bache-Wiig <jens.bache-wiig@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/controls/ScrollView.qml8
-rw-r--r--src/private/ScrollViewHelper.qml12
2 files changed, 14 insertions, 6 deletions
diff --git a/src/controls/ScrollView.qml b/src/controls/ScrollView.qml
index 31f69b8f..3262648e 100644
--- a/src/controls/ScrollView.qml
+++ b/src/controls/ScrollView.qml
@@ -236,11 +236,15 @@ FocusScope {
property bool horizontalRecursionGuard: false
property bool verticalRecursionGuard: false
- horizontalMaximumValue: flickableItem ? flickableItem.contentWidth - viewport.width : 0
- verticalMaximumValue: flickableItem ? flickableItem.contentHeight - viewport.height + __viewTopMargin : 0
+ horizontalMinimumValue: flickableItem ? flickableItem.originX : 0
+ horizontalMaximumValue: flickableItem ? flickableItem.originX + flickableItem.contentWidth - viewport.width : 0
+
+ verticalMinimumValue: flickableItem ? flickableItem.originY : 0
+ verticalMaximumValue: flickableItem ? flickableItem.originY + flickableItem.contentHeight - viewport.height + __viewTopMargin : 0
Connections {
target: flickableItem
+
onContentYChanged: {
wheelArea.verticalRecursionGuard = true
wheelArea.verticalValue = flickableItem.contentY
diff --git a/src/private/ScrollViewHelper.qml b/src/private/ScrollViewHelper.qml
index cf5c514f..9e8e78d6 100644
--- a/src/private/ScrollViewHelper.qml
+++ b/src/private/ScrollViewHelper.qml
@@ -57,6 +57,8 @@ Item {
property int availableWidth
property int contentHeight
property int contentWidth
+ property real originX
+ property real originY
property int leftMargin: outerFrame ? root.__style.padding.left : 0
property int rightMargin: outerFrame ? root.__style.padding.right : 0
@@ -74,6 +76,8 @@ Item {
wheelarea.availableHeight = viewport.height
wheelarea.contentWidth = flickableItem !== null ? flickableItem.contentWidth : 0
wheelarea.contentHeight = flickableItem !== null ? flickableItem.contentHeight : 0
+ wheelarea.originX = flickableItem !== null ? flickableItem.originX : 0
+ wheelarea.originY = flickableItem !== null ? flickableItem.originY : 0
recursionGuard = false
}
}
@@ -123,8 +127,8 @@ Item {
visible: contentWidth > availableWidth
height: visible ? implicitHeight : 0
z: 1
- maximumValue: contentWidth > availableWidth ? contentWidth - availableWidth : 0
- minimumValue: 0
+ maximumValue: contentWidth > availableWidth ? originX + contentWidth - availableWidth : 0
+ minimumValue: originX
anchors.bottom: parent.bottom
anchors.left: parent.left
anchors.right: cornerFill.left
@@ -158,8 +162,8 @@ Item {
width: visible ? implicitWidth : 0
z: 1
anchors.bottom: cornerFill.top
- maximumValue: contentHeight > availableHeight ? contentHeight - availableHeight + __viewTopMargin : 0
- minimumValue: 0
+ maximumValue: contentHeight > availableHeight ? originY + contentHeight - availableHeight + __viewTopMargin : 0
+ minimumValue: originY
anchors.right: parent.right
anchors.top: parent.top
anchors.topMargin: __scrollBarTopMargin + topMargin