Label
{
text: streamControl.title
+ anchors
+ {
+ left: parent.left
+ right: parent.right
+ margins: Theme.horizontalPageMargin
+ }
+ horizontalAlignment: Text.AlignHCenter
+ wrapMode: Text.WordWrap
}
Slider
{
id: slider
width: parent.width
+
minimumValue: 0.0
maximumValue: Math.max(streamControl.duration, 1.0)
valueText:
return str+secs;
}
+
+ onDownChanged:
+ {
+ if(!down)
+ streamControl.position = value;
+ }
+ }
+
+ IconButton
+ {
+ id: playPauseButton
+ anchors.horizontalCenter: parent.horizontalCenter
+ property string action: (streamControl.playbackState==StreamControl.Playing ? "pause" : "play")
+ icon.source: "image://theme/icon-l-"+action
+ onPressed:
+ {
+ if(action=="play")
+ streamControl.playbackState = StreamControl.Playing;
+ else if(action=="pause")
+ streamControl.playbackState = StreamControl.Paused;
+ }
}
}
onPositionChanged:
{
if(!slider.down)
- slider.value = streamControl.position
+ slider.value = position;
}
}
}