mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-01-23 06:38:07 +00:00
45 lines
1.3 KiB
QML
45 lines
1.3 KiB
QML
import QtQuick 2.7
|
|
import QtQuick.Controls 2.2
|
|
|
|
import Common.Styles 1.0
|
|
|
|
// =============================================================================
|
|
// A simple custom vertical scrollbar.
|
|
// =============================================================================
|
|
|
|
ScrollBar {
|
|
id: scrollBar
|
|
property int contentSizeTarget
|
|
property int sizeTarget
|
|
|
|
onContentSizeTargetChanged: Qt.callLater( scrollBar.updatePolicy)
|
|
onSizeTargetChanged: Qt.callLater( scrollBar.updatePolicy)
|
|
|
|
policy: ScrollBar.AlwaysOff
|
|
function updatePolicy(){
|
|
policy = contentSizeTarget > sizeTarget ? ScrollBar.AlwaysOn : ScrollBar.AlwaysOff
|
|
}
|
|
function delayPolicy(){
|
|
Qt.callLater( scrollBar.updatePolicy)
|
|
}
|
|
Component.onCompleted: updatePolicy()
|
|
|
|
|
|
background: Rectangle {
|
|
anchors.fill: parent
|
|
color: ForceScrollBarStyle.background.colorModel.color
|
|
radius: ForceScrollBarStyle.background.radius
|
|
}
|
|
contentItem: Rectangle {
|
|
color: scrollBar.pressed
|
|
? ForceScrollBarStyle.color.pressed.color
|
|
: (scrollBar.hovered
|
|
? ForceScrollBarStyle.color.hovered.color
|
|
: ForceScrollBarStyle.color.normal.color
|
|
)
|
|
implicitHeight: ForceScrollBarStyle.contentItem.implicitHeight
|
|
implicitWidth: ForceScrollBarStyle.contentItem.implicitWidth
|
|
radius: ForceScrollBarStyle.contentItem.radius
|
|
}
|
|
hoverEnabled: true
|
|
}
|