Added scrollbars for lists and text fields. Added saving to the path settings for configuration files and the current language. Various UI improvements
This commit is contained in:
@@ -5,22 +5,36 @@ import Utils 1.0
|
||||
|
||||
ScrollBar {
|
||||
id: control
|
||||
size: 0.3
|
||||
position: 0.2
|
||||
active: true
|
||||
orientation: Qt.Vertical
|
||||
|
||||
implicitWidth: Math.max(implicitBackgroundWidth + leftInset + rightInset,
|
||||
implicitContentWidth + leftPadding + rightPadding)
|
||||
implicitHeight: Math.max(implicitBackgroundHeight + topInset + bottomInset,
|
||||
implicitContentHeight + topPadding + bottomPadding)
|
||||
|
||||
padding: 2
|
||||
visible: control.policy !== ScrollBar.AlwaysOff
|
||||
minimumSize: orientation == Qt.Horizontal ? height / width : width / height
|
||||
|
||||
contentItem: Rectangle {
|
||||
implicitWidth: 12
|
||||
implicitHeight: 100
|
||||
radius: width / 2
|
||||
color: Palette.alternativeBackgroundColor
|
||||
// Hide the ScrollBar when it's not needed.
|
||||
opacity: control.policy === ScrollBar.AlwaysOn || (control.active && control.size < 1.0) ? 0.75 : 0
|
||||
implicitWidth: control.interactive ? 6 : 2
|
||||
implicitHeight: control.interactive ? 6 : 2
|
||||
|
||||
// Animate the changes in opacity (default duration is 250 ms).
|
||||
Behavior on opacity {
|
||||
NumberAnimation {}
|
||||
radius: width / 2
|
||||
color: control.pressed ? Palette.alternativeBackgroundColor : Qt.lighter(Palette.alternativeBackgroundColor, 1.1)
|
||||
opacity: 0.0
|
||||
|
||||
states: State {
|
||||
name: "active"
|
||||
when: control.policy === ScrollBar.AlwaysOn || (control.active && control.size < 1.0)
|
||||
PropertyChanges { target: control.contentItem; opacity: 0.75 }
|
||||
}
|
||||
|
||||
transitions: Transition {
|
||||
from: "active"
|
||||
SequentialAnimation {
|
||||
PauseAnimation { duration: 450 }
|
||||
NumberAnimation { target: control.contentItem; duration: 200; property: "opacity"; to: 0.0 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user