]> git.tdb.fi Git - xinema.git/blobdiff - remote/qml/pages/PlaybackPage.qml
Fine-tune PlaybackPage layout
[xinema.git] / remote / qml / pages / PlaybackPage.qml
index 4a487a4f8cd9b80add977b1ad9b3e52931ef7fce..24817c697e6a4a5cef40bb96d3cf3e11a9bbe9ff 100644 (file)
@@ -19,12 +19,21 @@ Page
                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:
@@ -49,6 +58,27 @@ Page
 
                                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;
+                       }
                }
        }
 
@@ -59,7 +89,7 @@ Page
                onPositionChanged:
                {
                        if(!slider.down)
-                               slider.value = streamControl.position
+                               slider.value = position;
                }
        }
 }