Merge lp:~renatofilho/ubuntu-calendar-app/optimize-page-load into lp:ubuntu-calendar-app
- optimize-page-load
- Merge into trunk
Status: | Superseded |
---|---|
Proposed branch: | lp:~renatofilho/ubuntu-calendar-app/optimize-page-load |
Merge into: | lp:ubuntu-calendar-app |
Prerequisite: | lp:~renatofilho/ubuntu-calendar-app/sdk-1-3 |
Diff against target: |
798 lines (+223/-171) 12 files modified
AgendaView.qml (+0/-1) DayView.qml (+1/-2) EventActions.qml (+3/-1) EventDetails.qml (+1/-1) MonthComponent.qml (+1/-1) MonthView.qml (+1/-2) Settings.qml (+2/-2) ViewHeader.qml (+1/-1) WeekView.qml (+1/-2) YearView.qml (+1/-2) calendar.qml (+175/-108) po/com.ubuntu.calendar.pot (+36/-48) |
To merge this branch: | bzr merge lp:~renatofilho/ubuntu-calendar-app/optimize-page-load |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Jenkins Bot | continuous-integration | Needs Fixing | |
Ubuntu Calendar Developers | Pending | ||
Review via email: mp+283854@code.launchpad.net |
Commit message
Simplify Tab loading, declaring individual components for each tab.
Make sure that year view is not loaded on app startup without request.
Description of the change
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
- 749. By Renato Araujo Oliveira Filho
-
Make sure that cachanges made on main model get propagated to model in the pages.
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:748
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote : | # |
FAILED: Continuous integration, rev:749
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild:
https:/
Alan Pope πΊπ§π± π¦ (popey) wrote : | # |
This was marked as needing the sdk-1.3 branch, but we already had (multiple) sdk-1.3 branches in flight. https:/
- 750. By Renato Araujo Oliveira Filho
- 751. By Renato Araujo Oliveira Filho
- 752. By Renato Araujo Oliveira Filho
-
Merged: ~renatofilho/
ubuntu- calendar- app/sdk- 1-3 - 753. By Renato Araujo Oliveira Filho
- 754. By Renato Araujo Oliveira Filho
-
Merged. ~renatofilho/
ubuntu- calendar- app/sdk- 1-3/ - 755. By Renato Araujo Oliveira Filho
-
Parent branch merged.
- 756. By Renato Araujo Oliveira Filho
-
Parent merged:
- 757. By Renato Araujo Oliveira Filho
-
Parent merged.
Unmerged revisions
Preview Diff
1 | === modified file 'AgendaView.qml' |
2 | --- AgendaView.qml 2016-01-29 14:13:59 +0000 |
3 | +++ AgendaView.qml 2016-01-29 14:13:59 +0000 |
4 | @@ -57,7 +57,6 @@ |
5 | |
6 | head.actions: [ |
7 | calendarTodayAction, |
8 | - commonHeaderActions.newEventAction, |
9 | commonHeaderActions.showCalendarAction, |
10 | commonHeaderActions.reloadAction, |
11 | commonHeaderActions.syncCalendarAction, |
12 | |
13 | === modified file 'DayView.qml' |
14 | --- DayView.qml 2016-01-29 14:13:59 +0000 |
15 | +++ DayView.qml 2016-01-29 14:13:59 +0000 |
16 | @@ -46,7 +46,6 @@ |
17 | head { |
18 | actions: [ |
19 | calendarTodayAction, |
20 | - commonHeaderActions.newEventAction, |
21 | commonHeaderActions.showCalendarAction, |
22 | commonHeaderActions.reloadAction, |
23 | commonHeaderActions.syncCalendarAction, |
24 | @@ -56,7 +55,7 @@ |
25 | contents: Label { |
26 | id:monthYear |
27 | objectName:"monthYearLabel" |
28 | - fontSize: "x-large" |
29 | + fontSize: "large" |
30 | text: currentDay.toLocaleString(Qt.locale(),i18n.tr("MMMM yyyy")) |
31 | font.capitalization: Font.Capitalize |
32 | } |
33 | |
34 | === modified file 'EventActions.qml' |
35 | --- EventActions.qml 2016-01-29 14:13:59 +0000 |
36 | +++ EventActions.qml 2016-01-29 14:13:59 +0000 |
37 | @@ -23,7 +23,9 @@ |
38 | Item { |
39 | id: actionPool |
40 | |
41 | - property alias newEventAction: _newEventAction |
42 | + //removing till following bug is resolved |
43 | + //https://bugs.launchpad.net/ubuntu/+source/ubuntu-ui-toolkit/+bug/1493178 |
44 | + //property alias newEventAction: _newEventAction |
45 | property alias showCalendarAction: _showCalendarAction |
46 | property alias syncCalendarAction: _syncCalendarAction |
47 | property alias settingsAction: _settingsAction |
48 | |
49 | === modified file 'EventDetails.qml' |
50 | --- EventDetails.qml 2016-01-29 14:13:59 +0000 |
51 | +++ EventDetails.qml 2016-01-29 14:13:59 +0000 |
52 | @@ -271,7 +271,7 @@ |
53 | Label{ |
54 | id: titleLabel |
55 | objectName: "titleLabel" |
56 | - fontSize: "x-large" |
57 | + fontSize: "large" |
58 | width: parent.width |
59 | wrapMode: Text.WordWrap |
60 | color: "white" |
61 | |
62 | === modified file 'MonthComponent.qml' |
63 | --- MonthComponent.qml 2016-01-29 14:13:59 +0000 |
64 | +++ MonthComponent.qml 2016-01-29 14:13:59 +0000 |
65 | @@ -35,7 +35,7 @@ |
66 | |
67 | property string dayLabelFontSize: "medium" |
68 | property string dateLabelFontSize: "large" |
69 | - property string monthLabelFontSize: "x-large" |
70 | + property string monthLabelFontSize: "large" |
71 | property string yearLabelFontSize: "large" |
72 | |
73 | property alias dayLabelDelegate : dayLabelRepeater.delegate |
74 | |
75 | === modified file 'MonthView.qml' |
76 | --- MonthView.qml 2016-01-29 14:13:59 +0000 |
77 | +++ MonthView.qml 2016-01-29 14:13:59 +0000 |
78 | @@ -45,7 +45,6 @@ |
79 | head { |
80 | actions: [ |
81 | calendarTodayAction, |
82 | - commonHeaderActions.newEventAction, |
83 | commonHeaderActions.showCalendarAction, |
84 | commonHeaderActions.reloadAction, |
85 | commonHeaderActions.syncCalendarAction, |
86 | @@ -54,7 +53,7 @@ |
87 | |
88 | contents: Label { |
89 | objectName:"monthYearLabel" |
90 | - fontSize: "x-large" |
91 | + fontSize: "large" |
92 | // TRANSLATORS: this is a time formatting string, |
93 | // see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. |
94 | // It's used in the header of the month and week views |
95 | |
96 | === modified file 'Settings.qml' |
97 | --- Settings.qml 2016-01-29 14:13:59 +0000 |
98 | +++ Settings.qml 2016-01-29 14:13:59 +0000 |
99 | @@ -25,9 +25,9 @@ |
100 | objectName: "settings" |
101 | |
102 | visible: false |
103 | + |
104 | + head { |
105 | title: i18n.tr("Settings") |
106 | - |
107 | - head { |
108 | backAction: Action { |
109 | text: i18n.tr("Back") |
110 | iconName: "back" |
111 | |
112 | === modified file 'ViewHeader.qml' |
113 | --- ViewHeader.qml 2016-01-29 14:13:59 +0000 |
114 | +++ ViewHeader.qml 2016-01-29 14:13:59 +0000 |
115 | @@ -26,7 +26,7 @@ |
116 | property int month; |
117 | property int year; |
118 | |
119 | - property string monthLabelFontSize: "x-large" |
120 | + property string monthLabelFontSize: "large" |
121 | property string yearLabelFontSize: "large" |
122 | |
123 | Label{ |
124 | |
125 | === modified file 'WeekView.qml' |
126 | --- WeekView.qml 2016-01-29 14:13:59 +0000 |
127 | +++ WeekView.qml 2016-01-29 14:13:59 +0000 |
128 | @@ -50,7 +50,6 @@ |
129 | head { |
130 | actions: [ |
131 | calendarTodayAction, |
132 | - commonHeaderActions.newEventAction, |
133 | commonHeaderActions.showCalendarAction, |
134 | commonHeaderActions.reloadAction, |
135 | commonHeaderActions.syncCalendarAction, |
136 | @@ -60,7 +59,7 @@ |
137 | contents: Label { |
138 | id:monthYear |
139 | objectName:"monthYearLabel" |
140 | - fontSize: "x-large" |
141 | + fontSize: "large" |
142 | text: i18n.tr(dayStart.toLocaleString(Qt.locale(),i18n.tr("MMMM yyyy"))) |
143 | font.capitalization: Font.Capitalize |
144 | } |
145 | |
146 | === modified file 'YearView.qml' |
147 | --- YearView.qml 2016-01-29 14:13:59 +0000 |
148 | +++ YearView.qml 2016-01-29 14:13:59 +0000 |
149 | @@ -48,7 +48,6 @@ |
150 | head { |
151 | actions: [ |
152 | calendarTodayAction, |
153 | - commonHeaderActions.newEventAction, |
154 | commonHeaderActions.showCalendarAction, |
155 | commonHeaderActions.reloadAction, |
156 | commonHeaderActions.syncCalendarAction, |
157 | @@ -57,7 +56,7 @@ |
158 | contents: Label { |
159 | id:year |
160 | objectName:"yearLabel" |
161 | - fontSize: "x-large" |
162 | + fontSize: "large" |
163 | text: i18n.tr("Year %1").arg(currentYear) |
164 | } |
165 | } |
166 | |
167 | === modified file 'calendar.qml' |
168 | --- calendar.qml 2016-01-29 14:13:59 +0000 |
169 | +++ calendar.qml 2016-01-29 14:13:59 +0000 |
170 | @@ -126,6 +126,7 @@ |
171 | } |
172 | } |
173 | |
174 | + // Load events after the app startup |
175 | Timer { |
176 | id: applyFilterTimer |
177 | interval: 200; running: false; repeat: false |
178 | @@ -157,6 +158,16 @@ |
179 | id: collectionFilter |
180 | } |
181 | |
182 | + InvalidFilter { |
183 | + id: invalidFilter |
184 | + } |
185 | + |
186 | + IntersectionFilter { |
187 | + id: mainFilter |
188 | + |
189 | + filters: [ collectionFilter, itemTypeFilter] |
190 | + } |
191 | + |
192 | EventListModel{ |
193 | id: eventModel |
194 | |
195 | @@ -164,9 +175,7 @@ |
196 | startPeriod: tabs.currentDay |
197 | endPeriod: tabs.currentDay |
198 | |
199 | - filter: IntersectionFilter { |
200 | - filters: [ collectionFilter, itemTypeFilter] |
201 | - } |
202 | + filter: invalidFilter |
203 | |
204 | function delayedApplyFilter() { |
205 | applyFilterTimer.restart(); |
206 | @@ -182,6 +191,7 @@ |
207 | } |
208 | } |
209 | collectionFilter.ids = collectionIds; |
210 | + filter = mainFilter |
211 | } |
212 | |
213 | function showEventFromId(eventId) { |
214 | @@ -214,6 +224,7 @@ |
215 | id: tabs |
216 | Keys.forwardTo: [tabs.currentPage] |
217 | |
218 | + property bool isReady: false |
219 | property var currentDay: DateExt.today(); |
220 | property var selectedDay; |
221 | |
222 | @@ -313,6 +324,7 @@ |
223 | else { |
224 | tabs.selectedTabIndex = settings.defaultViewIndex; |
225 | } |
226 | + tabs.isReady = true |
227 | } // End of Component.onCompleted: |
228 | |
229 | EventActions { |
230 | @@ -347,139 +359,194 @@ |
231 | } |
232 | } |
233 | |
234 | - onSelectedTabChanged: { |
235 | - switch (tabs.selectedTab) { |
236 | - case yearTab:{ |
237 | - if (yearTab.page === null) { |
238 | - var yearViewCom = Qt.createComponent("YearView.qml"); |
239 | - if (yearViewCom.status === Component.Ready) { |
240 | - var yearViewObj = yearViewCom.createObject(mainView); |
241 | - |
242 | - yearViewObj.monthSelected.connect(function (date){ |
243 | - var now = DateExt.today(); |
244 | - if( date.getMonth() === now.getMonth() |
245 | - && date.getFullYear() === now.getFullYear()) { |
246 | - tabs.currentDay = now; |
247 | - } else { |
248 | - tabs.currentDay = date.midnight(); |
249 | - } |
250 | - tabs.selectedTabIndex = monthTab.index; |
251 | - }) |
252 | - |
253 | - yearTab.page = yearViewObj; |
254 | - } |
255 | - } else { |
256 | - yearTab.page.refreshCurrentYear(DateExt.today().getFullYear()); |
257 | - } |
258 | - } break; |
259 | - case monthTab: { |
260 | - if (monthTab.page === null) { |
261 | - var monthViewCom = Qt.createComponent("MonthView.qml"); |
262 | - if (monthViewCom.status === Component.Ready) { |
263 | - var monthViewObj = monthViewCom.createObject(mainView); |
264 | - |
265 | - monthViewObj.dateSelected.connect(function (date) { |
266 | - tabs.currentDay = date; |
267 | - tabs.selectedTabIndex = dayTab.index; |
268 | - }) |
269 | - |
270 | - monthTab.page = monthViewObj; |
271 | - } |
272 | - } else { |
273 | - monthTab.page.currentMonth = tabs.currentDay.midnight(); |
274 | - } |
275 | - } break; |
276 | - case weekTab: { |
277 | - if (weekTab.page === null) { |
278 | - var weekViewCom = Qt.createComponent("WeekView.qml"); |
279 | - if (weekViewCom.status === Component.Ready) { |
280 | - var weekViewObj = weekViewCom.createObject(mainView); |
281 | - |
282 | - weekViewObj.isCurrentPage = Qt.binding(function() { return tabs.selectedTab == weekTab }) |
283 | - weekViewObj.onDayStartChanged.connect(function (){ |
284 | - tabs.currentDay = weekViewObj.dayStart; |
285 | - }); |
286 | - weekViewObj.dateSelected.connect(function (date){ |
287 | - tabs.currentDay = date; |
288 | - tabs.selectedTabIndex = dayTab.index; |
289 | - }); |
290 | - |
291 | - weekTab.page = weekViewObj; |
292 | - } |
293 | - } else { |
294 | - weekTab.page.dayStart = tabs.currentDay; |
295 | - } |
296 | - } break; |
297 | - case dayTab: { |
298 | - if (dayTab.page === null) { |
299 | - var dayViewCom = Qt.createComponent("DayView.qml"); |
300 | - if (dayViewCom.status === Component.Ready) { |
301 | - var dayViewObj = dayViewCom.createObject(mainView); |
302 | - |
303 | - dayViewObj.isCurrentPage= Qt.binding(function() { return tabs.selectedTab == dayTab }) |
304 | - dayViewObj.onCurrentDayChanged.connect(function (){ |
305 | - tabs.currentDay = dayViewObj.currentDay; |
306 | - }); |
307 | - dayViewObj.dateSelected.connect(function (date) { |
308 | - tabs.currentDay = date; |
309 | - }); |
310 | - |
311 | - dayTab.page =dayViewObj; |
312 | - } |
313 | - } else { |
314 | - dayTab.page.currentDay = tabs.currentDay; |
315 | - } |
316 | - } break; |
317 | - case agendaTab: { |
318 | - var agendaViewCom = Qt.createComponent("AgendaView.qml"); |
319 | - if (agendaViewCom.status === Component.Ready) { |
320 | - var agendaViewObj = agendaViewCom.createObject(mainView); |
321 | - |
322 | - agendaViewObj.dateSelected.connect(function (date){ |
323 | - tabs.currentDay = date; |
324 | - tabs.selectedTabIndex = dayTab.index; |
325 | - }) |
326 | - agendaTab.page = agendaViewObj; |
327 | - } |
328 | - } break; |
329 | - default: |
330 | - break; |
331 | - } |
332 | - } |
333 | - |
334 | Tab{ |
335 | id: yearTab |
336 | objectName: "yearTab" |
337 | title: i18n.tr("Year") |
338 | - page: null |
339 | + |
340 | + page: Loader { |
341 | + id: yearViewLoader |
342 | + |
343 | + asynchronous: true |
344 | + sourceComponent: yearViewComp |
345 | + active: false |
346 | + // Load page on demand and keep it on memory until the application is closed |
347 | + enabled: tabs.isReady && (tabs.selectedTab == yearTab) |
348 | + onEnabledChanged: { |
349 | + if (enabled && !active) { |
350 | + active = true |
351 | + } |
352 | + } |
353 | + } |
354 | } |
355 | |
356 | Tab{ |
357 | id: monthTab |
358 | objectName: "monthTab" |
359 | title: i18n.tr("Month") |
360 | - page: null |
361 | + |
362 | + page: Loader { |
363 | + id: monthTabLoader |
364 | + |
365 | + asynchronous: true |
366 | + sourceComponent: monthViewComp |
367 | + active: false |
368 | + // Load page on demand and keep it on memory until the application is closed |
369 | + enabled: tabs.isReady && (tabs.selectedTab == monthTab) |
370 | + onEnabledChanged: { |
371 | + if (enabled && !active) { |
372 | + active = true |
373 | + } |
374 | + } |
375 | + } |
376 | } |
377 | |
378 | Tab{ |
379 | id: weekTab |
380 | objectName: "weekTab" |
381 | title: i18n.tr("Week") |
382 | - page: null |
383 | + |
384 | + page: Loader { |
385 | + id: weekTabLoader |
386 | + |
387 | + asynchronous: true |
388 | + sourceComponent: weekViewComp |
389 | + active: false |
390 | + // Load page on demand and keep it on memory until the application is closed |
391 | + enabled: tabs.isReady && (tabs.selectedTab == weekTab) |
392 | + onEnabledChanged: { |
393 | + if (enabled && !active) { |
394 | + active = true |
395 | + } |
396 | + } |
397 | + } |
398 | } |
399 | |
400 | Tab{ |
401 | id: dayTab |
402 | objectName: "dayTab" |
403 | title: i18n.tr("Day") |
404 | - page: null |
405 | + |
406 | + page:Loader { |
407 | + id: dayTabLoader |
408 | + |
409 | + asynchronous: true |
410 | + sourceComponent: dayViewComp |
411 | + active: false |
412 | + // Load page on demand and keep it on memory until the application is closed |
413 | + enabled: tabs.isReady && (tabs.selectedTab == dayTab) |
414 | + onEnabledChanged: { |
415 | + if (enabled && !active) { |
416 | + active = true |
417 | + } |
418 | + } |
419 | + } |
420 | } |
421 | |
422 | Tab { |
423 | id: agendaTab |
424 | objectName: "agendaTab" |
425 | title: i18n.tr("Agenda") |
426 | - page: null |
427 | + |
428 | + page: Loader { |
429 | + id: agendaTabLoader |
430 | + |
431 | + asynchronous: true |
432 | + sourceComponent: agendaViewComp |
433 | + active: false |
434 | + // Load page on demand and keep it on memory until the application is closed |
435 | + enabled: tabs.isReady && (tabs.selectedTab == agendaTab) |
436 | + onEnabledChanged: { |
437 | + if (enabled && !active) { |
438 | + active = true |
439 | + } |
440 | + } |
441 | + } |
442 | + } |
443 | + } |
444 | + } |
445 | + |
446 | + Component { |
447 | + id: yearViewComp |
448 | + |
449 | + YearView { |
450 | + onMonthSelected: { |
451 | + var now = DateExt.today(); |
452 | + if ((date.getMonth() === now.getMonth()) && |
453 | + (date.getFullYear() === now.getFullYear())) { |
454 | + tabs.currentDay = now; |
455 | + } else { |
456 | + tabs.currentDay = date.midnight(); |
457 | + } |
458 | + tabs.selectedTabIndex = monthTab.index; |
459 | + } |
460 | + onActiveChanged: { |
461 | + if (active) { |
462 | + refreshCurrentYear(DateExt.today().getFullYear()) |
463 | + } |
464 | + } |
465 | + } |
466 | + } |
467 | + |
468 | + Component { |
469 | + id: monthViewComp |
470 | + |
471 | + MonthView { |
472 | + onDateSelected: { |
473 | + tabs.currentDay = date; |
474 | + tabs.selectedTabIndex = dayTab.index |
475 | + } |
476 | + onActiveChanged: { |
477 | + if (active) |
478 | + currentMonth = tabs.currentDay.midnight() |
479 | + } |
480 | + } |
481 | + } |
482 | + |
483 | + Component { |
484 | + id: weekViewComp |
485 | + |
486 | + WeekView { |
487 | + onDayStartChanged: { |
488 | + tabs.currentDay = dayStart |
489 | + } |
490 | + onDateSelected: { |
491 | + tabs.currentDay = date; |
492 | + tabs.selectedTabIndex = dayTab.index |
493 | + } |
494 | + onActiveChanged: { |
495 | + if (active) |
496 | + dayStart = tabs.currentDay |
497 | + } |
498 | + } |
499 | + } |
500 | + |
501 | + Component { |
502 | + id: dayViewComp |
503 | + |
504 | + DayView { |
505 | + onCurrentDayChanged: { |
506 | + tabs.currentDay = currentDay; |
507 | + } |
508 | + |
509 | + onDateSelected: { |
510 | + tabs.currentDay = date |
511 | + } |
512 | + |
513 | + onActiveChanged: { |
514 | + if (active) |
515 | + currentDay = tabs.currentDay; |
516 | + } |
517 | + } |
518 | + } |
519 | + |
520 | + Component { |
521 | + id: agendaViewComp |
522 | + |
523 | + AgendaView { |
524 | + onDateSelected: { |
525 | + tabs.currentDay = date; |
526 | + tabs.selectedTabIndex = dayTab.index |
527 | } |
528 | } |
529 | } |
530 | |
531 | === modified file 'po/com.ubuntu.calendar.pot' |
532 | --- po/com.ubuntu.calendar.pot 2015-11-23 07:15:20 +0000 |
533 | +++ po/com.ubuntu.calendar.pot 2016-01-29 14:13:59 +0000 |
534 | @@ -8,7 +8,7 @@ |
535 | msgstr "" |
536 | "Project-Id-Version: \n" |
537 | "Report-Msgid-Bugs-To: \n" |
538 | -"POT-Creation-Date: 2015-11-23 15:14+0800\n" |
539 | +"POT-Creation-Date: 2015-11-01 10:45+0900\n" |
540 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" |
541 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
542 | "Language-Team: LANGUAGE <LL@li.org>\n" |
543 | @@ -19,25 +19,25 @@ |
544 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" |
545 | |
546 | #: ../AgendaView.qml:51 ../DayView.qml:40 ../MonthView.qml:39 |
547 | -#: ../WeekView.qml:44 ../YearView.qml:42 |
548 | +#: ../WeekView.qml:44 ../YearView.qml:36 |
549 | msgid "Today" |
550 | msgstr "" |
551 | |
552 | -#: ../AgendaView.qml:93 |
553 | +#: ../AgendaView.qml:92 |
554 | msgid "No upcoming events" |
555 | msgstr "" |
556 | |
557 | -#: ../AgendaView.qml:96 |
558 | +#: ../AgendaView.qml:95 |
559 | msgid "You have no calendars enabled" |
560 | msgstr "" |
561 | |
562 | -#: ../AgendaView.qml:106 |
563 | +#: ../AgendaView.qml:105 |
564 | msgid "Enable calendars" |
565 | msgstr "" |
566 | |
567 | #. TRANSLATORS: the first argument (%1) refers to a start time for an event, |
568 | #. while the second one (%2) refers to the end time |
569 | -#: ../AgendaView.qml:169 ../EventBubble.qml:133 |
570 | +#: ../AgendaView.qml:168 ../EventBubble.qml:133 |
571 | #, qt-format |
572 | msgid "%1 - %2" |
573 | msgstr "" |
574 | @@ -46,34 +46,34 @@ |
575 | #. on a given day. "Ev." is short form for "Events". |
576 | #. Please keep the translation of "Ev." to 3 characters only, as the week view |
577 | #. where it's shown has limited space |
578 | -#: ../AllDayEventComponent.qml:126 |
579 | +#: ../AllDayEventComponent.qml:123 |
580 | #, qt-format |
581 | msgid "%1 ev." |
582 | msgstr "" |
583 | |
584 | #. TRANSLATORS: the argument refers to the number of all day events |
585 | -#: ../AllDayEventComponent.qml:130 |
586 | +#: ../AllDayEventComponent.qml:127 |
587 | #, qt-format |
588 | msgid "%1 all day event" |
589 | msgid_plural "%1 all day events" |
590 | msgstr[0] "" |
591 | msgstr[1] "" |
592 | |
593 | -#: ../CalendarChoicePopup.qml:33 ../EventActions.qml:61 |
594 | +#: ../CalendarChoicePopup.qml:33 ../EventActions.qml:60 |
595 | msgid "Calendars" |
596 | msgstr "" |
597 | |
598 | -#: ../CalendarChoicePopup.qml:37 ../Settings.qml:32 |
599 | +#: ../CalendarChoicePopup.qml:37 |
600 | msgid "Back" |
601 | msgstr "" |
602 | |
603 | #. TRANSLATORS: Please translate this string to 15 characters only. |
604 | #. Currently ,there is no way we can increase width of action menu currently. |
605 | -#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:37 |
606 | +#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:36 |
607 | msgid "Sync" |
608 | msgstr "" |
609 | |
610 | -#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:37 |
611 | +#: ../CalendarChoicePopup.qml:51 ../EventActions.qml:36 |
612 | msgid "Syncing" |
613 | msgstr "" |
614 | |
615 | @@ -101,7 +101,7 @@ |
616 | #. TRANSLATORS: this is a time formatting string, |
617 | #. see http://qt-project.org/doc/qt-5/qml-qtqml-date.html#details for valid expressions. |
618 | #. It's used in the header of the month and week views |
619 | -#: ../DayView.qml:60 ../MonthView.qml:61 ../WeekView.qml:64 |
620 | +#: ../DayView.qml:59 ../MonthView.qml:60 ../WeekView.qml:63 |
621 | msgid "MMMM yyyy" |
622 | msgstr "" |
623 | |
624 | @@ -136,7 +136,7 @@ |
625 | msgid "Delete" |
626 | msgstr "" |
627 | |
628 | -#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:325 |
629 | +#: ../EditEventConfirmationDialog.qml:29 ../NewEvent.qml:324 |
630 | msgid "Edit Event" |
631 | msgstr "" |
632 | |
633 | @@ -154,14 +154,10 @@ |
634 | msgid "Edit this" |
635 | msgstr "" |
636 | |
637 | -#: ../EventActions.qml:51 ../NewEvent.qml:325 |
638 | +#: ../EventActions.qml:50 ../NewEvent.qml:324 |
639 | msgid "New Event" |
640 | msgstr "" |
641 | |
642 | -#: ../EventActions.qml:72 ../Settings.qml:28 |
643 | -msgid "Settings" |
644 | -msgstr "" |
645 | - |
646 | #. TRANSLATORS: the first argument (%1) refers to a time for an event, |
647 | #. while the second one (%2) refers to title of event |
648 | #: ../EventBubble.qml:144 ../EventBubble.qml:149 |
649 | @@ -169,7 +165,7 @@ |
650 | msgid "%1 <b>%2</b>" |
651 | msgstr "" |
652 | |
653 | -#: ../EventDetails.qml:43 ../NewEvent.qml:436 |
654 | +#: ../EventDetails.qml:43 ../NewEvent.qml:435 |
655 | msgid "Event Details" |
656 | msgstr "" |
657 | |
658 | @@ -193,11 +189,11 @@ |
659 | msgid "Edit" |
660 | msgstr "" |
661 | |
662 | -#: ../EventDetails.qml:354 ../NewEvent.qml:538 |
663 | +#: ../EventDetails.qml:354 ../NewEvent.qml:537 |
664 | msgid "Guests" |
665 | msgstr "" |
666 | |
667 | -#: ../EventDetails.qml:397 ../EventReminder.qml:35 ../NewEvent.qml:635 |
668 | +#: ../EventDetails.qml:397 ../EventReminder.qml:35 ../NewEvent.qml:634 |
669 | msgid "Reminder" |
670 | msgstr "" |
671 | |
672 | @@ -220,7 +216,7 @@ |
673 | #. TRANSLATORS: this refers to how often a recurrent event repeats |
674 | #. and it is shown as the header of the option selector to choose |
675 | #. its repetition |
676 | -#: ../EventRepetition.qml:242 ../NewEvent.qml:619 |
677 | +#: ../EventRepetition.qml:242 ../NewEvent.qml:618 |
678 | msgid "Repeats" |
679 | msgstr "" |
680 | |
681 | @@ -263,10 +259,6 @@ |
682 | msgid "After Date" |
683 | msgstr "" |
684 | |
685 | -#: ../MonthComponent.qml:260 |
686 | -msgid "Wk" |
687 | -msgstr "" |
688 | - |
689 | #: ../NewEvent.qml:84 |
690 | msgid "Save" |
691 | msgstr "" |
692 | @@ -275,43 +267,43 @@ |
693 | msgid "End time can't be before start time" |
694 | msgstr "" |
695 | |
696 | -#: ../NewEvent.qml:335 |
697 | +#: ../NewEvent.qml:334 |
698 | msgid "Error" |
699 | msgstr "" |
700 | |
701 | -#: ../NewEvent.qml:337 |
702 | +#: ../NewEvent.qml:336 |
703 | msgid "OK" |
704 | msgstr "" |
705 | |
706 | -#: ../NewEvent.qml:390 |
707 | +#: ../NewEvent.qml:389 |
708 | msgid "From" |
709 | msgstr "" |
710 | |
711 | -#: ../NewEvent.qml:403 |
712 | +#: ../NewEvent.qml:402 |
713 | msgid "To" |
714 | msgstr "" |
715 | |
716 | -#: ../NewEvent.qml:420 |
717 | +#: ../NewEvent.qml:419 |
718 | msgid "All day event" |
719 | msgstr "" |
720 | |
721 | -#: ../NewEvent.qml:449 |
722 | +#: ../NewEvent.qml:448 |
723 | msgid "Event Name" |
724 | msgstr "" |
725 | |
726 | -#: ../NewEvent.qml:467 |
727 | +#: ../NewEvent.qml:466 |
728 | msgid "Description" |
729 | msgstr "" |
730 | |
731 | -#: ../NewEvent.qml:485 |
732 | +#: ../NewEvent.qml:484 |
733 | msgid "Location" |
734 | msgstr "" |
735 | |
736 | -#: ../NewEvent.qml:500 com.ubuntu.calendar_calendar.desktop.in.in.h:1 |
737 | +#: ../NewEvent.qml:499 com.ubuntu.calendar_calendar.desktop.in.in.h:1 |
738 | msgid "Calendar" |
739 | msgstr "" |
740 | |
741 | -#: ../NewEvent.qml:542 |
742 | +#: ../NewEvent.qml:541 |
743 | msgid "Add Guest" |
744 | msgstr "" |
745 | |
746 | @@ -398,10 +390,6 @@ |
747 | msgid "2 weeks" |
748 | msgstr "" |
749 | |
750 | -#: ../Settings.qml:60 |
751 | -msgid "Show week numbers" |
752 | -msgstr "" |
753 | - |
754 | #: ../TimeLineBase.qml:73 |
755 | msgid "Untitled" |
756 | msgstr "" |
757 | @@ -416,35 +404,35 @@ |
758 | msgid "All Day" |
759 | msgstr "" |
760 | |
761 | -#: ../YearView.qml:61 |
762 | +#: ../YearView.qml:54 |
763 | #, qt-format |
764 | msgid "Year %1" |
765 | msgstr "" |
766 | |
767 | -#: ../calendar.qml:47 |
768 | +#: ../calendar.qml:45 |
769 | msgid "" |
770 | "Calendar app accept four arguments: --starttime, --endtime, --newevent and --" |
771 | "eventid. They will be managed by system. See the source for a full comment " |
772 | "about them" |
773 | msgstr "" |
774 | |
775 | -#: ../calendar.qml:455 |
776 | +#: ../calendar.qml:354 |
777 | msgid "Year" |
778 | msgstr "" |
779 | |
780 | -#: ../calendar.qml:462 |
781 | +#: ../calendar.qml:388 |
782 | msgid "Month" |
783 | msgstr "" |
784 | |
785 | -#: ../calendar.qml:469 |
786 | +#: ../calendar.qml:421 |
787 | msgid "Week" |
788 | msgstr "" |
789 | |
790 | -#: ../calendar.qml:476 |
791 | +#: ../calendar.qml:459 |
792 | msgid "Day" |
793 | msgstr "" |
794 | |
795 | -#: ../calendar.qml:483 |
796 | +#: ../calendar.qml:491 |
797 | msgid "Agenda" |
798 | msgstr "" |
799 |
FAILED: Continuous integration, rev:748 /core-apps- jenkins. ubuntu. com/job/ run-ap- tests-ci/ 178/ /core-apps- jenkins. ubuntu. com/job/ generic- update- mp/462/ console
https:/
Executed test runs:
None: https:/
Click here to trigger a rebuild: /core-apps- jenkins. ubuntu. com/job/ run-ap- tests-ci/ 178/rebuild
https:/