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;
+ }
+ }
+
+ ChannelSelect
+ {
+ id: audioSelect
+ label: "Audio"
+ channels: streamControl.audioChannels
+ onCurrentChannelChanged: streamControl.currentAudioChannel = currentChannel
+ }
+
+ ChannelSelect
+ {
+ id: spuSelect
+ label: "Subtitles"
+ channels: streamControl.spuChannels
+ onCurrentChannelChanged: streamControl.currentSpuChannel = currentChannel
}
}
onPositionChanged:
{
if(!slider.down)
- slider.value = streamControl.position
+ slider.value = position;
}
+ onCurrentAudioChannelChanged: audioSelect.currentChannel = streamControl.currentAudioChannel;
+ onCurrentSpuChannelChanged: spuSelect.currentChannel = streamControl.currentSpuChannel;
}
}