Merge lp:~unity-team/unity8/dash-filtergrid-renderers into lp:unity8

Proposed by Michał Sawicz
Status: Merged
Approved by: Francis Ginther
Approved revision: 382
Merged at revision: 388
Proposed branch: lp:~unity-team/unity8/dash-filtergrid-renderers
Merge into: lp:unity8
Prerequisite: lp:~mhr3/unity8/expose-renderer-hint
Diff against target: 392 lines (+271/-67)
7 files modified
Components/Tile.qml (+8/-64)
Components/TileStyle.qml (+80/-0)
Dash/Apps/DashPluginFilterGrid.qml (+49/-0)
Dash/Generic/FlatTileStyle.qml (+78/-0)
Dash/Generic/GenericFilterGrid.qml (+0/-3)
Dash/Generic/WeatherFilterGrid.qml (+49/-0)
Dash/GenericScopeView.qml (+7/-0)
To merge this branch: bzr merge lp:~unity-team/unity8/dash-filtergrid-renderers
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Andrea Cimitan (community) Approve
Michał Sawicz Approve
Review via email: mp+189160@code.launchpad.net

This proposal supersedes a proposal from 2013-10-03.

Commit message

Make Tile themeable, add renderers for Dash Plugins and weather.

Description of the change

Make Tile themeable, add renderers for Dash Plugins and weather

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote : Posted in a previous version of this proposal
review: Needs Fixing (continuous-integration)
Revision history for this message
Michał Sawicz (saviq) wrote :

Some of my code... but well...

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:380
http://jenkins.qa.ubuntu.com/job/unity8-ci/1252/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4489/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2263
    UNSTABLE: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2067
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/275
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1252
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1252/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1251
    FAILURE: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/771/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/364
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/364/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2265
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2265/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1937
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1951

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1252/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Andrea Cimitan (cimi) wrote :

> Some of my code... but well...
I reviewed your changes

review: Approve
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Autolanding.
More details in the following jenkins job:
http://jenkins.qa.ubuntu.com/job/unity8-autolanding/567/
Executed test runs:
    SUCCESS: http://s-jenkins:8080/job/generic-cleanup-mbs/2683
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4512
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2287/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2077
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-autolanding/152
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/571
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-autolanding/571/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-autolanding/571
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/796
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/387
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/387/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2289
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2289/artifact/work/output/*zip*/output.zip
    FAILURE: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1963/console
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1976

review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:382
http://jenkins.qa.ubuntu.com/job/unity8-ci/1254/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-saucy/4515
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-touch/2290
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity-phablet-qmluitests-saucy/2079
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-amd64-ci/277
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1254
        deb: http://jenkins.qa.ubuntu.com/job/unity8-saucy-armhf-ci/1254/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/unity8-saucy-i386-ci/1253
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-saucy/799
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/390
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-amd64/390/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2292
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-saucy-armhf/2292/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-maguro/1966
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-runner-mako/1980

Click here to trigger a rebuild:
http://s-jenkins:8080/job/unity8-ci/1254/rebuild

