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