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:~popey/ubuntu-calendar-app/Uitk1_3_and_font_fix
Diff against target: 1019 lines (+228/-163)
48 files modified
AgendaView.qml (+1/-1)
AllDayEventComponent.qml (+1/-1)
CalendarChoicePopup.qml (+1/-1)
CalendarListButtonDelegate.qml (+1/-1)
ColorPickerDialog.qml (+1/-1)
ContactChoicePopup.qml (+1/-1)
DayHeaderBackground.qml (+1/-1)
DayView.qml (+1/-1)
Defines.js (+1/-1)
DeleteConfirmationDialog.qml (+1/-1)
EditEventConfirmationDialog.qml (+1/-1)
EventActions.qml (+1/-1)
EventBubble.qml (+1/-1)
EventDetails.qml (+2/-2)
EventListModel.qml (+3/-3)
EventReminder.qml (+1/-1)
EventRepetition.qml (+1/-1)
EventUtils.qml (+1/-1)
HeaderDateComponent.qml (+1/-1)
KeyboardRectangle.qml (+1/-1)
LimitLabelModel.qml (+1/-1)
MonthComponent.qml (+1/-1)
MonthComponentDateDelegate.qml (+1/-1)
MonthView.qml (+1/-1)
NewEvent.qml (+1/-1)
NewEventEntryField.qml (+1/-1)
NewEventTimePicker.qml (+1/-1)
OnlineAccountsHelper.qml (+1/-1)
PathViewBase.qml (+1/-1)
RecurrenceLabelDefines.qml (+1/-1)
RemindersModel.qml (+1/-1)
ScrollAnimation.qml (+1/-1)
Scroller.qml (+1/-1)
Settings.qml (+2/-2)
SimpleDivider.qml (+1/-1)
TimeLineBackground.qml (+1/-1)
TimeLineBase.qml (+1/-1)
TimeLineBaseComponent.qml (+1/-2)
TimeLineHeader.qml (+2/-3)
TimeLineHeaderComponent.qml (+1/-1)
TimeLineTimeScale.qml (+1/-1)
TimeSeparator.qml (+1/-1)
ViewHeader.qml (+1/-1)
WeekView.qml (+1/-1)
YearView.qml (+1/-1)
YearViewDelegate.qml (+1/-1)
calendar.qml (+176/-109)
calendarTests.qml (+1/-1)
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+284451@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.
751. By Renato Araujo Oliveira Filho

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

