Display vertical scrollbar in Settings dialogs that scroll

This commit is contained in:
David Rowe 2020-01-22 20:55:50 +13:00
parent 15e9d08bff
commit 6c81f597af
2 changed files with 45 additions and 4 deletions

View file

@ -44,7 +44,6 @@ Rectangle {
return (root.parent !== null) && root.parent.objectName == "loader"; return (root.parent !== null) && root.parent.objectName == "loader";
} }
property bool isVR: AudioScriptingInterface.context === "VR" property bool isVR: AudioScriptingInterface.context === "VR"
property real rightMostInputLevelPos: root.width property real rightMostInputLevelPos: root.width
//placeholder for control sizes and paddings //placeholder for control sizes and paddings
@ -128,7 +127,8 @@ Rectangle {
anchors.top: flickView.top; anchors.top: flickView.top;
anchors.right: flickView.right; anchors.right: flickView.right;
anchors.bottom: flickView.bottom; anchors.bottom: flickView.bottom;
anchors.rightMargin: -verticalScrollWidth; //compensate flickView's right margin anchors.rightMargin: 2
background: Item { background: Item {
implicitWidth: verticalScrollWidth; implicitWidth: verticalScrollWidth;
Rectangle { Rectangle {

View file

@ -9,6 +9,7 @@
// //
import QtQuick 2.5 import QtQuick 2.5
import QtQuick.Controls 2.2
import "." import "."
import "./preferences" import "./preferences"
@ -33,7 +34,10 @@ Item {
property bool gotoPreviousAppFromScript: false property bool gotoPreviousAppFromScript: false
property var tablet; property var tablet;
readonly property real verticalScrollWidth: 10
readonly property real verticalScrollShaft: 8
function saveAll() { function saveAll() {
dialog.forceActiveFocus(); // Accept any text box edits in progress. dialog.forceActiveFocus(); // Accept any text box edits in progress.
@ -103,6 +107,43 @@ Item {
height: parent.height height: parent.height
contentWidth: parent.width contentWidth: parent.width
contentHeight: getSectionsHeight(); contentHeight: getSectionsHeight();
anchors.top: main.top
anchors.bottom: main.bottom
ScrollBar.vertical: ScrollBar {
policy: ScrollBar.AlwaysOn
parent: scrollView.parent
anchors.top: scrollView.top
anchors.right: scrollView.right
anchors.bottom: scrollView.bottom
anchors.rightMargin: 2
background: Item {
implicitWidth: verticalScrollWidth
Rectangle {
color: hifi.colors.darkGray30;
radius: 4
anchors {
fill: parent
}
}
}
contentItem: Item {
implicitWidth: verticalScrollShaft
Rectangle {
radius: verticalScrollShaft/2
color: hifi.colors.white30
anchors {
fill: parent
leftMargin: 1 // Finesse size and position.
topMargin: 1
bottomMargin: 1
}
}
}
}
Column { Column {
width: 480 width: 480
Component { Component {
@ -183,7 +224,7 @@ Item {
for (var i = 0; i < sections.length; i++) { for (var i = 0; i < sections.length; i++) {
totalHeight += sections[i].height + sections[i].getPreferencesHeight(); totalHeight += sections[i].height + sections[i].getPreferencesHeight();
} }
var bottomPadding = 170; var bottomPadding = 30;
return (totalHeight + bottomPadding); return (totalHeight + bottomPadding);
} }
} }