diff options
| -rw-r--r-- | examples/quick/controls/touch/content/ListPage.qml | 82 | ||||
| -rw-r--r-- | examples/quick/controls/touch/main.qml | 4 | ||||
| -rw-r--r-- | examples/quick/controls/touch/resources.qrc | 1 | ||||
| -rw-r--r-- | examples/quick/controls/touch/touch.pro | 1 | ||||
| -rw-r--r-- | src/controls/Styles/Base/ScrollViewStyle.qml | 13 |
5 files changed, 90 insertions, 11 deletions
diff --git a/examples/quick/controls/touch/content/ListPage.qml b/examples/quick/controls/touch/content/ListPage.qml new file mode 100644 index 000000000..1edd17d05 --- /dev/null +++ b/examples/quick/controls/touch/content/ListPage.qml @@ -0,0 +1,82 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of the Qt Quick Controls module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Digia Plc and its Subsidiary(-ies) nor the names +** of its contributors may be used to endorse or promote products derived +** from this software without specific prior written permission. +** +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + + + + + +import QtQuick 2.1 +import QtQuick.Controls 1.1 +import QtQuick.Controls.Styles 1.1 + +ScrollView { + width: parent.width + height: parent.height + + flickableItem.interactive: true + + ListView { + anchors.fill: parent + model: 100 + delegate: AndroidDelegate { + text: "Item #" + modelData + } + } + + style: ScrollViewStyle { + transientScrollBars: true + handle: Item { + implicitWidth: 14 + implicitHeight: 26 + Rectangle { + color: "#424246" + anchors.fill: parent + anchors.topMargin: 6 + anchors.leftMargin: 4 + anchors.rightMargin: 4 + anchors.bottomMargin: 6 + } + } + scrollBarBackground: Item { + implicitWidth: 14 + implicitHeight: 26 + } + } +} diff --git a/examples/quick/controls/touch/main.qml b/examples/quick/controls/touch/main.qml index 04509803c..a6de8910e 100644 --- a/examples/quick/controls/touch/main.qml +++ b/examples/quick/controls/touch/main.qml @@ -123,6 +123,10 @@ ApplicationWindow { title: "TextInput" page: "content/TextInputPage.qml" } + ListElement { + title: "List" + page: "content/ListPage.qml" + } } StackView { diff --git a/examples/quick/controls/touch/resources.qrc b/examples/quick/controls/touch/resources.qrc index 33da22ccb..e64a063f1 100644 --- a/examples/quick/controls/touch/resources.qrc +++ b/examples/quick/controls/touch/resources.qrc @@ -3,6 +3,7 @@ <file>main.qml</file> <file>content/AndroidDelegate.qml</file> <file>content/ButtonPage.qml</file> + <file>content/ListPage.qml</file> <file>content/ProgressBarPage.qml</file> <file>content/SliderPage.qml</file> <file>content/TabBarPage.qml</file> diff --git a/examples/quick/controls/touch/touch.pro b/examples/quick/controls/touch/touch.pro index 70d9f8e02..1e5d12f3c 100644 --- a/examples/quick/controls/touch/touch.pro +++ b/examples/quick/controls/touch/touch.pro @@ -8,6 +8,7 @@ OTHER_FILES += \ main.qml \ content/AndroidDelegate.qml \ content/ButtonPage.qml \ + content/ListPage.qml \ content/ProgressBarPage.qml \ content/SliderPage.qml \ content/TabBarPage.qml \ diff --git a/src/controls/Styles/Base/ScrollViewStyle.qml b/src/controls/Styles/Base/ScrollViewStyle.qml index e8dddedf3..2a0aa1377 100644 --- a/src/controls/Styles/Base/ScrollViewStyle.qml +++ b/src/controls/Styles/Base/ScrollViewStyle.qml @@ -128,6 +128,7 @@ Style { anchors.bottomMargin: styleData.horizontal ? -1 : -2 } onHoveredChanged: if (hovered) sticky = true + onVisibleChanged: if (!visible) sticky = false } /*! This component controls the appearance of the @@ -166,6 +167,7 @@ Style { Behavior on height { enabled: styleData.horizontal && transientScrollBars; NumberAnimation { duration: 100 } } } onHoveredChanged: if (hovered) sticky = true + onVisibleChanged: if (!visible) sticky = false } /*! This component controls the appearance of the @@ -272,17 +274,6 @@ Style { PauseAnimation { duration: 450 } NumberAnimation { properties: "opacity"; duration: 200 } PropertyAction { target: panel; property: "visible"; value: false } - PropertyAction { target: handleControl.item; property: "sticky"; value: false } - PropertyAction { target: bg.item; property: "sticky"; value: false } - } - } - - // once a sbar has been hovered, it sticks on the screen. however, if this - // sbar gets raised because the other sbar is hovered => clear the sticky bit - onRaisedChanged: { - if (raised) { - bg.item.sticky = false - handleControl.item.sticky = false } } |