review: Approve (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Components/Tile.qml'
--- Components/Tile.qml 2013-08-05 15:02:05 +0000
+++ Components/Tile.qml 2013-10-03 19:16:07 +0000
@@ -18,70 +18,14 @@
18import Ubuntu.Components 0.118import Ubuntu.Components 0.1
1919
20AbstractButton {20AbstractButton {
21 id: root21 property url source
22 property alias source: image.source22 property int fillMode: Image.PreserveAspectCrop
23 property alias fillMode: image.fillMode23 property int horizontalAlignment: Image.AlignHCenter
24 property alias horizontalAlignment: image.horizontalAlignment24 property int verticalAlignment: Image.AlignVCenter
25 property alias verticalAlignment: image.verticalAlignment25 property string text
26 property alias text: label.text
27 property int imageWidth26 property int imageWidth
28 property int imageHeight27 property int imageHeight
2928 property int maximumLineCount: 1
30 UbuntuShape {29
31 id: icon30 style: TileStyle {}
32 anchors {
33 top: parent.top
34 horizontalCenter: parent.horizontalCenter
35 }
36 radius: "medium"
37 width: imageWidth
38 height: imageHeight
39 image: Image {
40 id: image
41 objectName: "image"
42 sourceSize { width: icon.width; height: icon.height }
43 asynchronous: true
44 cache: false
45 }
46 }
47
48 UbuntuShape {
49 id: borderPressed
50 objectName: "borderPressed"
51
52 anchors.fill: icon
53 radius: "medium"
54 borderSource: "radius_pressed.sci"
55 opacity: root.pressed ? 1.0 : 0.0
56 Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
57 }
58
59 Item {
60 anchors {
61 left: parent.left
62 right: parent.right
63 top: icon.bottom
64 }
65 height: units.gu(2)
66
67 Label {
68 id: label
69 objectName: "label"
70 anchors {
71 baseline: parent.bottom
72 left: parent.left
73 right: parent.right
74 leftMargin: units.gu(1)
75 rightMargin: units.gu(1)
76 }
77
78 color: Theme.palette.selected.backgroundText
79 opacity: 0.9
80 style: Text.Raised
81 styleColor: "black"
82 fontSize: "small"
83 elide: Text.ElideMiddle
84 horizontalAlignment: Text.AlignHCenter
85 }
86 }
87}31}
8832
=== added file 'Components/TileStyle.qml'
--- Components/TileStyle.qml 1970-01-01 00:00:00 +0000
+++ Components/TileStyle.qml 2013-10-03 19:16:07 +0000
@@ -0,0 +1,80 @@
1/*
2 * Copyright (C) 2013 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
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19
20Item {
21 id: tile
22
23 anchors.fill: parent
24
25 UbuntuShape {
26 id: icon
27 anchors {
28 top: parent.top
29 horizontalCenter: parent.horizontalCenter
30 }
31 radius: "medium"
32 width: styledItem.imageWidth
33 height: styledItem.imageHeight
34 image: Image {
35 id: image
36 objectName: "image"
37 sourceSize { width: icon.width; height: icon.height }
38 asynchronous: true
39 cache: false
40 source: styledItem.source
41 fillMode: styledItem.fillMode
42 horizontalAlignment: styledItem.horizontalAlignment
43 verticalAlignment: styledItem.verticalAlignment
44 }
45 }
46
47 UbuntuShape {
48 id: borderPressed
49 objectName: "borderPressed"
50
51 anchors.fill: icon
52 radius: "medium"
53 borderSource: "radius_pressed.sci"
54 opacity: styledItem.pressed ? 1.0 : 0.0
55 Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
56 }
57
58 Label {
59 id: label
60 objectName: "label"
61 anchors {
62 baseline: icon.bottom
63 baselineOffset: units.gu(2)
64 left: parent.left
65 right: parent.right
66 leftMargin: units.gu(1)
67 rightMargin: units.gu(1)
68 }
69
70 color: Theme.palette.selected.backgroundText
71 opacity: 0.9
72 style: Text.Raised
73 styleColor: "black"
74 fontSize: "small"
75 elide: Text.ElideMiddle
76 horizontalAlignment: Text.AlignHCenter
77 text: styledItem.text
78 maximumLineCount: styledItem.maximumLineCount
79 }
80}
081
=== added file 'Dash/Apps/DashPluginFilterGrid.qml'
--- Dash/Apps/DashPluginFilterGrid.qml 1970-01-01 00:00:00 +0000
+++ Dash/Apps/DashPluginFilterGrid.qml 2013-10-03 19:16:07 +0000
@@ -0,0 +1,49 @@
1/*
2 * Copyright (C) 2013 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
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19import "../../Components"
20import "../Generic"
21
22GenericFilterGrid {
23 id: filtergrid
24
25 delegate: Tile {
26 id: tile
27 objectName: "delegate" + index
28 width: filtergrid.cellWidth
29 height: filtergrid.cellHeight
30 text: model.title
31 imageWidth: filtergrid.iconWidth
32 imageHeight: filtergrid.iconHeight
33 source: model.icon
34
35 style: FlatTileStyle {
36 disabled: model.rendererHints['scope_disabled'] === 1;
37 }
38
39 onClicked: {
40 var data = { model: model }
41 filtergrid.clicked(index, data, tile.y)
42 }
43
44 onPressAndHold: {
45 var data = { model: model }
46 filtergrid.pressAndHold(index, data, tile.y)
47 }
48 }
49}
050
=== added file 'Dash/Generic/FlatTileStyle.qml'
--- Dash/Generic/FlatTileStyle.qml 1970-01-01 00:00:00 +0000
+++ Dash/Generic/FlatTileStyle.qml 2013-10-03 19:16:07 +0000
@@ -0,0 +1,78 @@
1/*
2 * Copyright (C) 2013 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
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19
20Item {
21 id: tile
22
23 property bool disabled: false
24
25 anchors.fill: parent
26
27 Image {
28 id: icon
29 objectName: "image"
30 width: styledItem.imageWidth
31 height: styledItem.imageHeight
32
33 anchors.horizontalCenter: parent.horizontalCenter
34
35 sourceSize { width: width; height: height }
36 asynchronous: true
37 cache: false
38 source: styledItem.source
39 fillMode: styledItem.fillMode
40 opacity: tile.disabled ? 0.3 : 1.0
41 horizontalAlignment: styledItem.horizontalAlignment
42 verticalAlignment: styledItem.verticalAlignment
43 }
44
45 UbuntuShape {
46 id: borderPressed
47 objectName: "borderPressed"
48
49 anchors.fill: icon
50 radius: "medium"
51 borderSource: "radius_pressed.sci"
52 opacity: styledItem.pressed ? 1.0 : 0.0
53 Behavior on opacity { NumberAnimation { duration: 200; easing.type: Easing.OutQuint } }
54 }
55
56 Label {
57 id: label
58 objectName: "label"
59 anchors {
60 baseline: icon.bottom
61 baselineOffset: units.gu(2)
62 left: parent.left
63 right: parent.right
64 leftMargin: units.gu(1)
65 rightMargin: units.gu(1)
66 }
67
68 color: Theme.palette.selected.backgroundText
69 opacity: 0.9
70 style: Text.Raised
71 styleColor: "black"
72 fontSize: "small"
73 elide: Text.ElideMiddle
74 horizontalAlignment: Text.AlignHCenter
75 text: styledItem.text
76 maximumLineCount: styledItem.maximumLineCount
77 }
78}
079
=== modified file 'Dash/Generic/GenericFilterGrid.qml'
--- Dash/Generic/GenericFilterGrid.qml 2013-09-05 10:02:00 +0000
+++ Dash/Generic/GenericFilterGrid.qml 2013-10-03 19:16:07 +0000
@@ -39,11 +39,8 @@
39 text: model.title39 text: model.title
40 imageWidth: filtergrid.iconWidth40 imageWidth: filtergrid.iconWidth
41 imageHeight: filtergrid.iconHeight41 imageHeight: filtergrid.iconHeight
42
43 source: model.icon42 source: model.icon
4443
45 fillMode: Image.PreserveAspectCrop
46
47 onClicked: {44 onClicked: {
48 var data = { model: model }45 var data = { model: model }
49 filtergrid.clicked(index, data, tile.y)46 filtergrid.clicked(index, data, tile.y)
5047
=== added file 'Dash/Generic/WeatherFilterGrid.qml'
--- Dash/Generic/WeatherFilterGrid.qml 1970-01-01 00:00:00 +0000
+++ Dash/Generic/WeatherFilterGrid.qml 2013-10-03 19:16:07 +0000
@@ -0,0 +1,49 @@
1/*
2 * Copyright (C) 2013 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
17import QtQuick 2.0
18import Ubuntu.Components 0.1
19import "../../Components"
20
21GenericFilterGrid {
22 id: filtergrid
23
24 delegateHeight: units.gu(11.5)
25
26 delegate: Tile {
27 id: tile
28 objectName: "delegate" + index
29 width: filtergrid.cellWidth
30 height: filtergrid.cellHeight
31 text: model.title
32 imageWidth: filtergrid.iconWidth
33 imageHeight: filtergrid.iconHeight
34 source: model.icon
35 maximumLineCount: 2
36
37 style: FlatTileStyle {}
38
39 onClicked: {
40 var data = { model: model }
41 filtergrid.clicked(index, data, tile.y)
42 }
43
44 onPressAndHold: {
45 var data = { model: model }
46 filtergrid.pressAndHold(index, data, tile.y)
47 }
48 }
49}
050
=== modified file 'Dash/GenericScopeView.qml'
--- Dash/GenericScopeView.qml 2013-10-03 19:16:06 +0000
+++ Dash/GenericScopeView.qml 2013-10-03 19:16:07 +0000
@@ -209,6 +209,13 @@
209 switch (contentType) {209 switch (contentType) {
210 case "video": return "Generic/GenericFilterGridPotrait.qml";210 case "video": return "Generic/GenericFilterGridPotrait.qml";
211 case "music": return "Music/MusicFilterGrid.qml";211 case "music": return "Music/MusicFilterGrid.qml";
212 case "apps": {
213 if (rendererHint == "toggled")
214 return "Apps/DashPluginFilterGrid.qml";
215 else
216 return "Generic/GenericFilterGrid.qml";
217 }
218 case "weather": return "Generic/WeatherFilterGrid.qml";
212 default: return "Generic/GenericFilterGrid.qml";219 default: return "Generic/GenericFilterGrid.qml";
213 }220 }
214 }221 }

Subscribers

People subscribed via source and target branches