Merge lp:~nik90/ubuntu-clock-app/migrate-clock-pageheaders into lp:ubuntu-clock-app

Proposed by Nekhelesh Ramananthan
Status: Merged
Approved by: Nekhelesh Ramananthan
Approved revision: 456
Merged at revision: 449
Proposed branch: lp:~nik90/ubuntu-clock-app/migrate-clock-pageheaders
Merge into: lp:ubuntu-clock-app
Diff against target: 838 lines (+170/-454)
11 files modified
app/alarm/AlarmLabel.qml (+30/-22)
app/alarm/AlarmPage.qml (+3/-3)
app/alarm/AlarmRepeat.qml (+50/-49)
app/alarm/AlarmSettingsPage.qml (+5/-2)
app/alarm/AlarmSound.qml (+29/-24)
app/components/EmptyState.qml (+3/-1)
app/graphics/CMakeLists.txt (+0/-2)
app/graphics/select-none.svg (+0/-153)
app/graphics/select.svg (+0/-158)
app/worldclock/WorldCityList.qml (+49/-40)
debian/changelog (+1/-0)
To merge this branch: bzr merge lp:~nik90/ubuntu-clock-app/migrate-clock-pageheaders
Reviewer Review Type Date Requested Status
Jenkins Bot continuous-integration Approve
Michal Predotka Approve
Review via email: mp+287416@code.launchpad.net

Commit message

- Migrated all page.head to the new PageHeaders except for SoundPeerPicker.qml (since it uses ContentPeerPicker that uses UC 1.2. Mixing 1.2 and 1.3 is not recommended)

- Removed custom select-none.svg and select.svg icon assets as they have been added to the theme.

Description of the change

Migrated all page.head to the new PageHeaders except for SoundPeerPicker.qml (since it uses ContentPeerPicker that uses UC 1.2. Mixing 1.2 and 1.3 is not recommended)

To post a comment you must log in.
Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
456. By Nekhelesh Ramananthan

Switched to select & select-none icons provided by unity theme

Revision history for this message
Michal Predotka (mpredotka) wrote :

Looks and works as expected.

