Merge lp:~renatofilho/ubuntu-calendar-app/optimize-page-load into lp:ubuntu-calendar-app

Proposed by Renato Araujo Oliveira Filho
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
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.

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)
749. By Renato Araujo Oliveira Filho

Make sure that cachanges made on main model get propagated to model in the pages.

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) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
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://code.launchpad.net/~popey/ubuntu-calendar-app/Uitk1_3_and_font_fix/+merge/284365 has been approved, could you re-base off that please?

750. By Renato Araujo Oliveira Filho

Merged: lp:~popey/ubuntu-calendar-app/Uitk1_3_and_font_fix

751. By Renato Araujo Oliveira Filho

Merged: lp:~renatofilho/ubuntu-calendar-app/sdk-1-3

752. By Renato Araujo Oliveira Filho

Merged: ~renatofilho/ubuntu-calendar-app/sdk-1-3

753. By Renato Araujo Oliveira Filho

Merged: lp:~renatofilho/ubuntu-calendar-app/sdk-1-3

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

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
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

Subscribers

People subscribed via source and target branches

to status/vote changes: