on xenial help sign in
PreviewHeader
433185dAlbert Astals
qml/Dash/Previews/PreviewHeader.qmlnew file+38
@@ -0,0 +1,38 @@
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 "../"
19+
20+/*! This preview widget shows a header that is the same as the card header
21+ * The title comes in widgetData["title"]
22+ * The mascot comes in widgetData["mascot"]
23+ * The subtitle comes in widgetData["subtitle"]
24+ */
25+
26+PreviewWidget {
27+ id: root
28+
29+ implicitHeight: childrenRect.height
30+
31+ CardHeader {
32+ objectName: "cardHeader"
33+ mascot: root.widgetData["mascot"] || ""
34+ title: root.widgetData["title"] || ""
35+ subtitle: root.widgetData["subtitle"] || ""
36+ width: parent.width
37+ }
38+}
qml/Dash/Previews/PreviewWidgetFactory.qml+3−2
@@ -42,10 +42,11 @@ Loader {
42 //! \cond private
42 //! \cond private
43 property url widgetSource: {
43 property url widgetSource: {
44 switch (widgetType) {
44 switch (widgetType) {
45+ case "actions": return "PreviewActions.qml";
45 case "audio": return "PreviewAudioPlayback.qml";
46 case "audio": return "PreviewAudioPlayback.qml";
46− case "text": return "PreviewTextSummary.qml";
47 case "gallery": return "PreviewImageGallery.qml";
47 case "gallery": return "PreviewImageGallery.qml";
48− case "actions": return "PreviewActions.qml";
48+ case "header": return "PreviewHeader.qml";
49+ case "text": return "PreviewTextSummary.qml";
49 default: return "";
50 default: return "";
50 }
51 }
51 }
52 }
tests/qmltests/CMakeLists.txt+1
@@ -59,6 +59,7 @@ add_qml_test(Dash/Previews PreviewWidgetFactory IMPORT_PATHS ${qmltest_DEFAULT_I
59add_qml_test(Dash/Previews PreviewActions IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
59add_qml_test(Dash/Previews PreviewActions IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
60add_qml_test(Dash/Previews PreviewAudioPlayback IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
60add_qml_test(Dash/Previews PreviewAudioPlayback IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
61add_qml_test(Dash/Previews PreviewImageGallery IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
61add_qml_test(Dash/Previews PreviewImageGallery IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
62+add_qml_test(Dash/Previews PreviewHeader IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
62add_qml_test(Dash/Previews PreviewTextSummary IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
63add_qml_test(Dash/Previews PreviewTextSummary IMPORT_PATHS ${qmltest_DEFAULT_IMPORT_PATHS} ${CMAKE_BINARY_DIR}/tests/mocks)
63add_qml_test(Greeter Lockscreen IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS}
64add_qml_test(Greeter Lockscreen IMPORT_PATHS ${CMAKE_BINARY_DIR}/plugins ${qmltest_DEFAULT_IMPORT_PATHS}
64 PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
65 PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/tests/mocks/libusermetrics:${CMAKE_BINARY_DIR}/tests/mocks/LightDM/full")
tests/qmltests/Dash/Previews/tst_PreviewHeader.qmlnew file+58
@@ -0,0 +1,58 @@
1+/*
2+ * Copyright 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 QtTest 1.0
19+import "../../../../qml/Dash/Previews"
20+import Unity.Test 0.1 as UT
21+import Ubuntu.Components 0.1
22+
23+
24+Rectangle {
25+ id: root
26+ width: units.gu(60)
27+ height: units.gu(80)
28+
29+ property var headerjson: {
30+ "title": "THE TITLE",
31+ "subtitle": "Something catchy",
32+ "mascot": "../graphics/play_button.png"
33+ }
34+
35+ PreviewHeader {
36+ id: previewHeader
37+ widgetData: headerjson
38+ width: units.gu(30)
39+
40+ Rectangle {
41+ anchors.fill: parent
42+ color: "red"
43+ opacity: 0.1
44+ }
45+ }
46+
47+ UT.UnityTestCase {
48+ name: "PreviewHeaderTest"
49+ when: windowShown
50+
51+ function test_something() {
52+ var cardHeader = findChild(previewHeader, "cardHeader");
53+ compare(cardHeader.title, "THE TITLE");
54+ compare(cardHeader.subtitle, "Something catchy");
55+ compare(cardHeader.mascot.toString().slice(-24), "graphics/play_button.png");
56+ }
57+ }
58+}
tests/qmltests/Dash/Previews/tst_PreviewWidgetFactory.qml+1
@@ -79,6 +79,7 @@ Rectangle {
79 { tag: "Text", type: "text", source: "PreviewTextSummary.qml" },
79 { tag: "Text", type: "text", source: "PreviewTextSummary.qml" },
80 { tag: "Gallery", type: "gallery", source: "PreviewImageGallery.qml" },
80 { tag: "Gallery", type: "gallery", source: "PreviewImageGallery.qml" },
81 { tag: "Actions", type: "actions", source: "PreviewActions.qml" },
81 { tag: "Actions", type: "actions", source: "PreviewActions.qml" },
82+ { tag: "Header", type: "header", source: "PreviewHeader.qml" },
82 ];
83 ];
83 }
84 }
84
85