Merge lp:~nik90/ubuntu-weather-app/dev-migrate-new-listitems into lp:ubuntu-weather-app

Proposed by Nekhelesh Ramananthan
Status: Merged
Approved by: Nekhelesh Ramananthan
Approved revision: 59
Merged at revision: 56
Proposed branch: lp:~nik90/ubuntu-weather-app/dev-migrate-new-listitems
Merge into: lp:ubuntu-weather-app
Diff against target: 756 lines (+194/-194)
11 files modified
app/components/DayDelegate.qml (+64/-64)
app/components/ForecastDetailsDelegate.qml (+0/-1)
app/components/StandardListItem.qml (+48/-0)
app/components/WeatherListItem.qml (+0/-2)
app/ui/AddLocationPage.qml (+10/-5)
app/ui/LocationPane.qml (+5/-9)
app/ui/SettingsPage.qml (+13/-21)
app/ui/settings/DataProviderPage.qml (+5/-14)
app/ui/settings/RefreshIntervalPage.qml (+5/-14)
app/ui/settings/UnitsPage.qml (+16/-40)
po/com.ubuntu.weather.pot (+28/-24)
To merge this branch: bzr merge lp:~nik90/ubuntu-weather-app/dev-migrate-new-listitems
Reviewer Review Type Date Requested Status
Victor Thompson Approve
Ubuntu Phone Apps Jenkins Bot continuous-integration Approve
Review via email: mp+262539@code.launchpad.net

Commit message

Migrates the following pages to the new SDK list items,
- SettingsPage.qml
- DayDelegate.qml
- Individual settings page like DataProviderPage.qml, RefreshIntervalPage.qml and UnitsPage.qml.
- AddLocationsPage.qml

Description of the change

Migrates the following pages to the new SDK list items,
- SettingsPage.qml
- DayDelegate.qml
- Individual settings page like DataProviderPage.qml, RefreshIntervalPage.qml and UnitsPage.qml.
- AddLocationsPage.qml

The LocationsPage itself has not been migrated since it involves also migrating the multiselection and reorder features. I rather do that in a separate MP for easier review.

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: Approve (continuous-integration)
59. By Nekhelesh Ramananthan

merged lp:ubuntu-weather-app/reboot

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Approve (continuous-integration)
Revision history for this message
Victor Thompson (vthompson) wrote :

This looks good. Do you intend on doing the WeatherListItem.qml/ListItemWithActions leading/trailing actions changes in a future MP? I'm not sure what else would need to be done to the ExpandableListItem either. I take it we will need to look into those at a later time as well?

review: Needs Information
Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

Yeah I intend on focusing on the locations page (ListItemWithActions) in a separate MP to handle all aspects such as multi-select, drag & reorder together in one MP. As for the ExpandableListItem, there is no equivalent of it in the new SDK listitems. That's why I left that as it is.

Revision history for this message
Victor Thompson (vthompson) wrote :