review: Approve
Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'app/alarm/AlarmLabel.qml'
2--- app/alarm/AlarmLabel.qml 2016-02-25 22:16:54 +0000
3+++ app/alarm/AlarmLabel.qml 2016-02-29 11:40:48 +0000
4@@ -30,27 +30,32 @@
5 property string oldAlarmLabel: alarm.message
6
7 visible: false
8- title: i18n.tr("Label")
9-
10- head.backAction: Action {
11- id: backAction
12- iconName: "back"
13- onTriggered: {
14- // Restore old alarm label if user presses the back button
15- alarm.message = oldAlarmLabel
16- pop()
17- }
18- }
19-
20- head.actions: Action {
21- id: saveAction
22- objectName: "saveAction"
23- iconName: "ok"
24- enabled: oldAlarmLabel !== _labelEntry.text.trim() && _labelEntry.text.trim()
25- onTriggered: {
26- alarm.message = _labelEntry.text.trim()
27- pop()
28- }
29+
30+ header: PageHeader {
31+ title: i18n.tr("Label")
32+ leadingActionBar.actions: [
33+ Action {
34+ id: backAction
35+ iconName: "back"
36+ onTriggered: {
37+ // Restore old alarm label if user presses the back button
38+ alarm.message = oldAlarmLabel
39+ pop()
40+ }
41+ }
42+ ]
43+ trailingActionBar.actions: [
44+ Action {
45+ id: saveAction
46+ objectName: "saveAction"
47+ iconName: "ok"
48+ enabled: oldAlarmLabel !== _labelEntry.text.trim() && _labelEntry.text.trim()
49+ onTriggered: {
50+ alarm.message = _labelEntry.text.trim()
51+ pop()
52+ }
53+ }
54+ ]
55 }
56
57 Component.onCompleted: {
58@@ -63,7 +68,10 @@
59 spacing: units.gu(0.5)
60
61 anchors {
62- fill: parent
63+ top: _alarmLabelPage.header.bottom
64+ left: parent.left
65+ right: parent.right
66+ bottom: parent.bottom
67 margins: units.gu(2)
68 }
69
70
71=== modified file 'app/alarm/AlarmPage.qml'
72--- app/alarm/AlarmPage.qml 2016-02-26 11:24:13 +0000
73+++ app/alarm/AlarmPage.qml 2016-02-29 11:40:48 +0000
74@@ -81,11 +81,11 @@
75 }
76 }
77
78- iconSource: {
79+ iconName: {
80 if(alarmListView.ViewItems.selectedIndices.length === alarmListView.count) {
81- return Qt.resolvedUrl("../graphics/select-none.svg")
82+ return "select-none"
83 } else {
84- return Qt.resolvedUrl("../graphics/select.svg")
85+ return "select"
86 }
87 }
88
89
90=== modified file 'app/alarm/AlarmRepeat.qml'
91--- app/alarm/AlarmRepeat.qml 2016-02-25 22:16:54 +0000
92+++ app/alarm/AlarmRepeat.qml 2016-02-29 11:40:48 +0000
93@@ -33,7 +33,50 @@
94 property int oldAlarmDaysOfWeek
95
96 visible: false
97- title: i18n.tr("Repeat")
98+
99+ header: PageHeader {
100+ title: i18n.tr("Repeat")
101+ leadingActionBar.actions: [
102+ Action {
103+ iconName: "back"
104+ onTriggered: {
105+ // Restore alarm frequency and type if user presses the back button
106+ alarm.daysOfWeek = oldAlarmDaysOfWeek
107+ detectAlarmType()
108+ pop()
109+ }
110+ }
111+ ]
112+ trailingActionBar.actions: [
113+ Action {
114+ id: saveAction
115+ objectName: "saveAction"
116+ iconName: "ok"
117+ enabled: oldAlarmDaysOfWeek !== alarm.daysOfWeek
118+ onTriggered: {
119+ pop()
120+ }
121+ },
122+
123+ Action {
124+ text: i18n.tr("Select All")
125+ iconName: alarm.daysOfWeek === 127 ? "select-none" : "select"
126+ onTriggered: {
127+ if (alarm.daysOfWeek === 127) {
128+ for (var i=0; i<_alarmDays.count; i++) {
129+ _alarmDays.itemAt(i).isChecked = false
130+ }
131+ }
132+
133+ else {
134+ for (var i=0; i<_alarmDays.count; i++) {
135+ _alarmDays.itemAt(i).isChecked = true
136+ }
137+ }
138+ }
139+ }
140+ ]
141+ }
142
143 // Function to detect if alarm is OneTime or Repeating
144 function detectAlarmType() {
145@@ -44,53 +87,6 @@
146 }
147 }
148
149- head.backAction: Action {
150- iconName: "back"
151- onTriggered: {
152- // Restore alarm frequency and type if user presses the back button
153- alarm.daysOfWeek = oldAlarmDaysOfWeek
154- detectAlarmType()
155- pop()
156- }
157- }
158-
159- head.actions: [
160- Action {
161- text: i18n.tr("Select All")
162-
163- iconSource: {
164- if(alarm.daysOfWeek === 127)
165- return Qt.resolvedUrl("../graphics/select-none.svg")
166- else
167- return Qt.resolvedUrl("../graphics/select.svg")
168- }
169-
170- onTriggered: {
171- if (alarm.daysOfWeek === 127) {
172- for (var i=0; i<_alarmDays.count; i++) {
173- _alarmDays.itemAt(i).isChecked = false
174- }
175- }
176-
177- else {
178- for (var i=0; i<_alarmDays.count; i++) {
179- _alarmDays.itemAt(i).isChecked = true
180- }
181- }
182- }
183- },
184-
185- Action {
186- id: saveAction
187- objectName: "saveAction"
188- iconName: "ok"
189- enabled: oldAlarmDaysOfWeek !== alarm.daysOfWeek
190- onTriggered: {
191- pop()
192- }
193- }
194- ]
195-
196 /*
197 By Default, the alarm is set to Today. However if it is a one-time alarm,
198 this should be set to none, since this page shows the days the alarm
199@@ -135,7 +131,12 @@
200 Column {
201 id: _alarmDayColumn
202
203- anchors.fill: parent
204+ anchors {
205+ top: _alarmRepeatPage.header.bottom
206+ left: parent.left
207+ right: parent.right
208+ bottom: parent.bottom
209+ }
210
211 Repeater {
212 id: _alarmDays
213
214=== modified file 'app/alarm/AlarmSettingsPage.qml'
215--- app/alarm/AlarmSettingsPage.qml 2016-02-25 22:16:54 +0000
216+++ app/alarm/AlarmSettingsPage.qml 2016-02-29 11:40:48 +0000
217@@ -25,9 +25,12 @@
218 Page {
219 id: _alarmSettings
220
221- title: i18n.tr("Settings")
222 visible: false
223- flickable: settingsPlugin
224+
225+ header: PageHeader {
226+ title: i18n.tr("Settings")
227+ flickable: settingsPlugin
228+ }
229
230 Connections {
231 target: clockApp
232
233=== modified file 'app/alarm/AlarmSound.qml'
234--- app/alarm/AlarmSound.qml 2016-02-15 21:44:47 +0000
235+++ app/alarm/AlarmSound.qml 2016-02-29 11:40:48 +0000
236@@ -27,8 +27,6 @@
237 id: _alarmSoundPage
238 objectName: "alarmSoundPage"
239
240- title: i18n.tr("Sound")
241- flickable: _pageFlickable
242 visible: false
243
244 // Property used to let pageStack know that this is the alarm sound page
245@@ -58,24 +56,31 @@
246 oldAlarmSoundName = alarmSound.subText
247 }
248
249- head.backAction: Action {
250- iconName: "back"
251- onTriggered: {
252- // Restore alarm sound to old values (url, name) if the back button is pressed
253- alarm.sound = oldAlarmSoundUrl
254- alarmSound.subText = oldAlarmSoundName
255- pop()
256- }
257- }
258-
259- head.actions: Action {
260- id: saveAction
261- objectName: "saveAction"
262- iconName: "ok"
263- enabled: oldAlarmSoundUrl !== alarm.sound
264- onTriggered: {
265- pop()
266- }
267+ header: PageHeader {
268+ title: i18n.tr("Sound")
269+ flickable: _pageFlickable
270+ leadingActionBar.actions: [
271+ Action {
272+ iconName: "back"
273+ onTriggered: {
274+ // Restore alarm sound to old values (url, name) if the back button is pressed
275+ alarm.sound = oldAlarmSoundUrl
276+ alarmSound.subText = oldAlarmSoundName
277+ pop()
278+ }
279+ }
280+ ]
281+ trailingActionBar.actions: [
282+ Action {
283+ id: saveAction
284+ objectName: "saveAction"
285+ iconName: "ok"
286+ enabled: oldAlarmSoundUrl !== alarm.sound
287+ onTriggered: {
288+ pop()
289+ }
290+ }
291+ ]
292 }
293
294 FolderListModel {
295@@ -125,7 +130,7 @@
296 for (var i=0; i<customSoundModel.count; i++) {
297 if (soundUrl === customSoundModel.get(i, "fileURL")) {
298 alarmSound.subText = customSoundModel.get(i, "fileBaseName")
299- alarm.sound = soundUrl
300+ alarm.sound = soundUrl
301 _customAlarmSounds.itemAt(i).isChecked = true
302 previewAlarmSound.controlPlayback(soundUrl)
303 return
304@@ -217,7 +222,7 @@
305 objectName: "customAlarmSoundDelegate" + index
306
307 property bool isChecked: alarmSound.subText === _customSoundName.title.text ? true
308- : false
309+ : false
310
311 height: _customSoundName.height + divider.height
312
313@@ -244,7 +249,7 @@
314 for (var i=0; i<defaultSoundModel.count; i++) {
315 if (defaultSoundModel.get(i, "fileBaseName") === alarmSound.subText) {
316 alarm.sound = defaultSoundModel.get(i, "fileURL")
317- oldAlarmSoundUrl = alarm.sound
318+ oldAlarmSoundUrl = alarm.sound
319 _alarmSounds.itemAt(i).isChecked = true
320 previewAlarmSound.controlPlayback(defaultSoundModel.get(i, "fileURL"))
321 }
322@@ -354,7 +359,7 @@
323 objectName: "alarmSoundDelegate" + index
324
325 property bool isChecked: alarmSound.subText === _soundName.title.text ? true
326- : false
327+ : false
328
329 height: _soundName.height + divider.height
330
331
332=== modified file 'app/components/EmptyState.qml'
333--- app/components/EmptyState.qml 2016-02-25 22:16:54 +0000
334+++ app/components/EmptyState.qml 2016-02-29 11:40:48 +0000
335@@ -45,12 +45,13 @@
336 Label {
337 id: emptyLabel
338 textSize: Label.Large
339- font.bold: true
340+ font.weight: Font.Normal
341 width: parent.width
342 wrapMode: Text.WordWrap
343 anchors.top: emptyIcon.bottom
344 anchors.topMargin: units.gu(4)
345 horizontalAlignment: Text.AlignHCenter
346+ color: "#5d5d5d"
347 }
348
349 Label {
350@@ -59,5 +60,6 @@
351 wrapMode: Text.WordWrap
352 anchors.top: emptyLabel.bottom
353 horizontalAlignment: Text.AlignHCenter
354+ color: "#888888"
355 }
356 }
357
358=== modified file 'app/graphics/CMakeLists.txt'
359--- app/graphics/CMakeLists.txt 2016-02-20 23:49:00 +0000
360+++ app/graphics/CMakeLists.txt 2016-02-29 11:40:48 +0000
361@@ -7,8 +7,6 @@
362 Minute_Hand_Shadow@27.png
363 Second_Hand@27.png
364 Second_Hand_Shadow@27.png
365- select-none.svg
366- select.svg
367 )
368
369 # make the files visible in the qtcreator tree
370
371=== removed file 'app/graphics/select-none.svg'
372--- app/graphics/select-none.svg 2015-09-17 04:33:11 +0000
373+++ app/graphics/select-none.svg 1970-01-01 00:00:00 +0000
374@@ -1,153 +0,0 @@
375-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
376-<!-- Created with Inkscape (http://www.inkscape.org/) -->
377-
378-<svg
379- xmlns:dc="http://purl.org/dc/elements/1.1/"
380- xmlns:cc="http://creativecommons.org/ns#"
381- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
382- xmlns:svg="http://www.w3.org/2000/svg"
383- xmlns="http://www.w3.org/2000/svg"
384- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
385- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
386- width="90"
387- height="90"
388- id="svg4874"
389- version="1.1"
390- inkscape:version="0.48+devel r"
391- viewBox="0 0 90 90.000001"
392- sodipodi:docname="select-none.svg">
393- <defs
394- id="defs4876" />
395- <sodipodi:namedview
396- id="base"
397- pagecolor="#ffffff"
398- bordercolor="#666666"
399- borderopacity="1.0"
400- inkscape:pageopacity="0.0"
401- inkscape:pageshadow="2"
402- inkscape:zoom="12.434498"
403- inkscape:cx="10.237647"
404- inkscape:cy="53.078139"
405- inkscape:document-units="px"
406- inkscape:current-layer="g1311"
407- showgrid="true"
408- showborder="true"
409- fit-margin-top="0"
410- fit-margin-left="0"
411- fit-margin-right="0"
412- fit-margin-bottom="0"
413- inkscape:snap-bbox="true"
414- inkscape:bbox-paths="true"
415- inkscape:bbox-nodes="true"
416- inkscape:snap-bbox-edge-midpoints="true"
417- inkscape:snap-bbox-midpoints="true"
418- inkscape:object-paths="true"
419- inkscape:snap-intersection-paths="true"
420- inkscape:object-nodes="true"
421- inkscape:snap-smooth-nodes="true"
422- inkscape:snap-midpoints="true"
423- inkscape:snap-object-midpoints="true"
424- inkscape:snap-center="true"
425- showguides="true"
426- inkscape:guide-bbox="true">
427- <inkscape:grid
428- type="xygrid"
429- id="grid5451"
430- empspacing="6" />
431- <sodipodi:guide
432- orientation="1,0"
433- position="6,77"
434- id="guide4063" />
435- <sodipodi:guide
436- orientation="1,0"
437- position="3,78"
438- id="guide4065" />
439- <sodipodi:guide
440- orientation="0,1"
441- position="55,84"
442- id="guide4067" />
443- <sodipodi:guide
444- orientation="0,1"
445- position="53,87"
446- id="guide4069" />
447- <sodipodi:guide
448- orientation="0,1"
449- position="20,3"
450- id="guide4071" />
451- <sodipodi:guide
452- orientation="0,1"
453- position="20,6"
454- id="guide4073" />
455- <sodipodi:guide
456- orientation="1,0"
457- position="87,7"
458- id="guide4075" />
459- <sodipodi:guide
460- orientation="1,0"
461- position="84,7"
462- id="guide4077" />
463- <sodipodi:guide
464- orientation="0,1"
465- position="58,81"
466- id="guide4074" />
467- <sodipodi:guide
468- orientation="1,0"
469- position="9,74"
470- id="guide4076" />
471- <sodipodi:guide
472- orientation="0,1"
473- position="21,9"
474- id="guide4078" />
475- <sodipodi:guide
476- orientation="1,0"
477- position="81,4"
478- id="guide4080" />
479- </sodipodi:namedview>
480- <metadata
481- id="metadata4879">
482- <rdf:RDF>
483- <cc:Work
484- rdf:about="">
485- <dc:format>image/svg+xml</dc:format>
486- <dc:type
487- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
488- <dc:title></dc:title>
489- </cc:Work>
490- </rdf:RDF>
491- </metadata>
492- <g
493- inkscape:label="Layer 1"
494- inkscape:groupmode="layer"
495- id="layer1"
496- transform="translate(67.857146,-84.50504)">
497- <g
498- transform="matrix(0,-1,-1,0,373.50506,516.50504)"
499- id="g4845"
500- style="display:inline">
501- <g
502- transform="matrix(0,-1,-1,0,567.36222,615.36221)"
503- id="g1311"
504- inkscape:export-filename="envelope02.png"
505- inkscape:export-xdpi="90"
506- inkscape:export-ydpi="90">
507- <g
508- id="g1313"
509- transform="matrix(1.875,0,0,1.875,-366,-1657.8169)">
510- <rect
511- transform="translate(0,804.3622)"
512- y="152"
513- x="288"
514- height="48"
515- width="48"
516- id="rect1315"
517- style="opacity:0.21171169;fill:none;stroke:none" />
518- </g>
519- <path
520- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
521- d="M 21 6 C 11 6 6 5.9998033 6 17.626953 L 6 72.373047 C 6 84.000207 11 84 21 84 L 69 84 C 79 84 84 84.000207 84 72.373047 L 84 17.626953 C 84 5.9998033 79 6 69 6 L 21 6 z M 22.867188 12 L 67.132812 12 C 75.065512 12 78 11.999356 78 20.191406 L 78 69.808594 C 78 78.000644 75.065512 78 67.132812 78 L 22.867188 78 C 14.934488 78 12 78.000644 12 69.808594 L 12 20.191406 C 12 11.999356 14.934488 12 22.867188 12 z "
522- transform="translate(174,135.36222)"
523- id="path4098" />
524- </g>
525- </g>
526- </g>
527-</svg>
528
529=== removed file 'app/graphics/select.svg'
530--- app/graphics/select.svg 2015-09-17 04:33:11 +0000
531+++ app/graphics/select.svg 1970-01-01 00:00:00 +0000
532@@ -1,158 +0,0 @@
533-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
534-<!-- Created with Inkscape (http://www.inkscape.org/) -->
535-
536-<svg
537- xmlns:dc="http://purl.org/dc/elements/1.1/"
538- xmlns:cc="http://creativecommons.org/ns#"
539- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
540- xmlns:svg="http://www.w3.org/2000/svg"
541- xmlns="http://www.w3.org/2000/svg"
542- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
543- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
544- width="90"
545- height="90"
546- id="svg4874"
547- version="1.1"
548- inkscape:version="0.48+devel r12833"
549- viewBox="0 0 90 90.000001"
550- sodipodi:docname="select.svg">
551- <defs
552- id="defs4876" />
553- <sodipodi:namedview
554- id="base"
555- pagecolor="#ffffff"
556- bordercolor="#666666"
557- borderopacity="1.0"
558- inkscape:pageopacity="0.0"
559- inkscape:pageshadow="2"
560- inkscape:zoom="12.434498"
561- inkscape:cx="30.343002"
562- inkscape:cy="53.600878"
563- inkscape:document-units="px"
564- inkscape:current-layer="g1311"
565- showgrid="true"
566- showborder="true"
567- fit-margin-top="0"
568- fit-margin-left="0"
569- fit-margin-right="0"
570- fit-margin-bottom="0"
571- inkscape:snap-bbox="true"
572- inkscape:bbox-paths="true"
573- inkscape:bbox-nodes="true"
574- inkscape:snap-bbox-edge-midpoints="true"
575- inkscape:snap-bbox-midpoints="true"
576- inkscape:object-paths="true"
577- inkscape:snap-intersection-paths="true"
578- inkscape:object-nodes="true"
579- inkscape:snap-smooth-nodes="true"
580- inkscape:snap-midpoints="true"
581- inkscape:snap-object-midpoints="true"
582- inkscape:snap-center="true"
583- showguides="true"
584- inkscape:guide-bbox="true">
585- <inkscape:grid
586- type="xygrid"
587- id="grid5451"
588- empspacing="6" />
589- <sodipodi:guide
590- orientation="1,0"
591- position="6,77"
592- id="guide4063" />
593- <sodipodi:guide
594- orientation="1,0"
595- position="3,78"
596- id="guide4065" />
597- <sodipodi:guide
598- orientation="0,1"
599- position="55,84"
600- id="guide4067" />
601- <sodipodi:guide
602- orientation="0,1"
603- position="53,87"
604- id="guide4069" />
605- <sodipodi:guide
606- orientation="0,1"
607- position="20,3"
608- id="guide4071" />
609- <sodipodi:guide
610- orientation="0,1"
611- position="20,6"
612- id="guide4073" />
613- <sodipodi:guide
614- orientation="1,0"
615- position="87,7"
616- id="guide4075" />
617- <sodipodi:guide
618- orientation="1,0"
619- position="84,7"
620- id="guide4077" />
621- <sodipodi:guide
622- orientation="0,1"
623- position="58,81"
624- id="guide4074" />
625- <sodipodi:guide
626- orientation="1,0"
627- position="9,74"
628- id="guide4076" />
629- <sodipodi:guide
630- orientation="0,1"
631- position="21,9"
632- id="guide4078" />
633- <sodipodi:guide
634- orientation="1,0"
635- position="81,4"
636- id="guide4080" />
637- </sodipodi:namedview>
638- <metadata
639- id="metadata4879">
640- <rdf:RDF>
641- <cc:Work
642- rdf:about="">
643- <dc:format>image/svg+xml</dc:format>
644- <dc:type
645- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
646- <dc:title></dc:title>
647- </cc:Work>
648- </rdf:RDF>
649- </metadata>
650- <g
651- inkscape:label="Layer 1"
652- inkscape:groupmode="layer"
653- id="layer1"
654- transform="translate(67.857146,-84.50504)">
655- <g
656- transform="matrix(0,-1,-1,0,373.50506,516.50504)"
657- id="g4845"
658- style="display:inline">
659- <g
660- transform="matrix(0,-1,-1,0,567.36222,615.36221)"
661- id="g1311"
662- inkscape:export-filename="envelope02.png"
663- inkscape:export-xdpi="90"
664- inkscape:export-ydpi="90">
665- <g
666- id="g1313"
667- transform="matrix(1.875,0,0,1.875,-366,-1657.8169)">
668- <rect
669- transform="translate(0,804.3622)"
670- y="152"
671- x="288"
672- height="48"
673- width="48"
674- id="rect1315"
675- style="opacity:0.21171169;fill:none;stroke:none" />
676- </g>
677- <path
678- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;display:inline;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
679- d="M 21 6 C 11 6 6 5.9998033 6 17.626953 L 6 72.373047 C 6 84.000207 11 84 21 84 L 69 84 C 79 84 84 84.000207 84 72.373047 L 84 17.626953 C 84 5.9998033 79 6 69 6 L 21 6 z M 22.867188 12 L 67.132812 12 C 75.065512 12 78 11.999356 78 20.191406 L 78 69.808594 C 78 78.000644 75.065512 78 67.132812 78 L 22.867188 78 C 14.934488 78 12 78.000644 12 69.808594 L 12 20.191406 C 12 11.999356 14.934488 12 22.867188 12 z "
680- transform="translate(174,135.36222)"
681- id="path4098" />
682- <path
683- style="font-size:15px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:middle;fill:#808080;fill-opacity:1;stroke:none;font-family:Ubuntu;-inkscape-font-specification:Ubuntu"
684- d="m 242.00422,161.6591 -0.375,0.32812 -26.94727,23.60352 -15.79687,-13.55079 -4.77539,5.4004 20.57617,21.64843 31.30078,-32.9375 -3.98242,-4.49218 z"
685- id="path4041-9"
686- inkscape:connector-curvature="0" />
687- </g>
688- </g>
689- </g>
690-</svg>
691
692=== modified file 'app/worldclock/WorldCityList.qml'
693--- app/worldclock/WorldCityList.qml 2016-02-25 22:16:54 +0000
694+++ app/worldclock/WorldCityList.qml 2016-02-29 11:40:48 +0000
695@@ -47,56 +47,60 @@
696 staticTimeZoneModelLoader.sourceComponent = staticTimeZoneModelComponent
697 }
698
699- title: i18n.tr("Select a city")
700 visible: false
701- flickable: null
702-
703- state: "default"
704- states: [
705- PageHeadState {
706- name: "default"
707- head: worldCityList.head
708- actions: [
709- Action {
710- objectName: "searchButton"
711- iconName: "search"
712- text: i18n.tr("City")
713- onTriggered: {
714- worldCityList.state = "search"
715- searchComponentLoader.sourceComponent = searchComponent
716- jsonTimeZoneModelLoader.sourceComponent = jsonTimeZoneModelComponent
717- searchComponentLoader.item.forceActiveFocus()
718- }
719+ header: standardHeader
720+
721+ PageHeader {
722+ id: standardHeader
723+
724+ title: i18n.tr("Select a city")
725+ flickable: null
726+ visible: worldCityList.header === standardHeader
727+ trailingActionBar.actions: [
728+ Action {
729+ objectName: "searchButton"
730+ iconName: "search"
731+ text: i18n.tr("City")
732+ onTriggered: {
733+ worldCityList.header = searchHeader
734+ searchComponentLoader.sourceComponent = searchComponent
735+ jsonTimeZoneModelLoader.sourceComponent = jsonTimeZoneModelComponent
736+ searchComponentLoader.item.forceActiveFocus()
737 }
738- ]
739- },
740-
741- PageHeadState {
742- name: "search"
743- head: worldCityList.head
744- backAction: Action {
745+ }
746+ ]
747+ }
748+
749+ PageHeader {
750+ id: searchHeader
751+
752+ flickable: null
753+ visible: worldCityList.header === searchHeader
754+
755+ leadingActionBar.actions: [
756+ Action {
757 iconName: "back"
758 text: i18n.tr("Back")
759 onTriggered: {
760 cityList.forceActiveFocus()
761 searchComponentLoader.item.text = ""
762- worldCityList.state = "default"
763+ worldCityList.header = standardHeader
764 isOnlineMode = false
765 searchComponentLoader.sourceComponent = undefined
766 jsonTimeZoneModelLoader.sourceComponent = undefined
767 }
768 }
769+ ]
770
771- contents: Loader {
772- id: searchComponentLoader
773- anchors {
774- left: parent ? parent.left : undefined
775- right: parent ? parent.right : undefined
776- rightMargin: units.gu(2)
777- }
778+ contents: Loader {
779+ id: searchComponentLoader
780+ anchors {
781+ left: parent ? parent.left : undefined
782+ right: parent ? parent.right : undefined
783+ verticalCenter: parent ? parent.verticalCenter : undefined
784 }
785 }
786- ]
787+ }
788
789 Component {
790 id: searchComponent
791@@ -242,7 +246,7 @@
792 left: parent.left
793 right: parent.right
794 margins: units.gu(2)
795- top: parent.top
796+ top: worldCityList.header.bottom
797 topMargin: units.gu(4)
798 }
799 }
800@@ -262,7 +266,7 @@
801 }
802 }
803
804- ListView {
805+ UbuntuListView {
806 id: cityList
807 objectName: "cityList"
808
809@@ -293,9 +297,14 @@
810 forceActiveFocus()
811 }
812
813- anchors.fill: parent
814- anchors.rightMargin: fastScroll.showing ? fastScroll.width - units.gu(1)
815- : 0
816+ anchors {
817+ top: worldCityList.header.bottom
818+ left: parent.left
819+ right: parent.right
820+ bottom: parent.bottom
821+ rightMargin: fastScroll.showing ? fastScroll.width - units.gu(1)
822+ : 0
823+ }
824
825 model: sortedTimeZoneModel
826 currentIndex: -1
827
828=== modified file 'debian/changelog'
829--- debian/changelog 2016-02-26 10:01:48 +0000
830+++ debian/changelog 2016-02-29 11:40:48 +0000
831@@ -24,6 +24,7 @@
832 [ Nekhelesh Ramananthan ]
833 * Fix 'Shutter' effect animation on title bar when opening bottom edge (LP: #1543496)
834 * Migrate to the new SDK Bottom edge (LP: #1549988)
835+ * Migrated all page head to the new PageHeader (LP: #1550991)
836 * Reduce binding in ActionIcon.qml and fixed stopwatch slide delete UI issue.
837
838 -- Bartosz Kosiorek <gang65@poczta.onet.pl> Wed, 30 Dec 2015 01:43:24 +0100

Subscribers

People subscribed via source and target branches