* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-import QtQuick 1.1
-import com.nokia.meego 1.1
-import QtMultimediaKit 1.1
+import QtQuick 2.0
import CameraPlus 1.0
-
-// TODO: error reporting
+import QtCamera 1.0
+import QtCameraExtras 1.0
Item {
id: page
property alias source: video.source
function play() {
- video.play()
+ return video.play()
+ }
+
+ function stop() {
+ return video.stop()
}
MouseArea {
onTriggered: toolBar.show = false
}
- Video {
+ VideoPlayer {
id: video
anchors.fill: parent
+ cameraConfig: camera.cameraConfig
+
+ onError: showError(qsTr("Error playing video. Please try again or restart the application"))
function toggle() {
- if (!video.paused) {
+ if (state != VideoPlayer.StatePaused) {
video.pause()
} else {
page.play()
}
}
- onStopped: page.finished()
+ onStateChanged: {
+ if (state == VideoPlayer.StateStopped) {
+ page.finished()
+ }
+ }
}
Connections {
hideBack: true
expanded: true
anchors.bottom: parent.bottom
- anchors.bottomMargin: show ? 20 : -1 * (height + 20)
+ anchors.bottomMargin: 20
anchors.left: parent.left
anchors.leftMargin: 20
- opacity: 0.5
+ opacity: show ? 0.8 : 0.0
+ visible: opacity > 0
- Behavior on anchors.bottomMargin {
+ Behavior on opacity {
PropertyAnimation { duration: 200; }
}
- items: [
- ToolIcon {
- iconId: "icon-m-toolbar-mediacontrol-stop-white"
+ tools: CameraToolBarTools {
+ CameraToolIcon {
+ iconSource: cameraTheme.videoStopIconId
onClicked: video.stop()
- },
- Slider {
+ }
+
+ CameraSlider {
id: slider
height: toolBar.height
anchors.verticalCenter: parent.verticalCenter
- platformStyle: SliderStyle {
- handleBackground: ""
- handleBackgroundPressed: ""
- }
+ handleBackground: ""
+ handleBackgroundPressed: ""
minimumValue: 0
maximumValue: video.duration
hideTimer.restart()
}
- },
- ToolIcon {
+ }
+
+ CameraToolIcon {
id: control
- iconId: !video.paused ? "icon-m-toolbar-mediacontrol-pause-white"
- : "icon-m-toolbar-mediacontrol-play-white"
+ iconSource: video.state != VideoPlayer.StatePaused ? cameraTheme.videoPauseIconId : cameraTheme.videoPlayIconId
onClicked: {
video.toggle()
hideTimer.restart()
}
}
- ]
+ }
}
}