lgtm then!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'app/components/DayDelegate.qml'
2--- app/components/DayDelegate.qml 2015-06-18 01:42:03 +0000
3+++ app/components/DayDelegate.qml 2015-06-21 20:14:47 +0000
4@@ -18,14 +18,13 @@
5
6 import QtQuick 2.4
7 import Ubuntu.Components 1.2
8-import Ubuntu.Components.ListItems 0.1 as ListItem
9
10-ListItem.Standard {
11+ListItem {
12 id: dayDelegate
13 height: collapsedHeight
14
15 property int collapsedHeight: units.gu(8)
16- property int expandedHeight: collapsedHeight + units.gu(4) + extraInfoColumn.childrenRect.height
17+ property int expandedHeight: collapsedHeight + units.gu(4) + extraInfoColumn.height
18
19 property alias day: dayLabel.text
20 property alias image: weatherImage.name
21@@ -40,9 +39,6 @@
22 property alias wind: windForecast.value
23 property alias uvIndex: uvIndexForecast.value
24
25- // Standard divider is not full width so add a ThinDivider to the bottom
26- showDivider: false
27-
28 state: "normal"
29 states: [
30 State {
31@@ -101,65 +97,70 @@
32 locationPages.collapseOtherDelegates(index)
33 }
34
35- ListItem.ThinDivider {
36- anchors {
37- bottom: parent.bottom
38- }
39- }
40+ Item {
41+ id: mainInfo
42
43- Label {
44- id: dayLabel
45+ height: collapsedHeight
46 anchors {
47 left: parent.left
48- right: weatherImage.left
49- rightMargin: units.gu(1)
50- top: parent.top
51- topMargin: (collapsedHeight - dayLabel.height) / 2
52- }
53- elide: Text.ElideRight
54- font.weight: Font.Light
55- fontSize: "medium"
56- }
57-
58- Icon {
59- id: weatherImage
60- anchors {
61- horizontalCenter: parent.horizontalCenter
62- verticalCenter: dayLabel.verticalCenter
63- }
64- height: units.gu(3)
65- width: units.gu(3)
66- }
67-
68- Label {
69- id: lowLabel
70- anchors {
71- left: weatherImage.right
72- right: highLabel.left
73- rightMargin: units.gu(1)
74- verticalCenter: dayLabel.verticalCenter
75- }
76- elide: Text.ElideRight
77- font.pixelSize: units.gu(2)
78- font.weight: Font.Light
79- fontSize: "medium"
80- height: units.gu(2)
81- horizontalAlignment: Text.AlignRight
82- verticalAlignment: Text.AlignTop // AlignTop appears to align bottom?
83- }
84-
85- Label {
86- id: highLabel
87- anchors {
88- bottom: lowLabel.bottom
89 right: parent.right
90- }
91- color: UbuntuColors.orange
92- elide: Text.ElideRight
93- font.pixelSize: units.gu(3)
94- font.weight: Font.Normal
95- height: units.gu(3)
96- verticalAlignment: Text.AlignTop // AlignTop appears to align bottom?
97+ margins: units.gu(2)
98+ }
99+
100+ Label {
101+ id: dayLabel
102+ anchors {
103+ left: parent.left
104+ right: weatherImage.left
105+ rightMargin: units.gu(1)
106+ top: parent.top
107+ topMargin: (collapsedHeight - dayLabel.height) / 2
108+ }
109+ elide: Text.ElideRight
110+ font.weight: Font.Light
111+ fontSize: "medium"
112+ }
113+
114+ Icon {
115+ id: weatherImage
116+ anchors {
117+ horizontalCenter: parent.horizontalCenter
118+ verticalCenter: dayLabel.verticalCenter
119+ }
120+ height: units.gu(3)
121+ width: units.gu(3)
122+ }
123+
124+ Label {
125+ id: lowLabel
126+ anchors {
127+ left: weatherImage.right
128+ right: highLabel.left
129+ rightMargin: units.gu(1)
130+ verticalCenter: dayLabel.verticalCenter
131+ }
132+ elide: Text.ElideRight
133+ font.pixelSize: units.gu(2)
134+ font.weight: Font.Light
135+ fontSize: "medium"
136+ height: units.gu(2)
137+ horizontalAlignment: Text.AlignRight
138+ verticalAlignment: Text.AlignTop // AlignTop appears to align bottom?
139+ }
140+
141+ Label {
142+ id: highLabel
143+ anchors {
144+ bottom: lowLabel.bottom
145+ right: parent.right
146+ }
147+ color: UbuntuColors.orange
148+ elide: Text.ElideRight
149+ font.pixelSize: units.gu(3)
150+ font.weight: Font.Normal
151+ height: units.gu(3)
152+ verticalAlignment: Text.AlignTop // AlignTop appears to align bottom?
153+ }
154 }
155
156 Item {
157@@ -168,13 +169,12 @@
158 bottom: parent.bottom
159 left: parent.left
160 right: parent.right
161- top: dayLabel.bottom
162- topMargin: units.gu(2)
163+ top: mainInfo.bottom
164+ bottomMargin: units.gu(2)
165 }
166 opacity: 0
167 visible: opacity !== 0
168
169-
170 Column {
171 id: extraInfoColumn
172 anchors {
173
174=== modified file 'app/components/ForecastDetailsDelegate.qml'
175--- app/components/ForecastDetailsDelegate.qml 2015-06-18 01:42:03 +0000
176+++ app/components/ForecastDetailsDelegate.qml 2015-06-21 20:14:47 +0000
177@@ -18,7 +18,6 @@
178
179 import QtQuick 2.4
180 import Ubuntu.Components 1.2
181-import Ubuntu.Components.ListItems 0.1 as ListItem
182
183 Row {
184 height: icon.height
185
186=== added file 'app/components/StandardListItem.qml'
187--- app/components/StandardListItem.qml 1970-01-01 00:00:00 +0000
188+++ app/components/StandardListItem.qml 2015-06-21 20:14:47 +0000
189@@ -0,0 +1,48 @@
190+/*
191+ * Copyright (C) 2015 Canonical Ltd
192+ *
193+ * This file is part of Ubuntu Weather App
194+ *
195+ * Ubuntu Weather App is free software: you can redistribute it and/or modify
196+ * it under the terms of the GNU General Public License version 3 as
197+ * published by the Free Software Foundation.
198+ *
199+ * Ubuntu Weather App is distributed in the hope that it will be useful,
200+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
201+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
202+ * GNU General Public License for more details.
203+ *
204+ * You should have received a copy of the GNU General Public License
205+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
206+ */
207+
208+import QtQuick 2.4
209+import QtQuick.Layouts 1.1
210+import Ubuntu.Components 1.2
211+
212+ListItem {
213+ id: listItem
214+
215+ property alias title: _title.text
216+ property alias icon: _icon.name
217+ property alias showIcon: _icon.visible
218+
219+ RowLayout {
220+ anchors { left: parent.left; right: parent.right; verticalCenter: parent.verticalCenter; margins: units.gu(2) }
221+ height: _icon.height
222+ spacing: units.gu(2)
223+
224+ Label {
225+ id: _title
226+ anchors.verticalCenter: _icon.verticalCenter
227+ elide: Text.ElideRight
228+ Layout.fillWidth: true
229+ }
230+
231+ Icon {
232+ id: _icon
233+ height: units.gu(2); width: height
234+ name: "go-next"
235+ }
236+ }
237+}
238
239=== modified file 'app/components/WeatherListItem.qml'
240--- app/components/WeatherListItem.qml 2015-06-18 01:42:03 +0000
241+++ app/components/WeatherListItem.qml 2015-06-21 20:14:47 +0000
242@@ -19,8 +19,6 @@
243
244 import QtQuick 2.4
245 import Ubuntu.Components 1.2
246-import Ubuntu.Components.ListItems 0.1 as ListItem
247-
248
249 ListItemWithActions {
250 id: root
251
252=== modified file 'app/ui/AddLocationPage.qml'
253--- app/ui/AddLocationPage.qml 2015-06-21 16:05:58 +0000
254+++ app/ui/AddLocationPage.qml 2015-06-21 20:14:47 +0000
255@@ -18,7 +18,6 @@
256
257 import QtQuick 2.4
258 import Ubuntu.Components 1.2
259-import Ubuntu.Components.ListItems 1.0 as ListItem
260 import Ubuntu.Components.Popups 1.0
261 import "../components"
262 import "../data/CitiesList.js" as Cities
263@@ -186,8 +185,14 @@
264 section.criteria: ViewSection.FirstCharacter
265 section.labelPositioning: ViewSection.InlineLabels
266
267- section.delegate: ListItem.Header {
268- text: section
269+ section.delegate: ListItem {
270+ height: headerText.implicitHeight + units.gu(1)
271+ Label {
272+ id: headerText
273+ text: section
274+ anchors { left: parent.left; right: parent.right; margins: units.gu(2) }
275+ font.weight: Font.DemiBold
276+ }
277 }
278
279 model: ListModel {
280@@ -199,8 +204,8 @@
281 onRowsAboutToBeInserted: loading = false
282 }
283
284- delegate: ListItem.Empty {
285- showDivider: false
286+ delegate: ListItem {
287+ divider.visible: false
288 Column {
289 anchors {
290 left: parent.left
291
292=== modified file 'app/ui/LocationPane.qml'
293--- app/ui/LocationPane.qml 2015-06-18 01:42:03 +0000
294+++ app/ui/LocationPane.qml 2015-06-21 20:14:47 +0000
295@@ -162,20 +162,16 @@
296 now: locationItem.currentTemp
297 }
298
299- ListItem.ThinDivider {}
300+ // TODO: Migrate this to using the new SDK list item when possible.
301+ ListItem.ThinDivider { anchors { leftMargin: units.gu(-2); rightMargin: units.gu(-2) } }
302 }
303 Column {
304 id: weekdayColumn
305+
306+ anchors.top: locationTop.bottom
307+ height: childrenRect.height
308 width: parent.width
309- height: childrenRect.height
310
311- anchors {
312- top: locationTop.bottom
313- left: parent.left
314- leftMargin: units.gu(2)
315- right: parent.right
316- rightMargin: units.gu(2)
317- }
318 Repeater {
319 id: mainPageWeekdayListView
320 model: ListModel{}
321
322=== modified file 'app/ui/SettingsPage.qml'
323--- app/ui/SettingsPage.qml 2015-06-18 01:42:03 +0000
324+++ app/ui/SettingsPage.qml 2015-06-21 20:14:47 +0000
325@@ -18,42 +18,34 @@
326
327 import QtQuick 2.4
328 import Ubuntu.Components 1.2
329-import Ubuntu.Components.ListItems 0.1 as ListItem
330+import "../components"
331
332 Page {
333 title: i18n.tr("Settings")
334
335 Flickable {
336- anchors {
337- fill: parent
338- }
339+ clip: true
340+ anchors.fill: parent
341+ contentHeight: settingsColumn.height
342 height: parent.height
343- contentHeight: settingsColumn.childrenRect.height
344
345 Column {
346 id: settingsColumn
347- anchors {
348- fill: parent
349- }
350-
351- ListItem.SingleValue {
352- progression: true
353- text: i18n.tr("Units")
354-
355+
356+ anchors.fill: parent
357+
358+ StandardListItem {
359+ title: i18n.tr("Units")
360 onClicked: mainPageStack.push(Qt.resolvedUrl("settings/UnitsPage.qml"))
361 }
362
363- ListItem.SingleValue {
364- progression: true
365- text: i18n.tr("Data Provider")
366-
367+ StandardListItem {
368+ title: i18n.tr("Data Provider")
369 onClicked: mainPageStack.push(Qt.resolvedUrl("settings/DataProviderPage.qml"))
370 }
371
372- ListItem.SingleValue {
373- progression: true
374- text: i18n.tr("Refresh Interval")
375-
376+ StandardListItem {
377+ title: i18n.tr("Refresh Interval")
378 onClicked: mainPageStack.push(Qt.resolvedUrl("settings/RefreshIntervalPage.qml"))
379 }
380 }
381
382=== modified file 'app/ui/settings/DataProviderPage.qml'
383--- app/ui/settings/DataProviderPage.qml 2015-06-18 01:42:03 +0000
384+++ app/ui/settings/DataProviderPage.qml 2015-06-21 20:14:47 +0000
385@@ -18,7 +18,6 @@
386
387 import QtQuick 2.4
388 import Ubuntu.Components 1.2
389-import Ubuntu.Components.ListItems 0.1 as ListItem
390 import "../../components"
391
392 Page {
393@@ -33,13 +32,15 @@
394 ExpandableListItem {
395 id: dataProviderSetting
396
397- listViewHeight: dataProviderModel.count*units.gu(6) - units.gu(1)
398+ listViewHeight: dataProviderModel.count*units.gu(7) - units.gu(1)
399 model: dataProviderModel
400 text: i18n.tr("Provider")
401 subText: settings.service === "weatherchannel" ? "The Weather Channel" : "OpenWeatherMap"
402
403- delegate: ListItem.Standard {
404- text: model.text
405+ delegate: StandardListItem {
406+ title: model.text
407+ icon: "ok"
408+ showIcon: dataProviderSetting.subText === model.text
409 onClicked: {
410 if (model.text === "The Weather Channel") {
411 settings.service = "weatherchannel"
412@@ -48,16 +49,6 @@
413 }
414 refreshData(false, true)
415 }
416-
417- Icon {
418- width: units.gu(2)
419- height: width
420- name: "ok"
421- visible: dataProviderSetting.subText === model.text
422- anchors.right: parent.right
423- anchors.rightMargin: units.gu(2)
424- anchors.verticalCenter: parent.verticalCenter
425- }
426 }
427 }
428 }
429
430=== modified file 'app/ui/settings/RefreshIntervalPage.qml'
431--- app/ui/settings/RefreshIntervalPage.qml 2015-06-18 01:42:03 +0000
432+++ app/ui/settings/RefreshIntervalPage.qml 2015-06-21 20:14:47 +0000
433@@ -18,7 +18,6 @@
434
435 import QtQuick 2.4
436 import Ubuntu.Components 1.2
437-import Ubuntu.Components.ListItems 0.1 as ListItem
438 import "../../components"
439
440 Page {
441@@ -38,27 +37,19 @@
442 ExpandableListItem {
443 id: dataProviderSetting
444
445- listViewHeight: refreshModel.count*units.gu(6)
446+ listViewHeight: refreshModel.count*units.gu(7) - units.gu(1)
447 model: refreshModel
448 text: i18n.tr("Interval")
449 subText: i18n.tr("%1 minute", "%1 minutes", Math.floor(settings.refreshInterval / 60).toString()).arg(Math.floor(settings.refreshInterval / 60).toString())
450
451- delegate: ListItem.Standard {
452- text: model.text
453+ delegate: StandardListItem {
454+ title: model.text
455+ icon: "ok"
456+ showIcon: settings.refreshInterval === model.interval
457 onClicked: {
458 settings.refreshInterval = model.interval
459 refreshData(false, true)
460 }
461-
462- Icon {
463- width: units.gu(2)
464- height: width
465- name: "ok"
466- visible: settings.refreshInterval === model.interval
467- anchors.right: parent.right
468- anchors.rightMargin: units.gu(2)
469- anchors.verticalCenter: parent.verticalCenter
470- }
471 }
472 }
473 }
474
475=== modified file 'app/ui/settings/UnitsPage.qml'
476--- app/ui/settings/UnitsPage.qml 2015-06-18 01:42:03 +0000
477+++ app/ui/settings/UnitsPage.qml 2015-06-21 20:14:47 +0000
478@@ -18,7 +18,6 @@
479
480 import QtQuick 2.4
481 import Ubuntu.Components 1.2
482-import Ubuntu.Components.ListItems 0.1 as ListItem
483 import "../../components"
484
485 Page {
486@@ -27,6 +26,7 @@
487 flickable: null
488
489 Flickable {
490+ clip: true
491 anchors.fill: parent
492 height: parent.height
493 contentHeight: unitsColumn.childrenRect.height
494@@ -86,84 +86,60 @@
495 ExpandableListItem {
496 id: temperatureSetting
497
498- listViewHeight: temperatureModel.count*units.gu(6) - units.gu(0.5)
499+ listViewHeight: temperatureModel.count*units.gu(7) - units.gu(1)
500 model: temperatureModel
501 text: i18n.tr("Temperature")
502 subText: settings.tempScale === "°C" ? i18n.tr("°C")
503 : i18n.tr("°F")
504
505- delegate: ListItem.Standard {
506- text: model.text
507+ delegate: StandardListItem {
508+ title: model.text
509+ icon: "ok"
510+ showIcon: settings.tempScale === model.value
511 onClicked: {
512 settings.tempScale = model.value
513 refreshData(true)
514 }
515-
516- Icon {
517- width: units.gu(2)
518- height: width
519- name: "ok"
520- visible: settings.tempScale === model.value
521- anchors.right: parent.right
522- anchors.rightMargin: units.gu(2)
523- anchors.verticalCenter: parent.verticalCenter
524- }
525 }
526 }
527
528 ExpandableListItem {
529 id: precipationSetting
530
531- listViewHeight: precipationModel.count*units.gu(6) - units.gu(0.5)
532+ listViewHeight: precipationModel.count*units.gu(7) - units.gu(1)
533 model: precipationModel
534 text: i18n.tr("Precipitation")
535 subText: settings.precipUnits === "mm" ? i18n.tr("mm")
536 : i18n.tr("in")
537
538- delegate: ListItem.Standard {
539- text: model.text
540+ delegate: StandardListItem {
541+ title: model.text
542+ icon: "ok"
543+ showIcon: settings.precipUnits === model.value
544 onClicked: {
545 settings.precipUnits = model.value
546 refreshData(true)
547 }
548-
549- Icon {
550- width: units.gu(2)
551- height: width
552- name: "ok"
553- visible: settings.precipUnits === model.value
554- anchors.right: parent.right
555- anchors.rightMargin: units.gu(2)
556- anchors.verticalCenter: parent.verticalCenter
557- }
558 }
559 }
560
561 ExpandableListItem {
562 id: windSetting
563
564- listViewHeight: windSpeedModel.count*units.gu(6) - units.gu(0.5)
565+ listViewHeight: windSpeedModel.count*units.gu(7) - units.gu(1)
566 model: windSpeedModel
567 text: i18n.tr("Wind Speed")
568 subText: settings.windUnits === "kph" ? i18n.tr("kph")
569 : i18n.tr("mph")
570
571- delegate: ListItem.Standard {
572- text: model.text
573+ delegate: StandardListItem {
574+ title: model.text
575+ icon: "ok"
576+ showIcon: settings.windUnits === model.value
577 onClicked: {
578 settings.windUnits = model.value
579 refreshData(true)
580 }
581-
582- Icon {
583- width: units.gu(2)
584- height: width
585- name: "ok"
586- visible: settings.windUnits === model.value
587- anchors.right: parent.right
588- anchors.rightMargin: units.gu(2)
589- anchors.verticalCenter: parent.verticalCenter
590- }
591 }
592 }
593 }
594
595=== modified file 'po/com.ubuntu.weather.pot'
596--- po/com.ubuntu.weather.pot 2015-06-21 16:05:58 +0000
597+++ po/com.ubuntu.weather.pot 2015-06-21 20:14:47 +0000
598@@ -8,7 +8,7 @@
599 msgstr ""
600 "Project-Id-Version: ubuntu-weather-app\n"
601 "Report-Msgid-Bugs-To: \n"
602-"POT-Creation-Date: 2015-06-14 16:44-0500\n"
603+"POT-Creation-Date: 2015-06-21 20:10+0000\n"
604 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
605 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
606 "Language-Team: LANGUAGE <LL@li.org>\n"
607@@ -66,39 +66,43 @@
608 msgid "Cancel selection"
609 msgstr ""
610
611-#: ../app/ubuntu-weather-app.qml:177
612+#: ../app/ubuntu-weather-app.qml:167
613 msgid "Searching for current location..."
614 msgstr ""
615
616-#: ../app/ui/AddLocationPage.qml:30
617+#: ../app/ubuntu-weather-app.qml:176
618+msgid "Add a manual location"
619+msgstr ""
620+
621+#: ../app/ui/AddLocationPage.qml:29
622 msgid "Select a city"
623 msgstr ""
624
625-#: ../app/ui/AddLocationPage.qml:46 ../app/ui/AddLocationPage.qml:68
626+#: ../app/ui/AddLocationPage.qml:45 ../app/ui/AddLocationPage.qml:66
627 msgid "Back"
628 msgstr ""
629
630-#: ../app/ui/AddLocationPage.qml:53
631+#: ../app/ui/AddLocationPage.qml:51
632 msgid "City"
633 msgstr ""
634
635-#: ../app/ui/AddLocationPage.qml:95
636+#: ../app/ui/AddLocationPage.qml:93
637 msgid "Search city"
638 msgstr ""
639
640-#: ../app/ui/AddLocationPage.qml:274
641+#: ../app/ui/AddLocationPage.qml:278
642 msgid "No city found"
643 msgstr ""
644
645-#: ../app/ui/AddLocationPage.qml:287
646+#: ../app/ui/AddLocationPage.qml:291
647 msgid "Couldn't load weather data, please try later again!"
648 msgstr ""
649
650-#: ../app/ui/AddLocationPage.qml:297
651+#: ../app/ui/AddLocationPage.qml:301
652 msgid "Location already added."
653 msgstr ""
654
655-#: ../app/ui/AddLocationPage.qml:300
656+#: ../app/ui/AddLocationPage.qml:304
657 msgid "OK"
658 msgstr ""
659
660@@ -106,7 +110,7 @@
661 msgid "Locations"
662 msgstr ""
663
664-#: ../app/ui/LocationsPage.qml:102
665+#: ../app/ui/LocationsPage.qml:104
666 msgid "Current Location"
667 msgstr ""
668
669@@ -114,34 +118,34 @@
670 msgid "Settings"
671 msgstr ""
672
673-#: ../app/ui/SettingsPage.qml:41 ../app/ui/settings/UnitsPage.qml:25
674+#: ../app/ui/SettingsPage.qml:38 ../app/ui/settings/UnitsPage.qml:24
675 msgid "Units"
676 msgstr ""
677
678-#: ../app/ui/SettingsPage.qml:48 ../app/ui/settings/DataProviderPage.qml:25
679+#: ../app/ui/SettingsPage.qml:43 ../app/ui/settings/DataProviderPage.qml:24
680 msgid "Data Provider"
681 msgstr ""
682
683-#: ../app/ui/SettingsPage.qml:55 ../app/ui/settings/RefreshIntervalPage.qml:25
684+#: ../app/ui/SettingsPage.qml:48 ../app/ui/settings/RefreshIntervalPage.qml:24
685 msgid "Refresh Interval"
686 msgstr ""
687
688-#: ../app/ui/settings/DataProviderPage.qml:38
689+#: ../app/ui/settings/DataProviderPage.qml:37
690 msgid "Provider"
691 msgstr ""
692
693+#: ../app/ui/settings/RefreshIntervalPage.qml:30
694 #: ../app/ui/settings/RefreshIntervalPage.qml:31
695 #: ../app/ui/settings/RefreshIntervalPage.qml:32
696 #: ../app/ui/settings/RefreshIntervalPage.qml:33
697-#: ../app/ui/settings/RefreshIntervalPage.qml:34
698-#: ../app/ui/settings/RefreshIntervalPage.qml:44
699+#: ../app/ui/settings/RefreshIntervalPage.qml:43
700 #, qt-format
701 msgid "%1 minute"
702 msgid_plural "%1 minutes"
703 msgstr[0] ""
704 msgstr[1] ""
705
706-#: ../app/ui/settings/RefreshIntervalPage.qml:43
707+#: ../app/ui/settings/RefreshIntervalPage.qml:42
708 msgid "Interval"
709 msgstr ""
710
711@@ -162,28 +166,28 @@
712 #. TRANSLATORS: The strings are standard measurement units
713 #. of precipitation in millimeters and are shown in the settings page.
714 #. Only the abbreviated form of millimeters should be used.
715-#: ../app/ui/settings/UnitsPage.qml:57 ../app/ui/settings/UnitsPage.qml:120
716+#: ../app/ui/settings/UnitsPage.qml:57 ../app/ui/settings/UnitsPage.qml:112
717 msgid "mm"
718 msgstr ""
719
720 #. TRANSLATORS: The strings are standard measurement units
721 #. of precipitation in inches and are shown in the settings page.
722 #. Only the abbreviated form of inches should be used.
723-#: ../app/ui/settings/UnitsPage.qml:62 ../app/ui/settings/UnitsPage.qml:121
724+#: ../app/ui/settings/UnitsPage.qml:62 ../app/ui/settings/UnitsPage.qml:113
725 msgid "in"
726 msgstr ""
727
728 #. TRANSLATORS: The strings are standard measurement units
729 #. of wind speed in kilometers per hour and are shown in the settings page.
730 #. Only the abbreviated form of kilometers per hour should be used.
731-#: ../app/ui/settings/UnitsPage.qml:73 ../app/ui/settings/UnitsPage.qml:148
732+#: ../app/ui/settings/UnitsPage.qml:73 ../app/ui/settings/UnitsPage.qml:132
733 msgid "kph"
734 msgstr ""
735
736 #. TRANSLATORS: The strings are standard measurement units
737 #. of wind speed in miles per hour and are shown in the settings page.
738 #. Only the abbreviated form of miles per hour should be used.
739-#: ../app/ui/settings/UnitsPage.qml:78 ../app/ui/settings/UnitsPage.qml:149
740+#: ../app/ui/settings/UnitsPage.qml:78 ../app/ui/settings/UnitsPage.qml:133
741 msgid "mph"
742 msgstr ""
743
744@@ -191,11 +195,11 @@
745 msgid "Temperature"
746 msgstr ""
747
748-#: ../app/ui/settings/UnitsPage.qml:119
749+#: ../app/ui/settings/UnitsPage.qml:111
750 msgid "Precipitation"
751 msgstr ""
752
753-#: ../app/ui/settings/UnitsPage.qml:147
754+#: ../app/ui/settings/UnitsPage.qml:131
755 msgid "Wind Speed"
756 msgstr ""
757

Subscribers

People subscribed via source and target branches