diff options
author | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2019-03-01 14:26:22 +0100 |
---|---|---|
committer | Richard Moe Gustavsen <richard.gustavsen@qt.io> | 2019-03-04 13:06:46 +0000 |
commit | f29584ce40a27047a40d2a1d17bc132f65976c50 (patch) | |
tree | 373f3fb65f039b7e94218feb93eeda31c12f9113 | |
parent | 247dad297cb7f8d5af42434c67d24ffcc7bae017 (diff) |
ScrollBar: set a default minimumSize for all styles
If you don't specify a minimumSize, the scrollbar handles will be
"invisible" when the size of the content view is much larger than
the viewport. Since having hidden handles is pointless, set
a default minimum size to be the same as the height of the handle.
Change-Id: Ia486a616308b5edfd6aa6a29f34a6fc9030c276b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
-rw-r--r-- | src/imports/controls/ScrollBar.qml | 1 | ||||
-rw-r--r-- | src/imports/controls/fusion/ScrollBar.qml | 1 | ||||
-rw-r--r-- | src/imports/controls/imagine/ScrollBar.qml | 1 | ||||
-rw-r--r-- | src/imports/controls/material/ScrollBar.qml | 1 | ||||
-rw-r--r-- | src/imports/controls/universal/ScrollBar.qml | 1 | ||||
-rw-r--r-- | tests/auto/controls/data/tst_scrollbar.qml | 5 |
6 files changed, 9 insertions, 1 deletions
diff --git a/src/imports/controls/ScrollBar.qml b/src/imports/controls/ScrollBar.qml index 1cff0afc..0948fb1d 100644 --- a/src/imports/controls/ScrollBar.qml +++ b/src/imports/controls/ScrollBar.qml @@ -49,6 +49,7 @@ T.ScrollBar { padding: 2 visible: control.policy !== T.ScrollBar.AlwaysOff + minimumSize: orientation == Qt.Horizontal ? height / width : width / height contentItem: Rectangle { implicitWidth: control.interactive ? 6 : 2 diff --git a/src/imports/controls/fusion/ScrollBar.qml b/src/imports/controls/fusion/ScrollBar.qml index e4fb7949..93b58f0e 100644 --- a/src/imports/controls/fusion/ScrollBar.qml +++ b/src/imports/controls/fusion/ScrollBar.qml @@ -51,6 +51,7 @@ T.ScrollBar { padding: 2 visible: control.policy !== T.ScrollBar.AlwaysOff + minimumSize: orientation == Qt.Horizontal ? height / width : width / height contentItem: Rectangle { implicitWidth: control.interactive ? 6 : 2 diff --git a/src/imports/controls/imagine/ScrollBar.qml b/src/imports/controls/imagine/ScrollBar.qml index 787ea663..1b21becb 100644 --- a/src/imports/controls/imagine/ScrollBar.qml +++ b/src/imports/controls/imagine/ScrollBar.qml @@ -48,6 +48,7 @@ T.ScrollBar { implicitContentHeight + topPadding + bottomPadding) visible: control.policy !== T.ScrollBar.AlwaysOff + minimumSize: orientation == Qt.Horizontal ? height / width : width / height topPadding: background ? background.topPadding : 0 leftPadding: background ? background.leftPadding : 0 diff --git a/src/imports/controls/material/ScrollBar.qml b/src/imports/controls/material/ScrollBar.qml index a376742d..8f2cc99d 100644 --- a/src/imports/controls/material/ScrollBar.qml +++ b/src/imports/controls/material/ScrollBar.qml @@ -48,6 +48,7 @@ T.ScrollBar { padding: control.interactive ? 1 : 2 visible: control.policy !== T.ScrollBar.AlwaysOff + minimumSize: orientation == Qt.Horizontal ? height / width : width / height contentItem: Rectangle { implicitWidth: control.interactive ? 13 : 4 diff --git a/src/imports/controls/universal/ScrollBar.qml b/src/imports/controls/universal/ScrollBar.qml index d6a525f7..1e049533 100644 --- a/src/imports/controls/universal/ScrollBar.qml +++ b/src/imports/controls/universal/ScrollBar.qml @@ -47,6 +47,7 @@ T.ScrollBar { implicitContentHeight + topPadding + bottomPadding) visible: control.policy !== T.ScrollBar.AlwaysOff + minimumSize: orientation == Qt.Horizontal ? height / width : width / height // TODO: arrows diff --git a/tests/auto/controls/data/tst_scrollbar.qml b/tests/auto/controls/data/tst_scrollbar.qml index 0051b785..9d21fa8b 100644 --- a/tests/auto/controls/data/tst_scrollbar.qml +++ b/tests/auto/controls/data/tst_scrollbar.qml @@ -67,7 +67,10 @@ TestCase { Component { id: scrollBar - ScrollBar { padding: 0 } + ScrollBar { + padding: 0 + minimumSize: 0 + } } Component { |