@@ -0,0 +1,71 @@
1+/*
2+ * Copyright (C) 2014 Canonical, Ltd.
3+ *
4+ * This program is free software; you can redistribute it and/or modify
5+ * it under the terms of the GNU General Public License as published by
6+ * the Free Software Foundation; version 3.
7+ *
8+ * This program is distributed in the hope that it will be useful,
9+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
10+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11+ * GNU General Public License for more details.
12+ *
13+ * You should have received a copy of the GNU General Public License
14+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
15+ */
16+
17+import QtQuick 2.0
18+import Ubuntu.Components 0.1
19+import "../../Components"
20+
21+/*! \brief Preview widget for video.
22+
23+ This widget shows video contained in widgetData["source"],
24+ with a placeholder screenshot specified by widgetData["screenshot"].
25+ */
26+
27+PreviewWidget {
28+ id: root
29+ implicitWidth: units.gu(35)
30+
31+ LazyImage {
32+ objectName: "screenshot"
33+ anchors {
34+ left: parent.left
35+ right: parent.right
36+ }
37+ scaleTo: "width"
38+ visible: state === "ready"
39+ source: {
40+ var screenshot = widgetData["screenshot"];
41+ if (screenshot) return screenshot;
42+
43+ var source = widgetData["source"];
44+ if (source) {
45+ if (source.toString().indexOf("file://") === 0) {
46+ return "image://thumbnailer/" + source.toString().substr(7);
47+ }
48+ }
49+
50+ return "";
51+ }
52+ initialHeight: width * 10 / 16
53+
54+ Image {
55+ objectName: "playButton"
56+
57+ readonly property bool bigButton: parent.width > units.gu(40)
58+
59+ anchors.centerIn: parent
60+ width: bigButton ? units.gu(8) : units.gu(4.5)
61+ height: width
62+ source: "../graphics/play_button%1%2.png".arg(previewImageMouseArea.pressed ? "_active" : "").arg(bigButton ? "_big" : "")
63+ }
64+
65+ MouseArea {
66+ id: previewImageMouseArea
67+ anchors.fill: parent
68+ onClicked: Qt.openUrlExternally(widgetData["source"])
69+ }
70+ }
71+}