Merge lp:~fmunozs/ubuntu-twitter-app/profileview into lp:ubuntu-twitter-app
- profileview
- Merge into trunk
Proposed by
Fernando Muñoz
Status: | Needs review |
---|---|
Proposed branch: | lp:~fmunozs/ubuntu-twitter-app/profileview |
Merge into: | lp:ubuntu-twitter-app |
Diff against target: |
598 lines (+544/-18) 4 files modified
ProfilePage.qml (+243/-0) TimelinePage.qml (+176/-0) TweetDelegate.qml (+102/-0) twitter.qml (+23/-18) |
To merge this branch: | bzr merge lp:~fmunozs/ubuntu-twitter-app/profileview |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Needs Fixing | |
Ubuntu Twitter Developers | Pending | ||
Review via email: mp+150429@code.launchpad.net |
Commit message
Description of the change
This branch implements an initial TweetDelegate that can be used in several places of the application.
It also includes the initial sketch for the ProfilePage that can be used to show your own profile+tweets and also others profiles+tweets.
To post a comment you must log in.
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote : | # |
review:
Needs Fixing
(continuous-integration)
Unmerged revisions
- 3. By Fernando Muñoz
-
Initial list delegate and profile page
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'ProfilePage.qml' | |||
2 | --- ProfilePage.qml 1970-01-01 00:00:00 +0000 | |||
3 | +++ ProfilePage.qml 2013-02-25 20:38:19 +0000 | |||
4 | @@ -0,0 +1,243 @@ | |||
5 | 1 | import QtQuick 2.0 | ||
6 | 2 | import Ubuntu.Components 0.1 | ||
7 | 3 | |||
8 | 4 | Page { | ||
9 | 5 | tools: ToolbarActions { | ||
10 | 6 | Action { | ||
11 | 7 | objectName: "action" | ||
12 | 8 | iconSource: Qt.resolvedUrl("avatar.png") | ||
13 | 9 | text: i18n.tr("Tap me!") | ||
14 | 10 | |||
15 | 11 | onTriggered: { | ||
16 | 12 | label.text = i18n.tr("Toolbar tapped") | ||
17 | 13 | } | ||
18 | 14 | } | ||
19 | 15 | } | ||
20 | 16 | |||
21 | 17 | |||
22 | 18 | |||
23 | 19 | |||
24 | 20 | Rectangle { | ||
25 | 21 | id: topRectangle | ||
26 | 22 | anchors.top: parent.top | ||
27 | 23 | anchors.left: parent.left | ||
28 | 24 | anchors.right: parent.right | ||
29 | 25 | height: 200 | ||
30 | 26 | color: "lightgray" | ||
31 | 27 | |||
32 | 28 | |||
33 | 29 | |||
34 | 30 | Image { | ||
35 | 31 | anchors.top: parent.top | ||
36 | 32 | anchors.left: parent.left | ||
37 | 33 | anchors.right: parent.right | ||
38 | 34 | |||
39 | 35 | source: "https://ma.twimg.com/profile_banners/223480573/1349351123/mobile" | ||
40 | 36 | height: parent.height | ||
41 | 37 | fillMode: Image.PreserveAspectCrop | ||
42 | 38 | } | ||
43 | 39 | |||
44 | 40 | // Maybe using a transparent PNG is a better approach (performance) | ||
45 | 41 | Rectangle { | ||
46 | 42 | width: parent.width | ||
47 | 43 | height: parent.height | ||
48 | 44 | x: 0 | ||
49 | 45 | y: 0 | ||
50 | 46 | gradient: Gradient { | ||
51 | 47 | GradientStop {color: "transparent"; position: 0.5} | ||
52 | 48 | GradientStop {color: "#444"; position: 1} | ||
53 | 49 | } | ||
54 | 50 | } | ||
55 | 51 | UbuntuShape { | ||
56 | 52 | id: profilePicRectangle | ||
57 | 53 | anchors.top: parent.top | ||
58 | 54 | width: 100 | ||
59 | 55 | anchors.topMargin: 40 | ||
60 | 56 | anchors.horizontalCenter: parent.horizontalCenter | ||
61 | 57 | color: "white" | ||
62 | 58 | height: 100 | ||
63 | 59 | image: Image { | ||
64 | 60 | id: picImage | ||
65 | 61 | source: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
66 | 62 | } | ||
67 | 63 | } | ||
68 | 64 | |||
69 | 65 | Text { | ||
70 | 66 | id: realName | ||
71 | 67 | text: "Fernando M" | ||
72 | 68 | anchors.horizontalCenter: parent.horizontalCenter | ||
73 | 69 | anchors.top: profilePicRectangle.bottom | ||
74 | 70 | anchors.topMargin: 8 | ||
75 | 71 | color: "white" | ||
76 | 72 | font.pixelSize: 16 | ||
77 | 73 | font.bold: true | ||
78 | 74 | style: Text.Raised | ||
79 | 75 | |||
80 | 76 | } | ||
81 | 77 | |||
82 | 78 | |||
83 | 79 | Text { | ||
84 | 80 | |||
85 | 81 | style: Text.Raised | ||
86 | 82 | font.pixelSize: 14 | ||
87 | 83 | text: "@bef0rd" | ||
88 | 84 | font.bold: true | ||
89 | 85 | |||
90 | 86 | anchors.horizontalCenter: parent.horizontalCenter | ||
91 | 87 | anchors.top: realName.bottom | ||
92 | 88 | anchors.topMargin: 2 | ||
93 | 89 | color: "white" | ||
94 | 90 | |||
95 | 91 | } | ||
96 | 92 | |||
97 | 93 | |||
98 | 94 | |||
99 | 95 | |||
100 | 96 | } | ||
101 | 97 | |||
102 | 98 | |||
103 | 99 | ListModel { | ||
104 | 100 | id: tweetModel | ||
105 | 101 | |||
106 | 102 | ListElement { | ||
107 | 103 | title: "We’re all used to the 140-character limit by now, but do you know how it started? Here’s a little history lesson for anyone wondering why ..." | ||
108 | 104 | author: "@bef0rd" | ||
109 | 105 | display: "Fernando M" | ||
110 | 106 | date: "1h" | ||
111 | 107 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
112 | 108 | |||
113 | 109 | } | ||
114 | 110 | |||
115 | 111 | ListElement { | ||
116 | 112 | title: "Another example from my self but this time with a slightly longer message." | ||
117 | 113 | author: "@bef0rd" | ||
118 | 114 | display: "Fernando M" | ||
119 | 115 | date: "1d" | ||
120 | 116 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
121 | 117 | favorite: true | ||
122 | 118 | |||
123 | 119 | |||
124 | 120 | } | ||
125 | 121 | ListElement { | ||
126 | 122 | title: "I left my bed once. It was awful." | ||
127 | 123 | author: "@grumpycat" | ||
128 | 124 | display: "Tard" | ||
129 | 125 | date: "1d" | ||
130 | 126 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
131 | 127 | retweet: true | ||
132 | 128 | retweetAuthor: "@bef0rd" | ||
133 | 129 | favorite: true | ||
134 | 130 | |||
135 | 131 | } | ||
136 | 132 | |||
137 | 133 | |||
138 | 134 | ListElement { | ||
139 | 135 | title: "<a href='#Ubuntu'>#Ubuntu</a> Touch Developer Preview code released soon for developers' spare devices. Not consumer ready just yet!" | ||
140 | 136 | author: "@Ubuntu" | ||
141 | 137 | display: "Ubuntu" | ||
142 | 138 | date: "1d" | ||
143 | 139 | picture: "https://si0.twimg.com/profile_images/1486153713/cof_orange_hex_bigger.jpg" | ||
144 | 140 | retweet: true | ||
145 | 141 | retweetAuthor: "@bef0rd" | ||
146 | 142 | favorite: true | ||
147 | 143 | |||
148 | 144 | } | ||
149 | 145 | |||
150 | 146 | ListElement { | ||
151 | 147 | title: "Worst apocalypse ever." | ||
152 | 148 | author: "@grumpycat" | ||
153 | 149 | display: "Tard" | ||
154 | 150 | date: "1d" | ||
155 | 151 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
156 | 152 | retweet: true | ||
157 | 153 | retweetAuthor: "@bef0rd" | ||
158 | 154 | |||
159 | 155 | } | ||
160 | 156 | |||
161 | 157 | |||
162 | 158 | ListElement { | ||
163 | 159 | title: "Another example from my self but this time with a slightly longer message." | ||
164 | 160 | author: "@bef0rd" | ||
165 | 161 | display: "Fernando M" | ||
166 | 162 | date: "1d" | ||
167 | 163 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
168 | 164 | |||
169 | 165 | } | ||
170 | 166 | ListElement { | ||
171 | 167 | title: "I like the <a href='#Titanic'>#Titanic</a> movie, my favorite character was the iceberg." | ||
172 | 168 | author: "@grumpycat" | ||
173 | 169 | display: "Tard" | ||
174 | 170 | date: "1d" | ||
175 | 171 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
176 | 172 | retweet: true | ||
177 | 173 | retweetAuthor: "@bef0rd" | ||
178 | 174 | |||
179 | 175 | } | ||
180 | 176 | |||
181 | 177 | } | ||
182 | 178 | |||
183 | 179 | |||
184 | 180 | Rectangle { | ||
185 | 181 | id: rectangleInfo | ||
186 | 182 | height: units.gu(7) | ||
187 | 183 | anchors.top: topRectangle.bottom | ||
188 | 184 | anchors.left: parent.left | ||
189 | 185 | anchors.right: parent.right | ||
190 | 186 | color: "white" | ||
191 | 187 | Text { | ||
192 | 188 | text: "1,000 TWEETS" | ||
193 | 189 | anchors.left: parent.left | ||
194 | 190 | anchors.leftMargin: units.gu(3) | ||
195 | 191 | width: units.gu(10) | ||
196 | 192 | wrapMode: Text.WordWrap | ||
197 | 193 | anchors.verticalCenter: parent.verticalCenter | ||
198 | 194 | |||
199 | 195 | } | ||
200 | 196 | Text { | ||
201 | 197 | text: "1,222 FOLLOWING" | ||
202 | 198 | anchors.horizontalCenter: parent.horizontalCenter | ||
203 | 199 | anchors.verticalCenter: parent.verticalCenter | ||
204 | 200 | width: units.gu(10) | ||
205 | 201 | wrapMode: Text.WordWrap | ||
206 | 202 | } | ||
207 | 203 | |||
208 | 204 | Text { | ||
209 | 205 | anchors.rightMargin: units.gu(3) | ||
210 | 206 | anchors.verticalCenter: parent.verticalCenter | ||
211 | 207 | |||
212 | 208 | |||
213 | 209 | text: "1,444 FOLLOWERS" | ||
214 | 210 | width: units.gu(10) | ||
215 | 211 | wrapMode: Text.WordWrap | ||
216 | 212 | anchors.right: parent.right | ||
217 | 213 | } | ||
218 | 214 | } | ||
219 | 215 | |||
220 | 216 | Rectangle { | ||
221 | 217 | anchors.top: rectangleInfo.bottom | ||
222 | 218 | anchors.left: parent.left | ||
223 | 219 | anchors.right: parent.right | ||
224 | 220 | anchors.bottom: parent.bottom | ||
225 | 221 | |||
226 | 222 | ListView { | ||
227 | 223 | id: listTweets | ||
228 | 224 | clip: true | ||
229 | 225 | anchors.fill: parent | ||
230 | 226 | model: tweetModel | ||
231 | 227 | delegate: TweetDelegate { | ||
232 | 228 | onClicked: console.log("tweet clicked: "+ title) | ||
233 | 229 | onLinkClicked: console.log("link: " + link) | ||
234 | 230 | onProfileClicked: console.log("profile: " + profile) | ||
235 | 231 | |||
236 | 232 | } | ||
237 | 233 | |||
238 | 234 | |||
239 | 235 | } | ||
240 | 236 | Scrollbar { | ||
241 | 237 | flickableItem: listTweets | ||
242 | 238 | align: Qt.AlignTrailing | ||
243 | 239 | } | ||
244 | 240 | |||
245 | 241 | } | ||
246 | 242 | |||
247 | 243 | } | ||
248 | 0 | 244 | ||
249 | === added file 'TimelinePage.qml' | |||
250 | --- TimelinePage.qml 1970-01-01 00:00:00 +0000 | |||
251 | +++ TimelinePage.qml 2013-02-25 20:38:19 +0000 | |||
252 | @@ -0,0 +1,176 @@ | |||
253 | 1 | import QtQuick 2.0 | ||
254 | 2 | import Ubuntu.Components 0.1 | ||
255 | 3 | |||
256 | 4 | Page { | ||
257 | 5 | tools: ToolbarActions { | ||
258 | 6 | Action { | ||
259 | 7 | objectName: "action" | ||
260 | 8 | iconSource: Qt.resolvedUrl("avatar.png") | ||
261 | 9 | text: i18n.tr("Write") | ||
262 | 10 | |||
263 | 11 | onTriggered: { | ||
264 | 12 | console.log("write new tweet") | ||
265 | 13 | } | ||
266 | 14 | } | ||
267 | 15 | } | ||
268 | 16 | |||
269 | 17 | |||
270 | 18 | |||
271 | 19 | ListModel { | ||
272 | 20 | id: tweetModel | ||
273 | 21 | |||
274 | 22 | ListElement { | ||
275 | 23 | title: "<a hreg='#Ubuntu'>#Ubuntu</a> tablet sets new standard: multitasking productivity, effortless navigation & defence-ready security. More here: http://buzz.mw/-FWD_y" | ||
276 | 24 | author: "@Ubuntu" | ||
277 | 25 | display: "Ubuntu" | ||
278 | 26 | date: "4min" | ||
279 | 27 | picture: "https://si0.twimg.com/profile_images/1486153713/cof_orange_hex_bigger.jpg" | ||
280 | 28 | } | ||
281 | 29 | |||
282 | 30 | ListElement { | ||
283 | 31 | title: "We’re all used to the 140-character limit by now, but do you know how it started? Here’s a little history lesson for anyone wondering why ..." | ||
284 | 32 | author: "@bef0rd" | ||
285 | 33 | display: "Fernando M" | ||
286 | 34 | date: "1h" | ||
287 | 35 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
288 | 36 | |||
289 | 37 | } | ||
290 | 38 | |||
291 | 39 | ListElement { | ||
292 | 40 | title: "Another example from my self but this time with a slightly longer message." | ||
293 | 41 | author: "@bef0rd" | ||
294 | 42 | display: "Fernando M" | ||
295 | 43 | date: "1d" | ||
296 | 44 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
297 | 45 | favorite: true | ||
298 | 46 | |||
299 | 47 | |||
300 | 48 | } | ||
301 | 49 | ListElement { | ||
302 | 50 | title: "I left my bed once. It was awful." | ||
303 | 51 | author: "@grumpycat" | ||
304 | 52 | display: "Tard" | ||
305 | 53 | date: "1d" | ||
306 | 54 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
307 | 55 | retweet: true | ||
308 | 56 | retweetAuthor: "@bef0rd" | ||
309 | 57 | favorite: true | ||
310 | 58 | |||
311 | 59 | } | ||
312 | 60 | |||
313 | 61 | |||
314 | 62 | ListElement { | ||
315 | 63 | title: "<a href='#Ubuntu'>#Ubuntu</a> Touch Developer Preview code released soon for developers' spare devices. Not consumer ready just yet!" | ||
316 | 64 | author: "@Ubuntu" | ||
317 | 65 | display: "Ubuntu" | ||
318 | 66 | date: "1d" | ||
319 | 67 | picture: "https://si0.twimg.com/profile_images/1486153713/cof_orange_hex_bigger.jpg" | ||
320 | 68 | retweet: true | ||
321 | 69 | retweetAuthor: "@bef0rd" | ||
322 | 70 | favorite: true | ||
323 | 71 | |||
324 | 72 | } | ||
325 | 73 | |||
326 | 74 | |||
327 | 75 | ListElement { | ||
328 | 76 | title: "We’re all used to the 140-character limit by now, but do you know how it started? Here’s a little history lesson for anyone wondering why ..." | ||
329 | 77 | author: "@bef0rd" | ||
330 | 78 | display: "Fernando M" | ||
331 | 79 | date: "1h" | ||
332 | 80 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
333 | 81 | |||
334 | 82 | } | ||
335 | 83 | |||
336 | 84 | |||
337 | 85 | ListElement { | ||
338 | 86 | title: "Worst apocalypse ever." | ||
339 | 87 | author: "@grumpycat" | ||
340 | 88 | display: "Tard" | ||
341 | 89 | date: "1d" | ||
342 | 90 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
343 | 91 | retweet: true | ||
344 | 92 | retweetAuthor: "@bef0rd" | ||
345 | 93 | |||
346 | 94 | } | ||
347 | 95 | |||
348 | 96 | |||
349 | 97 | ListElement { | ||
350 | 98 | title: "Another example from my self but this time with a slightly longer message." | ||
351 | 99 | author: "@bef0rd" | ||
352 | 100 | display: "Fernando M" | ||
353 | 101 | date: "1d" | ||
354 | 102 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
355 | 103 | |||
356 | 104 | } | ||
357 | 105 | ListElement { | ||
358 | 106 | title: "I like the <a href='#Titanic'>#Titanic</a> movie, my favorite character was the iceberg." | ||
359 | 107 | author: "@grumpycat" | ||
360 | 108 | display: "Tard" | ||
361 | 109 | date: "1d" | ||
362 | 110 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
363 | 111 | retweet: true | ||
364 | 112 | retweetAuthor: "@juan" | ||
365 | 113 | |||
366 | 114 | } | ||
367 | 115 | |||
368 | 116 | ListElement { | ||
369 | 117 | title: "We’re all used to the 140-character limit by now, but do you know how it started? Here’s a little history lesson for anyone wondering why ..." | ||
370 | 118 | author: "@bef0rd" | ||
371 | 119 | display: "Fernando M" | ||
372 | 120 | date: "1h" | ||
373 | 121 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
374 | 122 | |||
375 | 123 | } | ||
376 | 124 | |||
377 | 125 | |||
378 | 126 | ListElement { | ||
379 | 127 | title: "We’re all used to the 140-character limit by now, but do you know how it started? Here’s a little history lesson for anyone wondering why ..." | ||
380 | 128 | author: "@bef0rd" | ||
381 | 129 | display: "Fernando M" | ||
382 | 130 | date: "1h" | ||
383 | 131 | picture: "https://ma.twimg.com/profile_images/1556542534/image_normal.jpg" | ||
384 | 132 | |||
385 | 133 | } | ||
386 | 134 | |||
387 | 135 | |||
388 | 136 | |||
389 | 137 | ListElement { | ||
390 | 138 | title: "Worst apocalypse ever." | ||
391 | 139 | author: "@grumpycat" | ||
392 | 140 | display: "Tard" | ||
393 | 141 | date: "1d" | ||
394 | 142 | picture: "https://si0.twimg.com/profile_images/2842874910/88d2fa4202c6c2013ed5bd5e2882a3dd_bigger.png" | ||
395 | 143 | |||
396 | 144 | } | ||
397 | 145 | |||
398 | 146 | } | ||
399 | 147 | |||
400 | 148 | Rectangle { | ||
401 | 149 | anchors.top: parent.top | ||
402 | 150 | anchors.left: parent.left | ||
403 | 151 | anchors.right: parent.right | ||
404 | 152 | anchors.bottom: parent.bottom | ||
405 | 153 | |||
406 | 154 | ListView { | ||
407 | 155 | id: listTweets | ||
408 | 156 | clip: true | ||
409 | 157 | anchors.fill: parent | ||
410 | 158 | model: tweetModel | ||
411 | 159 | delegate: TweetDelegate { | ||
412 | 160 | onClicked: console.log("tweet clicked: "+ title) | ||
413 | 161 | onLinkClicked: console.log("link: " + link) | ||
414 | 162 | onProfileClicked: console.log("profile: " + profile) | ||
415 | 163 | |||
416 | 164 | } | ||
417 | 165 | |||
418 | 166 | |||
419 | 167 | } | ||
420 | 168 | Scrollbar { | ||
421 | 169 | flickableItem: listTweets | ||
422 | 170 | align: Qt.AlignTrailing | ||
423 | 171 | } | ||
424 | 172 | |||
425 | 173 | |||
426 | 174 | } | ||
427 | 175 | |||
428 | 176 | } | ||
429 | 0 | 177 | ||
430 | === added file 'TweetDelegate.qml' | |||
431 | --- TweetDelegate.qml 1970-01-01 00:00:00 +0000 | |||
432 | +++ TweetDelegate.qml 2013-02-25 20:38:19 +0000 | |||
433 | @@ -0,0 +1,102 @@ | |||
434 | 1 | import QtQuick 2.0 | ||
435 | 2 | import Ubuntu.Components 0.1 | ||
436 | 3 | |||
437 | 4 | Item { | ||
438 | 5 | //TODO: handle signals onLink | ||
439 | 6 | id: listItem | ||
440 | 7 | signal clicked; | ||
441 | 8 | signal linkClicked(string link); | ||
442 | 9 | signal profileClicked(string profile); | ||
443 | 10 | |||
444 | 11 | property alias pressed: mouseArea.pressed | ||
445 | 12 | |||
446 | 13 | |||
447 | 14 | height: tweetMessage.paintedHeight + (retweet ? units.gu(10) : units.gu(7) ) | ||
448 | 15 | width: parent.width | ||
449 | 16 | |||
450 | 17 | Rectangle { | ||
451 | 18 | anchors.fill: parent | ||
452 | 19 | |||
453 | 20 | // anchors.margins: units.gu(0.5) | ||
454 | 21 | color: pressed ? "#eeeeee" : "white" | ||
455 | 22 | border.color: "#efefef" | ||
456 | 23 | border.width: 1 | ||
457 | 24 | |||
458 | 25 | UbuntuShape { | ||
459 | 26 | id: profilePicture | ||
460 | 27 | anchors.left: parent.left | ||
461 | 28 | anchors.verticalCenter: parent.verticalCenter | ||
462 | 29 | anchors.margins: units.gu(0.5) | ||
463 | 30 | color: "#eeeeee" | ||
464 | 31 | width: units.gu(8) | ||
465 | 32 | height: units.gu(8) | ||
466 | 33 | image: Image { | ||
467 | 34 | source: picture | ||
468 | 35 | } | ||
469 | 36 | } | ||
470 | 37 | |||
471 | 38 | |||
472 | 39 | MouseArea { | ||
473 | 40 | id: mouseArea | ||
474 | 41 | anchors.fill: parent | ||
475 | 42 | onClicked: listItem.clicked() | ||
476 | 43 | |||
477 | 44 | } | ||
478 | 45 | |||
479 | 46 | Image { | ||
480 | 47 | anchors.top: parent.top | ||
481 | 48 | anchors.right: parent.right | ||
482 | 49 | source: (favorite && retweet) ? "favoretweedted.png" : ( favorite ? "favorited.png" : "retweeted.png") | ||
483 | 50 | visible: (favorite || retweet) | ||
484 | 51 | } | ||
485 | 52 | |||
486 | 53 | |||
487 | 54 | Image { | ||
488 | 55 | visible: retweet | ||
489 | 56 | source: "./retweet.png" | ||
490 | 57 | anchors.left: profilePicture.right | ||
491 | 58 | anchors.top: parent.top | ||
492 | 59 | anchors.margins: units.gu(0.5) | ||
493 | 60 | id: retweetImg | ||
494 | 61 | |||
495 | 62 | } | ||
496 | 63 | |||
497 | 64 | Label { | ||
498 | 65 | id: retweetLabel | ||
499 | 66 | text: retweet ? "retweeted by " + retweetAuthor : "" | ||
500 | 67 | anchors.top: parent.top | ||
501 | 68 | anchors.margins: units.gu(0.5) | ||
502 | 69 | anchors.left: retweetImg.right | ||
503 | 70 | visible: retweet | ||
504 | 71 | } | ||
505 | 72 | |||
506 | 73 | Label { | ||
507 | 74 | id: authorLabel | ||
508 | 75 | text: "<b>" + display + " " + author | ||
509 | 76 | anchors.top: retweet ? retweetLabel.bottom : parent.top | ||
510 | 77 | anchors.margins: units.gu(1) | ||
511 | 78 | anchors.left: profilePicture.right | ||
512 | 79 | MouseArea { | ||
513 | 80 | anchors.fill: parent | ||
514 | 81 | onClicked: { | ||
515 | 82 | listItem.profileClicked(author) | ||
516 | 83 | console.log("author ca: "+author) | ||
517 | 84 | } | ||
518 | 85 | } | ||
519 | 86 | |||
520 | 87 | } | ||
521 | 88 | |||
522 | 89 | Label { | ||
523 | 90 | id: tweetMessage | ||
524 | 91 | text: title | ||
525 | 92 | wrapMode: Text.Wrap | ||
526 | 93 | anchors.top: authorLabel.bottom | ||
527 | 94 | anchors.margins: units.gu(1) | ||
528 | 95 | anchors.left: profilePicture.right | ||
529 | 96 | anchors.right: parent.right | ||
530 | 97 | anchors.bottom: parent.bottom | ||
531 | 98 | onLinkActivated: { listItem.linkClicked(link) } | ||
532 | 99 | } | ||
533 | 100 | |||
534 | 101 | } | ||
535 | 102 | } | ||
536 | 0 | 103 | ||
537 | === modified file 'twitter.qml' | |||
538 | --- twitter.qml 2013-02-12 16:28:49 +0000 | |||
539 | +++ twitter.qml 2013-02-25 20:38:19 +0000 | |||
540 | @@ -17,29 +17,27 @@ | |||
541 | 17 | Tabs { | 17 | Tabs { |
542 | 18 | id: tabs | 18 | id: tabs |
543 | 19 | anchors.fill: parent | 19 | anchors.fill: parent |
545 | 20 | 20 | ||
546 | 21 | |||
547 | 21 | // First tab begins here | 22 | // First tab begins here |
548 | 22 | Tab { | 23 | Tab { |
564 | 23 | objectName: "Tab1" | 24 | objectName: "timelineTab" |
565 | 24 | 25 | title: i18n.tr("Timeline") | |
566 | 25 | title: i18n.tr("Twitter") | 26 | page: TimelinePage {} |
567 | 26 | 27 | } | |
568 | 27 | // Tab content begins here | 28 | |
569 | 28 | page: Page { | 29 | Tab { |
570 | 29 | Column { | 30 | objectName: "profileTab" |
571 | 30 | anchors.centerIn: parent | 31 | title: i18n.tr("Profile") |
572 | 31 | Label { | 32 | page: ProfilePage { } |
573 | 32 | text: i18n.tr("Swipe from right to left to change tab.") | 33 | |
574 | 33 | } | 34 | } |
575 | 34 | } | 35 | |
561 | 35 | } | ||
562 | 36 | } | ||
563 | 37 | |||
576 | 38 | // Second tab begins here | 36 | // Second tab begins here |
577 | 39 | Tab { | 37 | Tab { |
579 | 40 | objectName: "Tab2" | 38 | objectName: "connectionsTab" |
580 | 41 | 39 | ||
582 | 42 | title: i18n.tr("Optional Screen") | 40 | title: i18n.tr("Connections") |
583 | 43 | page: Page { | 41 | page: Page { |
584 | 44 | anchors.margins: units.gu(2) | 42 | anchors.margins: units.gu(2) |
585 | 45 | 43 | ||
586 | @@ -67,5 +65,12 @@ | |||
587 | 67 | } | 65 | } |
588 | 68 | } | 66 | } |
589 | 69 | } | 67 | } |
590 | 68 | |||
591 | 69 | Tab { | ||
592 | 70 | objectName: "dmTab" | ||
593 | 71 | title: i18n.tr("Direct Messages") | ||
594 | 72 | } | ||
595 | 73 | |||
596 | 74 | |||
597 | 70 | } | 75 | } |
598 | 71 | } | 76 | } |
FAILED: Continuous integration, rev:3 /code.launchpad .net/~fmunozs/ ubuntu- twitter- app/profileview /+merge/ 150429/ +edit-commit- message
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https:/
http:// 91.189. 93.125: 8080/job/ ubuntu- twitter- app-ci/ 1/ 91.189. 93.125: 8080/job/ ubuntu- twitter- app-ci/ ./build= pbuilder, distribution= quantal, flavor= amd64/1/ console
Executed test runs:
SUCCESS: http://
Click here to trigger a rebuild: 91.189. 93.125: 8080/job/ ubuntu- twitter- app-ci/ 1//rebuild/?
http://