Merge lp:~paulliu/unity8/unity8-fixgenericpreview into lp:unity8
- unity8-fixgenericpreview
- Merge into trunk
Status: | Rejected |
---|---|
Rejected by: | Michael Zanetti |
Proposed branch: | lp:~paulliu/unity8/unity8-fixgenericpreview |
Merge into: | lp:unity8 |
Diff against target: |
375 lines (+157/-95) 4 files modified
Dash/Apps/AppPreview.qml (+16/-13) Dash/DashPreview.qml (+33/-62) Dash/Generic/GenericPreview.qml (+90/-19) Dash/Video/VideoPreview.qml (+18/-1) |
To merge this branch: | bzr merge lp:~paulliu/unity8/unity8-fixgenericpreview |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Michael Zanetti (community) | Disapprove | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Review via email: mp+187762@code.launchpad.net |
Commit message
Rearrange the previews to comply the design.
Description of the change
Rearrange the previews to comply the design.
Ying-Chun Liu (paulliu) wrote : | # |
Michael Zanetti (mzanetti) wrote : | # |
Videos:
What it is: http://
What it should be: http://
* It seems the text is too large. Also I guess it shouldn't wrap but elide.
* Lacks rating stars
Apps:
What it is: http://
What it should be: http://
* The title is double here. The one at the top should look exactly like the one at the bottom. The bottom one needs to go away
Overall some margins seem to be wrong. I.e. in the code the stuff is clipped 2 grid units from the bottom while the design spec doesn't do that clipping there.
- 349. By Albert Astals Cid
-
Remember the expanded categoryId and not the expanded index
The index can change on search, and we still want to maintain it expanded in that case. Fixes: https:/
/bugs.launchpad .net/bugs/ 1230216. Approved by PS Jenkins bot, Michael Zanetti.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:342
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 350. By Michał Sawicz
-
Make SHOW_DASH and HIDE_DASH close the current preview. Fixes: https:/
/bugs.launchpad .net/bugs/ 1231404. Approved by PS Jenkins bot, Michał Sawicz, Diego Sarmentero.
- 351. By Diego Sarmentero
-
- Handling error signal from the DownloadTracker plugin (BUG: #1229744). Fixes: https:/
/bugs.launchpad .net/bugs/ 1229744. Approved by PS Jenkins bot, Michał Sawicz, Roberto Alsina.
- 352. By Diego Sarmentero
-
- Remove "Reviews and Comments" section from Application Preview until the feature is ready (BUG: #1226632)
- Detect when the keyboard is being shown to allow the user to scroll the Preview even more if necessary to interact with the components at the bottom of that preview, and don't leave those components obscured behind the keyboard (BUG: #1226638). Fixes: https://bugs.launchpad .net/bugs/ 1224717, https:/ /bugs.launchpad .net/bugs/ 1226632, https:/ /bugs.launchpad .net/bugs/ 1226638. Approved by PS Jenkins bot, Michał Sawicz, Alejandro J. Cura.
- 353. By Nick Dedekind
-
Brought messaging indicator inline with UnityMenuModel & UnityMenuAction. Fixes: https:/
/bugs.launchpad .net/bugs/ 1217676, https:/ /bugs.launchpad .net/bugs/ 1217678. Approved by PS Jenkins bot, Michael Zanetti.
- 354. By Albert Astals Cid
-
Fix showHeader in an edge case of notShownByItsOwn
Not all the tests i've added fail without the code fix, but i've added them just to be more covered
. Fixes: https://bugs.launchpad .net/bugs/ 1230187. Approved by PS Jenkins bot, Michał Sawicz.
- 355. By Launchpad Translations on behalf of unity-team
-
Launchpad automatic translations update.
- 356. By Michał Sawicz
-
Add a LazyImage component that shows an activity spinner for long-loading images and handles aspect ratio properly.
Approved by PS Jenkins bot, Michael Zanetti.
- 357. By Michał Sawicz
-
Fix Qt 5.1 FTBFS and suppress some build warnings.
Approved by PS Jenkins bot, Michael Zanetti.
Ying-Chun Liu (paulliu) wrote : | # |
Hi, I'll fix the video preview in another branch. lp:~paulliu/unity8/movie-preview
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:343
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 358. By Paweł Stołowski
-
Cancel previous actions and previews on new activation / preview. Expose previewed data row in Preview object.
Approved by PS Jenkins bot, Michal Hruby, Michał Sawicz.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:344
http://
Executed test runs:
SUCCESS: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
- 359. By PS Jenkins bot
-
Releasing 7.81.3+
13.10.20130927. 3-0ubuntu1 (revision 358 from lp:unity8). Approved by PS Jenkins bot.
- 360. By Launchpad Translations on behalf of unity-team
-
Launchpad automatic translations update.
- 361. By Launchpad Translations on behalf of unity-team
-
Launchpad automatic translations update.
- 364. By Ying-Chun Liu
-
Fix app preview.
- 365. By Ying-Chun Liu
-
Add Displaying the infoHints.
Michael Zanetti (mzanetti) wrote : | # |
From the design spec: http://
I see we have Preview, Header, Actions, Description and Rating as elements on the preview. Our code is still structured for the old previews and the new elements somehow squeezed into the old structure. I think in the long run this will cause continuous headaches and would vote for properly doing the rework, splitting up DashPreview.qml into exactly those defined fields. Another thing is that the current code still holds id's etc referring to the old structure. For example the id for the area that holds the screenshots (in the design spec called "Preview") is still named headerIcon in the code. This is quite a mess imho.
Also,
This is how it looks in landscape mode http://
I guess that's a side effect of not having it structured properly.
Michal Hruby (mhr3) wrote : | # |
@mzanetti: Isn't that issue with the AppPreview? This branch says it fixes the GenericPreview, not music, not apps.
Michael Zanetti (mzanetti) wrote : | # |
No... its really about the structure of the whole thing. The underlaying DashPreview is still the old structure and the new look is squeezed in there somehow.
Ying-Chun Liu (paulliu) wrote : | # |
ok.. I'll modify it now. But because generic preview doesn't provide any ratings, I'll call it leftPane, middlePane, and rightPanel. And then I'll use Grid for arranging these panes according to the narrowMode.
PS Jenkins bot (ps-jenkins) wrote : | # |
FAILED: Continuous integration, rev:365
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
UNSTABLE: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
deb: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild:
http://
Michael Zanetti (mzanetti) wrote : | # |
Rejecting this because of the complete preview rework in here: https:/
Unmerged revisions
Preview Diff
1 | === modified file 'Dash/Apps/AppPreview.qml' |
2 | --- Dash/Apps/AppPreview.qml 2013-09-26 18:55:06 +0000 |
3 | +++ Dash/Apps/AppPreview.qml 2013-09-30 08:54:15 +0000 |
4 | @@ -26,8 +26,6 @@ |
5 | |
6 | signal sendUserReview(string review) |
7 | |
8 | - title: root.previewData.title |
9 | - |
10 | header: ListView { |
11 | spacing: units.gu(1) |
12 | orientation: ListView.Horizontal |
13 | @@ -57,6 +55,22 @@ |
14 | } |
15 | } |
16 | |
17 | + title: AppInfo { |
18 | + objectName: "appInfo" |
19 | + anchors { |
20 | + top: parent.top |
21 | + topMargin: units.gu(2) |
22 | + left: parent.left |
23 | + right: parent.right |
24 | + } |
25 | + |
26 | + appName: root.previewData.title |
27 | + icon: root.previewData.appIcon |
28 | + rating: Math.round(root.previewData.rating * 10) |
29 | + reviews: root.previewData.numRatings |
30 | + rated: root.previewData.infoMap["rated"] ? root.previewData.infoMap["rated"].value : 0 |
31 | + } |
32 | + |
33 | Component { |
34 | id: buttonsComponent |
35 | |
36 | @@ -135,17 +149,6 @@ |
37 | body: Column { |
38 | spacing: units.gu(1) |
39 | |
40 | - AppInfo { |
41 | - objectName: "appInfo" |
42 | - anchors { left: parent.left; right: parent.right } |
43 | - |
44 | - appName: root.previewData.title |
45 | - icon: root.previewData.appIcon |
46 | - rating: Math.round(root.previewData.rating * 10) |
47 | - reviews: root.previewData.numRatings |
48 | - rated: root.previewData.infoMap["rated"] ? root.previewData.infoMap["rated"].value : 0 |
49 | - } |
50 | - |
51 | Label { |
52 | anchors { left: parent.left; right: parent.right } |
53 | text: root.previewData.description |
54 | |
55 | === modified file 'Dash/DashPreview.qml' |
56 | --- Dash/DashPreview.qml 2013-09-23 12:24:42 +0000 |
57 | +++ Dash/DashPreview.qml 2013-09-30 08:54:15 +0000 |
58 | @@ -23,10 +23,10 @@ |
59 | property int keyboardSize: Qt.inputMethod.visible ? Qt.inputMethod.keyboardRectangle.height : 0 |
60 | property var previewData |
61 | |
62 | - property string title: "" |
63 | property real previewWidthRatio: 0.5 |
64 | |
65 | property Component header |
66 | + property Component title |
67 | property Component buttons |
68 | property Component body |
69 | |
70 | @@ -62,64 +62,39 @@ |
71 | } |
72 | |
73 | Item { |
74 | + id: headerIcon |
75 | + height: childrenRect.height |
76 | + anchors { |
77 | + left: parent.left |
78 | + right: parent.right |
79 | + top: parent.top |
80 | + leftMargin: root.contentSpacing |
81 | + topMargin: root.contentSpacing |
82 | + rightMargin: root.contentSpacing |
83 | + } |
84 | + Loader { |
85 | + id: headerLoader |
86 | + anchors.left: parent.left |
87 | + anchors.right: parent.right |
88 | + sourceComponent: root.header |
89 | + } |
90 | + } |
91 | + |
92 | + Item { |
93 | id: headerRow |
94 | - height: units.gu(4) |
95 | + height: childrenRect.height |
96 | anchors { |
97 | - top: parent.top |
98 | + top: headerIcon.bottom |
99 | left: parent.left |
100 | right: parent.right |
101 | - margins: root.contentSpacing |
102 | - } |
103 | - |
104 | - MouseArea { |
105 | - anchors { |
106 | - fill: parent |
107 | - leftMargin: -root.contentSpacing |
108 | - rightMargin: -root.contentSpacing |
109 | - topMargin: -root.contentSpacing |
110 | - } |
111 | - |
112 | - onClicked: root.close(); |
113 | - } |
114 | - |
115 | - Item { |
116 | - id: labelItem |
117 | - anchors { |
118 | - fill: parent |
119 | - rightMargin: closePreviewImage.width + spacing |
120 | - } |
121 | - |
122 | - property int spacing: units.gu(2) |
123 | - |
124 | - Label { |
125 | - id: title |
126 | - objectName: "titleLabel" |
127 | - anchors { |
128 | - left: parent.left |
129 | - right: parent.right |
130 | - } |
131 | - |
132 | - elide: Text.ElideRight |
133 | - fontSize: "x-large" |
134 | - font.weight: Font.Light |
135 | - color: Theme.palette.selected.backgroundText |
136 | - opacity: 0.9 |
137 | - text: root.title |
138 | - style: Text.Raised |
139 | - styleColor: "black" |
140 | - } |
141 | - Image { |
142 | - id: closePreviewImage |
143 | - source: "graphics/tablet/icon_close_preview.png" |
144 | - width: units.gu(4) |
145 | - height: units.gu(1.5) |
146 | - anchors { |
147 | - bottom: title.bottom |
148 | - bottomMargin: units.dp(7) |
149 | - left: parent.left |
150 | - leftMargin: title.paintedWidth + labelItem.spacing |
151 | - } |
152 | - } |
153 | + leftMargin: root.contentSpacing |
154 | + rightMargin: root.contentSpacing |
155 | + } |
156 | + Loader { |
157 | + id: titleLoader |
158 | + anchors.left: parent.left |
159 | + anchors.right: parent.right |
160 | + sourceComponent: root.title |
161 | } |
162 | } |
163 | |
164 | @@ -130,7 +105,9 @@ |
165 | right: parent.right |
166 | top: headerRow.bottom |
167 | bottom: parent.bottom |
168 | - margins: root.contentSpacing |
169 | + topMargin: root.contentSpacing |
170 | + leftMargin: root.contentSpacing |
171 | + rightMargin: root.contentSpacing |
172 | } |
173 | |
174 | spacing: units.gu(2) |
175 | @@ -158,12 +135,6 @@ |
176 | spacing: units.gu(1) |
177 | |
178 | Loader { |
179 | - id: headerLoader |
180 | - anchors.left: parent.left |
181 | - anchors.right: parent.right |
182 | - sourceComponent: root.header |
183 | - } |
184 | - Loader { |
185 | id: buttonLoader |
186 | anchors.left: parent.left |
187 | anchors.right: parent.right |
188 | |
189 | === modified file 'Dash/Generic/GenericPreview.qml' |
190 | --- Dash/Generic/GenericPreview.qml 2013-09-05 10:02:00 +0000 |
191 | +++ Dash/Generic/GenericPreview.qml 2013-09-30 08:54:15 +0000 |
192 | @@ -23,7 +23,6 @@ |
193 | DashPreview { |
194 | id: genericPreview |
195 | |
196 | - title: previewData.title |
197 | previewWidthRatio: 0.6 |
198 | |
199 | property url url: previewData.image |
200 | @@ -42,17 +41,60 @@ |
201 | } |
202 | } |
203 | |
204 | + title: Column { |
205 | + anchors { |
206 | + top: parent.top |
207 | + topMargin: units.gu(2) |
208 | + left: parent.left |
209 | + right: parent.right |
210 | + } |
211 | + |
212 | + Label { |
213 | + id: title |
214 | + objectName: "titleLabel" |
215 | + anchors { left: parent.left; right: parent.right } |
216 | + |
217 | + elide: Text.ElideRight |
218 | + fontSize: "x-large" |
219 | + font.weight: Font.Light |
220 | + color: Theme.palette.selected.backgroundText |
221 | + opacity: 0.9 |
222 | + text: previewData.title |
223 | + style: Text.Raised |
224 | + styleColor: "black" |
225 | + maximumLineCount: 2 |
226 | + wrapMode: Text.WordWrap |
227 | + } |
228 | + |
229 | + Label { |
230 | + anchors { left: parent.left; right: parent.right } |
231 | + visible: text != "" |
232 | + fontSize: "medium" |
233 | + opacity: 0.6 |
234 | + color: "white" |
235 | + text: previewData.subtitle.replace(/[\r\n]+/g, "<br />") |
236 | + style: Text.Raised |
237 | + styleColor: "black" |
238 | + wrapMode: Text.WordWrap |
239 | + textFormat: Text.RichText |
240 | + maximumLineCount: 1 |
241 | + // FIXME: workaround for https://bugreports.qt-project.org/browse/QTBUG-33020 |
242 | + onWidthChanged: { wrapMode = Text.NoWrap; wrapMode = Text.WordWrap } |
243 | + } |
244 | + } |
245 | buttons: GridView { |
246 | id: buttons |
247 | model: genericPreview.previewData.actions |
248 | |
249 | - property int numOfRows: (count + 1) / 2 |
250 | + property int buttonMaxWidth: units.gu(34) |
251 | + property int numOfColumns: Math.ceil((width + spacing) / (buttonMaxWidth + spacing)) |
252 | + property int numOfRows: Math.ceil(count / numOfColumns) |
253 | property int spacing: units.gu(1) |
254 | height: Math.max(units.gu(4), units.gu(4)*numOfRows + spacing*(numOfRows - 1)) |
255 | |
256 | - cellWidth: Math.max(units.gu(9), width / 2) |
257 | + cellWidth: width / numOfColumns |
258 | cellHeight: buttonHeight + spacing |
259 | - property int buttonWidth: Math.max(0, width / 2 - spacing) |
260 | + property int buttonWidth: cellWidth - spacing / 2 |
261 | property int buttonHeight: units.gu(4) |
262 | |
263 | delegate: Button { |
264 | @@ -69,25 +111,12 @@ |
265 | } |
266 | focus: false |
267 | } |
268 | + |
269 | body: Column { |
270 | spacing: units.gu(2) |
271 | |
272 | Label { |
273 | - anchors { left: parent.left; right: parent.right } |
274 | - visible: text != "" |
275 | - fontSize: "medium" |
276 | - opacity: 0.6 |
277 | - color: "white" |
278 | - text: previewData.subtitle.replace(/[\r\n]+/g, "<br />") |
279 | - style: Text.Raised |
280 | - styleColor: "black" |
281 | - wrapMode: Text.WordWrap |
282 | - textFormat: Text.RichText |
283 | - // FIXME: workaround for https://bugreports.qt-project.org/browse/QTBUG-33020 |
284 | - onWidthChanged: { wrapMode = Text.NoWrap; wrapMode = Text.WordWrap } |
285 | - } |
286 | - |
287 | - Label { |
288 | + id: descriptionLabel |
289 | anchors { left: parent.left; right: parent.right } |
290 | visible: text != "" |
291 | fontSize: "small" |
292 | @@ -101,5 +130,47 @@ |
293 | // FIXME: workaround for https://bugreports.qt-project.org/browse/QTBUG-33020 |
294 | onWidthChanged: { wrapMode = Text.NoWrap; wrapMode = Text.WordWrap } |
295 | } |
296 | + |
297 | + Column { |
298 | + id: infoItem |
299 | + anchors { |
300 | + left: parent.left |
301 | + right: parent.right |
302 | + } |
303 | + Repeater { |
304 | + model: previewData.infoHints |
305 | + |
306 | + delegate: Grid { |
307 | + columns: 2 |
308 | + width: parent.width |
309 | + spacing: units.gu(1) |
310 | + |
311 | + Label { |
312 | + visible: directedLabel.visible |
313 | + fontSize: "small" |
314 | + opacity: 0.9 |
315 | + color: "white" |
316 | + horizontalAlignment: Text.AlignLeft |
317 | + width: infoItem.width / 2 |
318 | + text: modelData.displayName |
319 | + style: Text.Raised |
320 | + styleColor: "black" |
321 | + } |
322 | + Label { |
323 | + id: directedLabel |
324 | + visible: modelData.value != "" |
325 | + fontSize: "small" |
326 | + opacity: 0.6 |
327 | + color: "white" |
328 | + horizontalAlignment: Text.AlignRight |
329 | + width: infoItem.width / 2 |
330 | + text: modelData.value ? modelData.value : "" |
331 | + style: Text.Raised |
332 | + styleColor: "black" |
333 | + wrapMode: Text.WordWrap |
334 | + } |
335 | + } |
336 | + } |
337 | + } |
338 | } |
339 | } |
340 | |
341 | === modified file 'Dash/Video/VideoPreview.qml' |
342 | --- Dash/Video/VideoPreview.qml 2013-08-09 10:12:19 +0000 |
343 | +++ Dash/Video/VideoPreview.qml 2013-09-30 08:54:15 +0000 |
344 | @@ -33,7 +33,6 @@ |
345 | source: item ? item.nfoUri : "" |
346 | } |
347 | |
348 | - title: nfo.ready ? nfo.video.title : "" |
349 | previewWidthRatio: 0.6 |
350 | |
351 | onPreviewImageClicked: { |
352 | @@ -74,6 +73,24 @@ |
353 | } |
354 | } |
355 | |
356 | + title: Label { |
357 | + id: title |
358 | + objectName: "titleLabel" |
359 | + anchors { |
360 | + left: parent.left |
361 | + right: parent.right |
362 | + } |
363 | + |
364 | + elide: Text.ElideRight |
365 | + fontSize: "x-large" |
366 | + font.weight: Font.Light |
367 | + color: Theme.palette.selected.backgroundText |
368 | + opacity: 0.9 |
369 | + text: nfo.ready ? nfo.video.title : "" |
370 | + style: Text.Raised |
371 | + styleColor: "black" |
372 | + } |
373 | + |
374 | buttons: Row { |
375 | spacing: units.gu(2) |
376 |
https:/ /bugs.launchpad .net/unity8/ +bug/1224555