Revision history for this message
Jenkins Bot (ubuntu-core-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
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:35:31 +0000
3+++ AgendaView.qml 2016-01-29 14:35:31 +0000
4@@ -16,7 +16,7 @@
5 * along with this program. If not, see <http://www.gnu.org/licenses/>.
6 */
7
8-import QtQuick 2.3
9+import QtQuick 2.4
10 import QtOrganizer 5.0
11 import Ubuntu.Components 1.3
12 import Ubuntu.Components.ListItems 1.0 as ListItem
13
14=== modified file 'AllDayEventComponent.qml'
15--- AllDayEventComponent.qml 2016-01-29 14:35:31 +0000
16+++ AllDayEventComponent.qml 2016-01-29 14:35:31 +0000
17@@ -15,7 +15,7 @@
18 * You should have received a copy of the GNU General Public License
19 * along with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21-import QtQuick 2.3
22+import QtQuick 2.4
23 import Ubuntu.Components 1.3
24 import Ubuntu.Components.Popups 1.0
25 import QtOrganizer 5.0
26
27=== modified file 'CalendarChoicePopup.qml'
28--- CalendarChoicePopup.qml 2016-01-29 14:35:31 +0000
29+++ CalendarChoicePopup.qml 2016-01-29 14:35:31 +0000
30@@ -15,7 +15,7 @@
31 * You should have received a copy of the GNU General Public License
32 * along with this program. If not, see <http://www.gnu.org/licenses/>.
33 */
34-import QtQuick 2.3
35+import QtQuick 2.4
36 import Ubuntu.Components 1.3
37 import Ubuntu.Components.Popups 1.0
38 import Ubuntu.Components.ListItems 1.0 as ListItem
39
40=== modified file 'CalendarListButtonDelegate.qml'
41--- CalendarListButtonDelegate.qml 2016-01-29 14:35:31 +0000
42+++ CalendarListButtonDelegate.qml 2016-01-29 14:35:31 +0000
43@@ -14,7 +14,7 @@
44 * along with this program. If not, see <http://www.gnu.org/licenses/>.
45 */
46
47-import QtQuick 2.0
48+import QtQuick 2.4
49 import Ubuntu.Components 1.3
50 import Ubuntu.Components.ListItems 1.0 as ListItem
51
52
53=== modified file 'ColorPickerDialog.qml'
54--- ColorPickerDialog.qml 2016-01-29 14:35:31 +0000
55+++ ColorPickerDialog.qml 2016-01-29 14:35:31 +0000
56@@ -15,7 +15,7 @@
57 * You should have received a copy of the GNU General Public License
58 * along with this program. If not, see <http://www.gnu.org/licenses/>.
59 */
60-import QtQuick 2.3
61+import QtQuick 2.4
62 import Ubuntu.Components 1.3
63 import Ubuntu.Components.Popups 1.0
64
65
66=== modified file 'ContactChoicePopup.qml'
67--- ContactChoicePopup.qml 2016-01-29 14:35:31 +0000
68+++ ContactChoicePopup.qml 2016-01-29 14:35:31 +0000
69@@ -15,7 +15,7 @@
70 * You should have received a copy of the GNU General Public License
71 * along with this program. If not, see <http://www.gnu.org/licenses/>.
72 */
73-import QtQuick 2.3
74+import QtQuick 2.4
75 import Ubuntu.Components 1.3
76 import Ubuntu.Components.Popups 1.0
77 import Ubuntu.Components.ListItems 1.0
78
79=== modified file 'DayHeaderBackground.qml'
80--- DayHeaderBackground.qml 2014-09-20 10:45:35 +0000
81+++ DayHeaderBackground.qml 2016-01-29 14:35:31 +0000
82@@ -15,7 +15,7 @@
83 * You should have received a copy of the GNU General Public License
84 * along with this program. If not, see <http://www.gnu.org/licenses/>.
85 */
86-import QtQuick 2.3
87+import QtQuick 2.4
88
89 Item {
90 width: parent.width
91
92=== modified file 'DayView.qml'
93--- DayView.qml 2016-01-29 14:35:31 +0000
94+++ DayView.qml 2016-01-29 14:35:31 +0000
95@@ -16,7 +16,7 @@
96 * along with this program. If not, see <http://www.gnu.org/licenses/>.
97 */
98
99-import QtQuick 2.3
100+import QtQuick 2.4
101 import Ubuntu.Components 1.3
102 import "dateExt.js" as DateExt
103 import "ViewType.js" as ViewType
104
105=== modified file 'Defines.js'
106--- Defines.js 2016-01-29 14:35:31 +0000
107+++ Defines.js 2016-01-29 14:35:31 +0000
108@@ -43,7 +43,7 @@
109
110 function getWeekLabels(){
111 var object = Qt.createQmlObject('\
112- import QtQuick 2.3;\
113+ import QtQuick 2.4;\
114 import Ubuntu.Components 1.3;\
115 QtObject {\
116 property var weekLabel:[Qt.locale().dayName(7,Locale.NarrowFormat),\
117
118=== modified file 'DeleteConfirmationDialog.qml'
119--- DeleteConfirmationDialog.qml 2016-01-29 14:35:31 +0000
120+++ DeleteConfirmationDialog.qml 2016-01-29 14:35:31 +0000
121@@ -15,7 +15,7 @@
122 * You should have received a copy of the GNU General Public License
123 * along with this program. If not, see <http://www.gnu.org/licenses/>.
124 */
125-import QtQuick 2.3
126+import QtQuick 2.4
127 import Ubuntu.Components 1.3
128 import Ubuntu.Components.Popups 1.0
129
130
131=== modified file 'EditEventConfirmationDialog.qml'
132--- EditEventConfirmationDialog.qml 2016-01-29 14:35:31 +0000
133+++ EditEventConfirmationDialog.qml 2016-01-29 14:35:31 +0000
134@@ -15,7 +15,7 @@
135 * You should have received a copy of the GNU General Public License
136 * along with this program. If not, see <http://www.gnu.org/licenses/>.
137 */
138-import QtQuick 2.3
139+import QtQuick 2.4
140 import Ubuntu.Components 1.3
141 import Ubuntu.Components.Popups 1.0
142
143
144=== modified file 'EventActions.qml'
145--- EventActions.qml 2016-01-29 14:35:31 +0000
146+++ EventActions.qml 2016-01-29 14:35:31 +0000
147@@ -16,7 +16,7 @@
148 * along with this program. If not, see <http://www.gnu.org/licenses/>.
149 */
150
151-import QtQuick 2.3
152+import QtQuick 2.4
153 import Ubuntu.Components 1.3
154 import Ubuntu.SyncMonitor 0.1
155
156
157=== modified file 'EventBubble.qml'
158--- EventBubble.qml 2016-01-29 14:35:31 +0000
159+++ EventBubble.qml 2016-01-29 14:35:31 +0000
160@@ -16,7 +16,7 @@
161 * along with this program. If not, see <http://www.gnu.org/licenses/>.
162 */
163
164-import QtQuick 2.3
165+import QtQuick 2.4
166 import Ubuntu.Components 1.3
167 import QtOrganizer 5.0
168
169
170=== modified file 'EventDetails.qml'
171--- EventDetails.qml 2016-01-29 14:35:31 +0000
172+++ EventDetails.qml 2016-01-29 14:35:31 +0000
173@@ -15,7 +15,7 @@
174 * You should have received a copy of the GNU General Public License
175 * along with this program. If not, see <http://www.gnu.org/licenses/>.
176 */
177-import QtQuick 2.3
178+import QtQuick 2.4
179 import Ubuntu.Components 1.3
180 import Ubuntu.Components.ListItems 1.0 as ListItem
181 import Ubuntu.Components.Themes.Ambiance 1.0
182@@ -209,7 +209,7 @@
183 dialog.editEvent.connect( function(eventId){
184 if( eventId === event.parentId ) {
185 showEditEventPage(internal.parentEvent, model)
186- } else {
187+ } else {
188 showEditEventPage(event, model)
189 }
190 });
191
192=== modified file 'EventListModel.qml'
193--- EventListModel.qml 2015-08-24 05:08:46 +0000
194+++ EventListModel.qml 2016-01-29 14:35:31 +0000
195@@ -15,7 +15,7 @@
196 * You should have received a copy of the GNU General Public License
197 * along with this program. If not, see <http://www.gnu.org/licenses/>.
198 */
199-import QtQuick 2.3
200+import QtQuick 2.4
201 import QtOrganizer 5.0
202
203 OrganizerModel {
204@@ -41,7 +41,7 @@
205 }
206
207 function startLoadingTimer() {
208- var newObject = Qt.createQmlObject("import QtQuick 2.3; Timer {interval: 1000; running: true; repeat: false;}",
209+ var newObject = Qt.createQmlObject("import QtQuick 2.4; Timer {interval: 1000; running: true; repeat: false;}",
210 eventModel, "EventListMode.qml");
211 newObject.onTriggered.connect( function(){
212 var items = itemsByTimePeriod(eventModel.startPeriod, eventModel.endPeriod);
213@@ -73,7 +73,7 @@
214 }
215 }
216 return cals;
217- }
218+ }
219
220 function getWritableCollections(){
221 var cals = [];
222
223=== modified file 'EventReminder.qml'
224--- EventReminder.qml 2016-01-29 14:35:31 +0000
225+++ EventReminder.qml 2016-01-29 14:35:31 +0000
226@@ -16,7 +16,7 @@
227 * along with this program. If not, see <http://www.gnu.org/licenses/>.
228 */
229
230-import QtQuick 2.3
231+import QtQuick 2.4
232 import Ubuntu.Components 1.3
233 import Ubuntu.Components.ListItems 1.0 as ListItem
234
235
236=== modified file 'EventRepetition.qml'
237--- EventRepetition.qml 2016-01-29 14:35:31 +0000
238+++ EventRepetition.qml 2016-01-29 14:35:31 +0000
239@@ -16,7 +16,7 @@
240 * along with this program. If not, see <http://www.gnu.org/licenses/>.
241 */
242
243-import QtQuick 2.3
244+import QtQuick 2.4
245 import QtOrganizer 5.0
246 import Ubuntu.Components 1.3
247 import Ubuntu.Components.ListItems 1.0 as ListItem
248
249=== modified file 'EventUtils.qml'
250--- EventUtils.qml 2016-01-29 14:35:31 +0000
251+++ EventUtils.qml 2016-01-29 14:35:31 +0000
252@@ -16,7 +16,7 @@
253 * along with this program. If not, see <http://www.gnu.org/licenses/>.
254 */
255
256-import QtQuick 2.3
257+import QtQuick 2.4
258 import Ubuntu.Components 1.3
259 import QtOrganizer 5.0
260 import "Defines.js" as Defines
261
262=== modified file 'HeaderDateComponent.qml'
263--- HeaderDateComponent.qml 2016-01-29 14:35:31 +0000
264+++ HeaderDateComponent.qml 2016-01-29 14:35:31 +0000
265@@ -16,7 +16,7 @@
266 * along with this program. If not, see <http://www.gnu.org/licenses/>.
267 */
268
269-import QtQuick 2.3
270+import QtQuick 2.4
271 import Ubuntu.Components 1.3
272
273 Item {
274
275=== modified file 'KeyboardRectangle.qml'
276--- KeyboardRectangle.qml 2014-09-20 10:45:35 +0000
277+++ KeyboardRectangle.qml 2016-01-29 14:35:31 +0000
278@@ -16,7 +16,7 @@
279 * along with this program. If not, see <http://www.gnu.org/licenses/>.
280 */
281
282-import QtQuick 2.3
283+import QtQuick 2.4
284
285 Item {
286 id: keyboardRect
287
288=== modified file 'LimitLabelModel.qml'
289--- LimitLabelModel.qml 2014-10-22 17:32:15 +0000
290+++ LimitLabelModel.qml 2016-01-29 14:35:31 +0000
291@@ -15,7 +15,7 @@
292 * You should have received a copy of the GNU General Public License
293 * along with this program. If not, see <http://www.gnu.org/licenses/>.
294 */
295-import QtQuick 2.3;
296+import QtQuick 2.4
297
298 ListModel {
299 id:limitLables
300
301=== modified file 'MonthComponent.qml'
302--- MonthComponent.qml 2016-01-29 14:35:31 +0000
303+++ MonthComponent.qml 2016-01-29 14:35:31 +0000
304@@ -15,7 +15,7 @@
305 * You should have received a copy of the GNU General Public License
306 * along with this program. If not, see <http://www.gnu.org/licenses/>.
307 */
308-import QtQuick 2.3
309+import QtQuick 2.4
310 import Ubuntu.Components 1.3
311 import "dateExt.js" as DateExt
312 import "colorUtils.js" as Color
313
314=== modified file 'MonthComponentDateDelegate.qml'
315--- MonthComponentDateDelegate.qml 2016-01-29 14:35:31 +0000
316+++ MonthComponentDateDelegate.qml 2016-01-29 14:35:31 +0000
317@@ -1,4 +1,4 @@
318-import QtQuick 2.0
319+import QtQuick 2.4
320 import Ubuntu.Components 1.3
321
322 Item{
323
324=== modified file 'MonthView.qml'
325--- MonthView.qml 2016-01-29 14:35:31 +0000
326+++ MonthView.qml 2016-01-29 14:35:31 +0000
327@@ -15,7 +15,7 @@
328 * You should have received a copy of the GNU General Public License
329 * along with this program. If not, see <http://www.gnu.org/licenses/>.
330 */
331-import QtQuick 2.3
332+import QtQuick 2.4
333 import Ubuntu.Components 1.3
334 import "dateExt.js" as DateExt
335 import "colorUtils.js" as Color
336
337=== modified file 'NewEvent.qml'
338--- NewEvent.qml 2016-01-29 14:35:31 +0000
339+++ NewEvent.qml 2016-01-29 14:35:31 +0000
340@@ -16,7 +16,7 @@
341 * along with this program. If not, see <http://www.gnu.org/licenses/>.
342 */
343
344-import QtQuick 2.3
345+import QtQuick 2.4
346 import QtOrganizer 5.0
347 import Ubuntu.Components 1.3
348 import Ubuntu.Components.Popups 1.0
349
350=== modified file 'NewEventEntryField.qml'
351--- NewEventEntryField.qml 2016-01-29 14:35:31 +0000
352+++ NewEventEntryField.qml 2016-01-29 14:35:31 +0000
353@@ -16,7 +16,7 @@
354 * along with this program. If not, see <http://www.gnu.org/licenses/>.
355 */
356
357-import QtQuick 2.3
358+import QtQuick 2.4
359 import Ubuntu.Components 1.3
360
361 Label {
362
363=== modified file 'NewEventTimePicker.qml'
364--- NewEventTimePicker.qml 2014-10-21 18:58:31 +0000
365+++ NewEventTimePicker.qml 2016-01-29 14:35:31 +0000
366@@ -1,4 +1,4 @@
367-import QtQuick 2.3
368+import QtQuick 2.4
369 import Ubuntu.Components.ListItems 1.0 as ListItem
370 import Ubuntu.Components.Themes.Ambiance 1.0
371 import Ubuntu.Components.Pickers 1.0
372
373=== modified file 'OnlineAccountsHelper.qml'
374--- OnlineAccountsHelper.qml 2016-01-29 14:35:31 +0000
375+++ OnlineAccountsHelper.qml 2016-01-29 14:35:31 +0000
376@@ -14,7 +14,7 @@
377 * along with this program. If not, see <http://www.gnu.org/licenses/>.
378 */
379
380-import QtQuick 2.2
381+import QtQuick 2.4
382 import Ubuntu.Components 1.3
383 import Ubuntu.OnlineAccounts 0.1
384 import Ubuntu.OnlineAccounts.Client 0.1
385
386=== modified file 'PathViewBase.qml'
387--- PathViewBase.qml 2015-08-29 08:59:47 +0000
388+++ PathViewBase.qml 2016-01-29 14:35:31 +0000
389@@ -15,7 +15,7 @@
390 * You should have received a copy of the GNU General Public License
391 * along with this program. If not, see <http://www.gnu.org/licenses/>.
392 */
393-import QtQuick 2.3
394+import QtQuick 2.4
395
396 PathView {
397 id: root
398
399=== modified file 'RecurrenceLabelDefines.qml'
400--- RecurrenceLabelDefines.qml 2016-01-29 14:35:31 +0000
401+++ RecurrenceLabelDefines.qml 2016-01-29 14:35:31 +0000
402@@ -16,7 +16,7 @@
403 * along with this program. If not, see <http://www.gnu.org/licenses/>.
404 */
405
406-import QtQuick 2.3
407+import QtQuick 2.4
408 import Ubuntu.Components 1.3
409
410 QtObject {
411
412=== modified file 'RemindersModel.qml'
413--- RemindersModel.qml 2014-10-17 05:42:34 +0000
414+++ RemindersModel.qml 2016-01-29 14:35:31 +0000
415@@ -16,7 +16,7 @@
416 * along with this program. If not, see <http://www.gnu.org/licenses/>.
417 */
418
419-import QtQuick 2.3
420+import QtQuick 2.4
421
422 ListModel {
423 id: reminderModel
424
425=== modified file 'ScrollAnimation.qml'
426--- ScrollAnimation.qml 2014-09-20 10:45:35 +0000
427+++ ScrollAnimation.qml 2016-01-29 14:35:31 +0000
428@@ -1,4 +1,4 @@
429-import QtQuick 2.3
430+import QtQuick 2.4
431
432 PropertyAnimation {
433 duration: 500
434
435=== modified file 'Scroller.qml'
436--- Scroller.qml 2016-01-29 14:35:31 +0000
437+++ Scroller.qml 2016-01-29 14:35:31 +0000
438@@ -16,7 +16,7 @@
439 * along with this program. If not, see <http://www.gnu.org/licenses/>.
440 */
441
442-import QtQuick 2.3
443+import QtQuick 2.4
444 import Ubuntu.Components 1.3
445 import Ubuntu.Components.ListItems 1.0 as ListItems
446
447
448=== modified file 'Settings.qml'
449--- Settings.qml 2016-01-29 14:35:31 +0000
450+++ Settings.qml 2016-01-29 14:35:31 +0000
451@@ -15,7 +15,7 @@
452 * You should have received a copy of the GNU General Public License
453 * along with this program. If not, see <http://www.gnu.org/licenses/>.
454 */
455-import QtQuick 2.3
456+import QtQuick 2.4
457 import Ubuntu.Components 1.3
458 import Ubuntu.Components.Popups 1.0
459 import Ubuntu.Components.ListItems 1.0 as ListItem
460@@ -27,7 +27,7 @@
461 visible: false
462
463 head {
464- title: i18n.tr("Settings")
465+ title: i18n.tr("Settings")
466 backAction: Action {
467 text: i18n.tr("Back")
468 iconName: "back"
469
470=== modified file 'SimpleDivider.qml'
471--- SimpleDivider.qml 2014-12-11 20:29:27 +0000
472+++ SimpleDivider.qml 2016-01-29 14:35:31 +0000
473@@ -16,7 +16,7 @@
474 * along with this program. If not, see <http://www.gnu.org/licenses/>.
475 */
476
477-import QtQuick 2.0
478+import QtQuick 2.4
479
480 Rectangle{
481 height: units.gu(0.1)
482
483=== modified file 'TimeLineBackground.qml'
484--- TimeLineBackground.qml 2016-01-29 14:35:31 +0000
485+++ TimeLineBackground.qml 2016-01-29 14:35:31 +0000
486@@ -16,7 +16,7 @@
487 * along with this program. If not, see <http://www.gnu.org/licenses/>.
488 */
489
490-import QtQuick 2.3
491+import QtQuick 2.4
492 import Ubuntu.Components 1.3
493
494 Column {
495
496=== modified file 'TimeLineBase.qml'
497--- TimeLineBase.qml 2016-01-29 14:35:31 +0000
498+++ TimeLineBase.qml 2016-01-29 14:35:31 +0000
499@@ -15,7 +15,7 @@
500 * You should have received a copy of the GNU General Public License
501 * along with this program. If not, see <http://www.gnu.org/licenses/>.
502 */
503-import QtQuick 2.3
504+import QtQuick 2.4
505 import Ubuntu.Components 1.3
506 import QtOrganizer 5.0
507
508
509=== modified file 'TimeLineBaseComponent.qml'
510--- TimeLineBaseComponent.qml 2016-01-29 14:35:31 +0000
511+++ TimeLineBaseComponent.qml 2016-01-29 14:35:31 +0000
512@@ -16,8 +16,7 @@
513 * along with this program. If not, see <http://www.gnu.org/licenses/>.
514 */
515
516-import QtQuick 2.3
517-import QtQuick.Layouts 1.1
518+import QtQuick 2.4
519 import Ubuntu.Components 1.3
520 import Ubuntu.Components.Popups 1.0
521 import QtOrganizer 5.0
522
523=== modified file 'TimeLineHeader.qml'
524--- TimeLineHeader.qml 2016-01-29 14:35:31 +0000
525+++ TimeLineHeader.qml 2016-01-29 14:35:31 +0000
526@@ -16,9 +16,8 @@
527 * along with this program. If not, see <http://www.gnu.org/licenses/>.
528 */
529
530-import QtQuick 2.0
531+import QtQuick 2.4
532 import Ubuntu.Components 1.3
533-import QtQuick.Layouts 1.1
534
535 import "ViewType.js" as ViewType
536
537@@ -50,7 +49,7 @@
538 id: weekNumLabel
539 objectName: "weeknumber"
540
541- // TRANSLATORS: W refers to Week, followed by the actual week number (%1)
542+ // TRANSLATORS: W refers to Week, followed by the actual week number (%1)
543 text: i18n.tr("W%1").arg(startDay.weekNumber(Qt.locale().firstDayOfWeek))
544 fontSize: "small"
545 height: units.gu(5)
546
547=== modified file 'TimeLineHeaderComponent.qml'
548--- TimeLineHeaderComponent.qml 2016-01-29 14:35:31 +0000
549+++ TimeLineHeaderComponent.qml 2016-01-29 14:35:31 +0000
550@@ -16,7 +16,7 @@
551 * along with this program. If not, see <http://www.gnu.org/licenses/>.
552 */
553
554-import QtQuick 2.3
555+import QtQuick 2.4
556 import Ubuntu.Components 1.3
557 import "dateExt.js" as DateExt
558 import "ViewType.js" as ViewType
559
560=== modified file 'TimeLineTimeScale.qml'
561--- TimeLineTimeScale.qml 2016-01-29 14:35:31 +0000
562+++ TimeLineTimeScale.qml 2016-01-29 14:35:31 +0000
563@@ -16,7 +16,7 @@
564 * along with this program. If not, see <http://www.gnu.org/licenses/>.
565 */
566
567-import QtQuick 2.0
568+import QtQuick 2.4
569 import Ubuntu.Components 1.3
570
571 Flickable{
572
573=== modified file 'TimeSeparator.qml'
574--- TimeSeparator.qml 2014-09-20 10:45:35 +0000
575+++ TimeSeparator.qml 2016-01-29 14:35:31 +0000
576@@ -15,7 +15,7 @@
577 * You should have received a copy of the GNU General Public License
578 * along with this program. If not, see <http://www.gnu.org/licenses/>.
579 */
580-import QtQuick 2.3
581+import QtQuick 2.4
582
583 Rectangle {
584 id: separator
585
586=== modified file 'ViewHeader.qml'
587--- ViewHeader.qml 2016-01-29 14:35:31 +0000
588+++ ViewHeader.qml 2016-01-29 14:35:31 +0000
589@@ -15,7 +15,7 @@
590 * You should have received a copy of the GNU General Public License
591 * along with this program. If not, see <http://www.gnu.org/licenses/>.
592 */
593-import QtQuick 2.3
594+import QtQuick 2.4
595 import Ubuntu.Components 1.3
596
597 Item{
598
599=== modified file 'WeekView.qml'
600--- WeekView.qml 2016-01-29 14:35:31 +0000
601+++ WeekView.qml 2016-01-29 14:35:31 +0000
602@@ -16,7 +16,7 @@
603 * along with this program. If not, see <http://www.gnu.org/licenses/>.
604 */
605
606-import QtQuick 2.3
607+import QtQuick 2.4
608 import Ubuntu.Components 1.3
609 import "dateExt.js" as DateExt
610 import "ViewType.js" as ViewType
611
612=== modified file 'YearView.qml'
613--- YearView.qml 2016-01-29 14:35:31 +0000
614+++ YearView.qml 2016-01-29 14:35:31 +0000
615@@ -16,7 +16,7 @@
616 * along with this program. If not, see <http://www.gnu.org/licenses/>.
617 */
618
619-import QtQuick 2.3
620+import QtQuick 2.4
621 import Ubuntu.Components 1.3
622
623 import "dateExt.js" as DateExt
624
625=== modified file 'YearViewDelegate.qml'
626--- YearViewDelegate.qml 2016-01-29 14:35:31 +0000
627+++ YearViewDelegate.qml 2016-01-29 14:35:31 +0000
628@@ -1,4 +1,4 @@
629-import QtQuick 2.0
630+import QtQuick 2.4
631 import Ubuntu.Components 1.3
632
633 GridView{
634
635=== modified file 'calendar.qml'
636--- calendar.qml 2016-01-29 14:35:31 +0000
637+++ calendar.qml 2016-01-29 14:35:31 +0000
638@@ -15,7 +15,7 @@
639 * You should have received a copy of the GNU General Public License
640 * along with this program. If not, see <http://www.gnu.org/licenses/>.
641 */
642-import QtQuick 2.3
643+import QtQuick 2.4
644 import Ubuntu.Components 1.3
645 import Ubuntu.Components.Popups 1.0
646 import QtOrganizer 5.0
647@@ -126,6 +126,7 @@
648 }
649 }
650
651+ // Load events after the app startup
652 Timer {
653 id: applyFilterTimer
654 interval: 200; running: false; repeat: false
655@@ -157,6 +158,16 @@
656 id: collectionFilter
657 }
658
659+ InvalidFilter {
660+ id: invalidFilter
661+ }
662+
663+ IntersectionFilter {
664+ id: mainFilter
665+
666+ filters: [ collectionFilter, itemTypeFilter]
667+ }
668+
669 EventListModel{
670 id: eventModel
671
672@@ -164,9 +175,7 @@
673 startPeriod: tabs.currentDay
674 endPeriod: tabs.currentDay
675
676- filter: IntersectionFilter {
677- filters: [ collectionFilter, itemTypeFilter]
678- }
679+ filter: invalidFilter
680
681 function delayedApplyFilter() {
682 applyFilterTimer.restart();
683@@ -182,6 +191,7 @@
684 }
685 }
686 collectionFilter.ids = collectionIds;
687+ filter = mainFilter
688 }
689
690 function showEventFromId(eventId) {
691@@ -214,6 +224,7 @@
692 id: tabs
693 Keys.forwardTo: [tabs.currentPage]
694
695+ property bool isReady: false
696 property var currentDay: DateExt.today();
697 property var selectedDay;
698
699@@ -313,6 +324,7 @@
700 else {
701 tabs.selectedTabIndex = settings.defaultViewIndex;
702 }
703+ tabs.isReady = true
704 } // End of Component.onCompleted:
705
706 EventActions {
707@@ -347,139 +359,194 @@
708 }
709 }
710
711- onSelectedTabChanged: {
712- switch (tabs.selectedTab) {
713- case yearTab:{
714- if (yearTab.page === null) {
715- var yearViewCom = Qt.createComponent("YearView.qml");
716- if (yearViewCom.status === Component.Ready) {
717- var yearViewObj = yearViewCom.createObject(mainView);
718-
719- yearViewObj.monthSelected.connect(function (date){
720- var now = DateExt.today();
721- if( date.getMonth() === now.getMonth()
722- && date.getFullYear() === now.getFullYear()) {
723- tabs.currentDay = now;
724- } else {
725- tabs.currentDay = date.midnight();
726- }
727- tabs.selectedTabIndex = monthTab.index;
728- })
729-
730- yearTab.page = yearViewObj;
731- }
732- } else {
733- yearTab.page.refreshCurrentYear(DateExt.today().getFullYear());
734- }
735- } break;
736- case monthTab: {
737- if (monthTab.page === null) {
738- var monthViewCom = Qt.createComponent("MonthView.qml");
739- if (monthViewCom.status === Component.Ready) {
740- var monthViewObj = monthViewCom.createObject(mainView);
741-
742- monthViewObj.dateSelected.connect(function (date) {
743- tabs.currentDay = date;
744- tabs.selectedTabIndex = dayTab.index;
745- })
746-
747- monthTab.page = monthViewObj;
748- }
749- } else {
750- monthTab.page.currentMonth = tabs.currentDay.midnight();
751- }
752- } break;
753- case weekTab: {
754- if (weekTab.page === null) {
755- var weekViewCom = Qt.createComponent("WeekView.qml");
756- if (weekViewCom.status === Component.Ready) {
757- var weekViewObj = weekViewCom.createObject(mainView);
758-
759- weekViewObj.isCurrentPage = Qt.binding(function() { return tabs.selectedTab == weekTab })
760- weekViewObj.onDayStartChanged.connect(function (){
761- tabs.currentDay = weekViewObj.dayStart;
762- });
763- weekViewObj.dateSelected.connect(function (date){
764- tabs.currentDay = date;
765- tabs.selectedTabIndex = dayTab.index;
766- });
767-
768- weekTab.page = weekViewObj;
769- }
770- } else {
771- weekTab.page.dayStart = tabs.currentDay;
772- }
773- } break;
774- case dayTab: {
775- if (dayTab.page === null) {
776- var dayViewCom = Qt.createComponent("DayView.qml");
777- if (dayViewCom.status === Component.Ready) {
778- var dayViewObj = dayViewCom.createObject(mainView);
779-
780- dayViewObj.isCurrentPage= Qt.binding(function() { return tabs.selectedTab == dayTab })
781- dayViewObj.onCurrentDayChanged.connect(function (){
782- tabs.currentDay = dayViewObj.currentDay;
783- });
784- dayViewObj.dateSelected.connect(function (date) {
785- tabs.currentDay = date;
786- });
787-
788- dayTab.page =dayViewObj;
789- }
790- } else {
791- dayTab.page.currentDay = tabs.currentDay;
792- }
793- } break;
794- case agendaTab: {
795- var agendaViewCom = Qt.createComponent("AgendaView.qml");
796- if (agendaViewCom.status === Component.Ready) {
797- var agendaViewObj = agendaViewCom.createObject(mainView);
798-
799- agendaViewObj.dateSelected.connect(function (date){
800- tabs.currentDay = date;
801- tabs.selectedTabIndex = dayTab.index;
802- })
803- agendaTab.page = agendaViewObj;
804- }
805- } break;
806- default:
807- break;
808- }
809- }
810-
811 Tab{
812 id: yearTab
813 objectName: "yearTab"
814 title: i18n.tr("Year")
815- page: null
816+
817+ page: Loader {
818+ id: yearViewLoader
819+
820+ asynchronous: true
821+ sourceComponent: yearViewComp
822+ active: false
823+ // Load page on demand and keep it on memory until the application is closed
824+ enabled: tabs.isReady && (tabs.selectedTab == yearTab)
825+ onEnabledChanged: {
826+ if (enabled && !active) {
827+ active = true
828+ }
829+ }
830+ }
831 }
832
833 Tab{
834 id: monthTab
835 objectName: "monthTab"
836 title: i18n.tr("Month")
837- page: null
838+
839+ page: Loader {
840+ id: monthTabLoader
841+
842+ asynchronous: true
843+ sourceComponent: monthViewComp
844+ active: false
845+ // Load page on demand and keep it on memory until the application is closed
846+ enabled: tabs.isReady && (tabs.selectedTab == monthTab)
847+ onEnabledChanged: {
848+ if (enabled && !active) {
849+ active = true
850+ }
851+ }
852+ }
853 }
854
855 Tab{
856 id: weekTab
857 objectName: "weekTab"
858 title: i18n.tr("Week")
859- page: null
860+
861+ page: Loader {
862+ id: weekTabLoader
863+
864+ asynchronous: true
865+ sourceComponent: weekViewComp
866+ active: false
867+ // Load page on demand and keep it on memory until the application is closed
868+ enabled: tabs.isReady && (tabs.selectedTab == weekTab)
869+ onEnabledChanged: {
870+ if (enabled && !active) {
871+ active = true
872+ }
873+ }
874+ }
875 }
876
877 Tab{
878 id: dayTab
879 objectName: "dayTab"
880 title: i18n.tr("Day")
881- page: null
882+
883+ page:Loader {
884+ id: dayTabLoader
885+
886+ asynchronous: true
887+ sourceComponent: dayViewComp
888+ active: false
889+ // Load page on demand and keep it on memory until the application is closed
890+ enabled: tabs.isReady && (tabs.selectedTab == dayTab)
891+ onEnabledChanged: {
892+ if (enabled && !active) {
893+ active = true
894+ }
895+ }
896+ }
897 }
898
899 Tab {
900 id: agendaTab
901 objectName: "agendaTab"
902 title: i18n.tr("Agenda")
903- page: null
904+
905+ page: Loader {
906+ id: agendaTabLoader
907+
908+ asynchronous: true
909+ sourceComponent: agendaViewComp
910+ active: false
911+ // Load page on demand and keep it on memory until the application is closed
912+ enabled: tabs.isReady && (tabs.selectedTab == agendaTab)
913+ onEnabledChanged: {
914+ if (enabled && !active) {
915+ active = true
916+ }
917+ }
918+ }
919+ }
920+ }
921+ }
922+
923+ Component {
924+ id: yearViewComp
925+
926+ YearView {
927+ onMonthSelected: {
928+ var now = DateExt.today();
929+ if ((date.getMonth() === now.getMonth()) &&
930+ (date.getFullYear() === now.getFullYear())) {
931+ tabs.currentDay = now;
932+ } else {
933+ tabs.currentDay = date.midnight();
934+ }
935+ tabs.selectedTabIndex = monthTab.index;
936+ }
937+ onActiveChanged: {
938+ if (active) {
939+ refreshCurrentYear(DateExt.today().getFullYear())
940+ }
941+ }
942+ }
943+ }
944+
945+ Component {
946+ id: monthViewComp
947+
948+ MonthView {
949+ onDateSelected: {
950+ tabs.currentDay = date;
951+ tabs.selectedTabIndex = dayTab.index
952+ }
953+ onActiveChanged: {
954+ if (active)
955+ currentMonth = tabs.currentDay.midnight()
956+ }
957+ }
958+ }
959+
960+ Component {
961+ id: weekViewComp
962+
963+ WeekView {
964+ onDayStartChanged: {
965+ tabs.currentDay = dayStart
966+ }
967+ onDateSelected: {
968+ tabs.currentDay = date;
969+ tabs.selectedTabIndex = dayTab.index
970+ }
971+ onActiveChanged: {
972+ if (active)
973+ dayStart = tabs.currentDay
974+ }
975+ }
976+ }
977+
978+ Component {
979+ id: dayViewComp
980+
981+ DayView {
982+ onCurrentDayChanged: {
983+ tabs.currentDay = currentDay;
984+ }
985+
986+ onDateSelected: {
987+ tabs.currentDay = date
988+ }
989+
990+ onActiveChanged: {
991+ if (active)
992+ currentDay = tabs.currentDay;
993+ }
994+ }
995+ }
996+
997+ Component {
998+ id: agendaViewComp
999+
1000+ AgendaView {
1001+ onDateSelected: {
1002+ tabs.currentDay = date;
1003+ tabs.selectedTabIndex = dayTab.index
1004 }
1005 }
1006 }
1007
1008=== modified file 'calendarTests.qml'
1009--- calendarTests.qml 2016-01-29 14:35:31 +0000
1010+++ calendarTests.qml 2016-01-29 14:35:31 +0000
1011@@ -15,7 +15,7 @@
1012 * You should have received a copy of the GNU General Public License
1013 * along with this program. If not, see <http://www.gnu.org/licenses/>.
1014 */
1015-import QtQuick 2.3
1016+import QtQuick 2.4
1017 import Ubuntu.Components 1.3
1018
1019 MainView {

Subscribers

People subscribed via source and target branches

to status/vote changes: