Merge lp:~fboucault/ubuntu-calendar-app/startup_time into lp:ubuntu-calendar-app
- startup_time
- Merge into trunk
Status: | Merged |
---|---|
Approved by: | Renato Araujo Oliveira Filho |
Approved revision: | 870 |
Merged at revision: | 868 |
Proposed branch: | lp:~fboucault/ubuntu-calendar-app/startup_time |
Merge into: | lp:ubuntu-calendar-app |
Diff against target: |
529 lines (+161/-125) 18 files modified
3rd-party/lunar.js (+2/-0) AllDayEventComponent.qml (+1/-1) ColorPickerDialog.qml (+1/-1) ContactChoicePopup.qml (+2/-2) DeleteConfirmationDialog.qml (+1/-1) EditEventConfirmationDialog.qml (+1/-1) EventRepetition.qml (+2/-2) MonthComponent.qml (+41/-9) MonthComponentDateDelegate.qml (+0/-33) MonthView.qml (+55/-36) NewEvent.qml (+4/-4) NewEventBottomEdge.qml (+35/-28) NewEventTimePicker.qml (+3/-3) OnlineAccountsDummy.qml (+1/-1) Scroller.qml (+1/-1) TimeLineBaseComponent.qml (+1/-1) YearView.qml (+9/-0) calendar.qml (+1/-1) |
To merge this branch: | bzr merge lp:~fboucault/ubuntu-calendar-app/startup_time |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
system-apps-ci-bot | continuous-integration | Approve | |
Jenkins Bot | continuous-integration | Approve | |
Renato Araujo Oliveira Filho (community) | Approve | ||
Review via email: mp+302163@code.launchpad.net |
Commit message
Various startup time fixes (totalling around 1.7s saves on krillin):
- Made lunar.js a library: faster and lighter
- Much lighter MonthComponentD
- Upgraded imports that were forgotten to UITK 1.3 and QtQuick 2.4
- Delayed loading of months other than the one visible
- Delayed loading of years other than the one visible
- Load bottom edge asynchronously including its compilation
Description of the change
Various startup time fixes (totalling around 1.7s saves on krillin):
- Made lunar.js a library: faster and lighter
- Much lighter MonthComponentD
- Upgraded imports that were forgotten to UITK 1.3 and QtQuick 2.4
- Delayed loading of months other than the one visible
- Delayed loading of years other than the one visible
- Load bottom edge asynchronously including its compilation
system-apps-ci-bot (system-apps-ci-bot) wrote : | # |
Renato Araujo Oliveira Filho (renatofilho) : | # |
Florian Boucault (fboucault) : | # |
Renato Araujo Oliveira Filho (renatofilho) wrote : | # |
Today "day number" is not visible. on Month view.
- 870. By Florian Boucault
-
MonthView: fix non-existent reference to PathView.
isCurrentItem. Fixes non visible number for today's date.
Florian Boucault (fboucault) wrote : | # |
> Today "day number" is not visible. on Month view.
Should be fixed by latest commit
Renato Araujo Oliveira Filho (renatofilho) wrote : | # |
looks good.
Jenkins Bot (ubuntu-core-apps-jenkins-bot) : | # |
system-apps-ci-bot (system-apps-ci-bot) wrote : | # |
PASSED: Continuous integration, rev:870
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild:
https:/
Preview Diff
1 | === modified file '3rd-party/lunar.js' | |||
2 | --- 3rd-party/lunar.js 2015-11-23 09:21:05 +0000 | |||
3 | +++ 3rd-party/lunar.js 2016-08-16 13:18:27 +0000 | |||
4 | @@ -8,6 +8,8 @@ | |||
5 | 8 | * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] | 8 | * @农历转公历:calendar.lunar2solar(1987,09,10); //[you can ignore params of prefix 0] |
6 | 9 | * http://blog.jjonline.cn/userInterFace/173.html | 9 | * http://blog.jjonline.cn/userInterFace/173.html |
7 | 10 | */ | 10 | */ |
8 | 11 | .pragma library | ||
9 | 12 | |||
10 | 11 | var calendar = { | 13 | var calendar = { |
11 | 12 | 14 | ||
12 | 13 | /** | 15 | /** |
13 | 14 | 16 | ||
14 | === modified file 'AllDayEventComponent.qml' | |||
15 | --- AllDayEventComponent.qml 2016-03-09 01:49:02 +0000 | |||
16 | +++ AllDayEventComponent.qml 2016-08-16 13:18:27 +0000 | |||
17 | @@ -17,7 +17,7 @@ | |||
18 | 17 | */ | 17 | */ |
19 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
20 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
22 | 20 | import Ubuntu.Components.Popups 1.0 | 20 | import Ubuntu.Components.Popups 1.3 |
23 | 21 | import QtOrganizer 5.0 | 21 | import QtOrganizer 5.0 |
24 | 22 | 22 | ||
25 | 23 | import "dateExt.js" as DateExt | 23 | import "dateExt.js" as DateExt |
26 | 24 | 24 | ||
27 | === modified file 'ColorPickerDialog.qml' | |||
28 | --- ColorPickerDialog.qml 2016-01-29 14:47:31 +0000 | |||
29 | +++ ColorPickerDialog.qml 2016-08-16 13:18:27 +0000 | |||
30 | @@ -17,7 +17,7 @@ | |||
31 | 17 | */ | 17 | */ |
32 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
33 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
35 | 20 | import Ubuntu.Components.Popups 1.0 | 20 | import Ubuntu.Components.Popups 1.3 |
36 | 21 | 21 | ||
37 | 22 | Dialog { | 22 | Dialog { |
38 | 23 | id: root | 23 | id: root |
39 | 24 | 24 | ||
40 | === modified file 'ContactChoicePopup.qml' | |||
41 | --- ContactChoicePopup.qml 2016-02-04 13:37:00 +0000 | |||
42 | +++ ContactChoicePopup.qml 2016-08-16 13:18:27 +0000 | |||
43 | @@ -18,8 +18,8 @@ | |||
44 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
45 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
46 | 20 | import Ubuntu.Components.Popups 1.3 | 20 | import Ubuntu.Components.Popups 1.3 |
49 | 21 | import Ubuntu.Components.ListItems 1.0 | 21 | import Ubuntu.Components.ListItems 1.3 |
50 | 22 | import Ubuntu.Components.Themes.Ambiance 1.0 | 22 | import Ubuntu.Components.Themes.Ambiance 1.3 |
51 | 23 | import QtOrganizer 5.0 | 23 | import QtOrganizer 5.0 |
52 | 24 | import QtContacts 5.0 | 24 | import QtContacts 5.0 |
53 | 25 | 25 | ||
54 | 26 | 26 | ||
55 | === modified file 'DeleteConfirmationDialog.qml' | |||
56 | --- DeleteConfirmationDialog.qml 2016-01-29 14:47:31 +0000 | |||
57 | +++ DeleteConfirmationDialog.qml 2016-08-16 13:18:27 +0000 | |||
58 | @@ -17,7 +17,7 @@ | |||
59 | 17 | */ | 17 | */ |
60 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
61 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
63 | 20 | import Ubuntu.Components.Popups 1.0 | 20 | import Ubuntu.Components.Popups 1.3 |
64 | 21 | 21 | ||
65 | 22 | Dialog { | 22 | Dialog { |
66 | 23 | id: dialogue | 23 | id: dialogue |
67 | 24 | 24 | ||
68 | === modified file 'EditEventConfirmationDialog.qml' | |||
69 | --- EditEventConfirmationDialog.qml 2016-01-29 14:47:31 +0000 | |||
70 | +++ EditEventConfirmationDialog.qml 2016-08-16 13:18:27 +0000 | |||
71 | @@ -17,7 +17,7 @@ | |||
72 | 17 | */ | 17 | */ |
73 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
74 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
76 | 20 | import Ubuntu.Components.Popups 1.0 | 20 | import Ubuntu.Components.Popups 1.3 |
77 | 21 | 21 | ||
78 | 22 | Dialog { | 22 | Dialog { |
79 | 23 | id: dialogue | 23 | id: dialogue |
80 | 24 | 24 | ||
81 | === modified file 'EventRepetition.qml' | |||
82 | --- EventRepetition.qml 2016-04-05 12:36:41 +0000 | |||
83 | +++ EventRepetition.qml 2016-08-16 13:18:27 +0000 | |||
84 | @@ -19,8 +19,8 @@ | |||
85 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
86 | 20 | import QtOrganizer 5.0 | 20 | import QtOrganizer 5.0 |
87 | 21 | import Ubuntu.Components 1.3 | 21 | import Ubuntu.Components 1.3 |
90 | 22 | import Ubuntu.Components.ListItems 1.0 as ListItem | 22 | import Ubuntu.Components.ListItems 1.3 as ListItem |
91 | 23 | import Ubuntu.Components.Pickers 1.0 | 23 | import Ubuntu.Components.Pickers 1.3 |
92 | 24 | import QtOrganizer 5.0 | 24 | import QtOrganizer 5.0 |
93 | 25 | import "Defines.js" as Defines | 25 | import "Defines.js" as Defines |
94 | 26 | import "Recurrence.js" as Recurrence | 26 | import "Recurrence.js" as Recurrence |
95 | 27 | 27 | ||
96 | === modified file 'MonthComponent.qml' | |||
97 | --- MonthComponent.qml 2016-04-28 20:19:03 +0000 | |||
98 | +++ MonthComponent.qml 2016-08-16 13:18:27 +0000 | |||
99 | @@ -67,6 +67,7 @@ | |||
100 | 67 | property int monthStartMonth: monthStart.getMonth() | 67 | property int monthStartMonth: monthStart.getMonth() |
101 | 68 | property int monthStartYear: monthStart.getFullYear() | 68 | property int monthStartYear: monthStart.getFullYear() |
102 | 69 | readonly property int daysInStartMonth: Date.daysInMonth(monthStartYear, monthStartMonth) | 69 | readonly property int daysInStartMonth: Date.daysInMonth(monthStartYear, monthStartMonth) |
103 | 70 | readonly property int daysInCurrentMonth: Date.daysInMonth(root.currentYear, root.currentMonth) | ||
104 | 70 | 71 | ||
105 | 71 | //check if current month is start month | 72 | //check if current month is start month |
106 | 72 | property bool isCurMonthStartMonth: root.currentMonth === monthStartMonth && | 73 | property bool isCurMonthStartMonth: root.currentMonth === monthStartMonth && |
107 | @@ -214,6 +215,15 @@ | |||
108 | 214 | return monthGrid.childAt(clickPosition.x, clickPosition.y) | 215 | return monthGrid.childAt(clickPosition.x, clickPosition.y) |
109 | 215 | } | 216 | } |
110 | 216 | 217 | ||
111 | 218 | function getIndexOfChild(object, child) { | ||
112 | 219 | for (var i = 0; i <= object.children.length; i++) { | ||
113 | 220 | if (object.children[i] === child) { | ||
114 | 221 | return i; | ||
115 | 222 | } | ||
116 | 223 | } | ||
117 | 224 | return -1; | ||
118 | 225 | } | ||
119 | 226 | |||
120 | 217 | anchors { | 227 | anchors { |
121 | 218 | fill: column | 228 | fill: column |
122 | 219 | topMargin: monthGrid.y | 229 | topMargin: monthGrid.y |
123 | @@ -221,12 +231,14 @@ | |||
124 | 221 | 231 | ||
125 | 222 | onPressAndHold: { | 232 | onPressAndHold: { |
126 | 223 | var dayItem = getItemAt(mouse.x, mouse.y) | 233 | var dayItem = getItemAt(mouse.x, mouse.y) |
128 | 224 | var selectedDate = new Date(dayItem.delegateDate.getTime()); | 234 | var index = getIndexOfChild(monthGrid, dayItem); |
129 | 235 | var selectedDate = intern.monthStart.addDays(index); | ||
130 | 225 | pageStack.push(Qt.resolvedUrl("NewEvent.qml"), {"date":selectedDate, "model":eventModel}); | 236 | pageStack.push(Qt.resolvedUrl("NewEvent.qml"), {"date":selectedDate, "model":eventModel}); |
131 | 226 | } | 237 | } |
132 | 227 | onClicked: { | 238 | onClicked: { |
133 | 228 | var dayItem = getItemAt(mouse.x, mouse.y) | 239 | var dayItem = getItemAt(mouse.x, mouse.y) |
135 | 229 | var selectedDate = new Date(dayItem.delegateDate.getTime()); | 240 | var index = getIndexOfChild(monthGrid, dayItem); |
136 | 241 | var selectedDate = intern.monthStart.addDays(index); | ||
137 | 230 | if (root.isYearView) { | 242 | if (root.isYearView) { |
138 | 231 | //If yearView is clicked then open selected MonthView | 243 | //If yearView is clicked then open selected MonthView |
139 | 232 | root.monthSelected(selectedDate); | 244 | root.monthSelected(selectedDate); |
140 | @@ -365,15 +377,35 @@ | |||
141 | 365 | Component { | 377 | Component { |
142 | 366 | id: monthWithoutEventsDelegate | 378 | id: monthWithoutEventsDelegate |
143 | 367 | 379 | ||
151 | 368 | MonthComponentDateDelegate { | 380 | Text { |
145 | 369 | property var delegateDate: intern.monthStart.addDays(index) | ||
146 | 370 | |||
147 | 371 | date: delegateDate.getDate() | ||
148 | 372 | isCurrentMonth: delegateDate.getMonth() === root.currentMonth | ||
149 | 373 | |||
150 | 374 | isToday: intern.todayDate == date && intern.isCurMonthTodayMonth | ||
152 | 375 | width: monthGrid.dayWidth | 381 | width: monthGrid.dayWidth |
153 | 376 | height: monthGrid.dayHeight | 382 | height: monthGrid.dayHeight |
154 | 383 | horizontalAlignment: Text.AlignHCenter | ||
155 | 384 | verticalAlignment: Text.AlignVCenter | ||
156 | 385 | color: { | ||
157 | 386 | var day = intern.monthStartDate + index; | ||
158 | 387 | if ( intern.monthStartDate >= 7 ) { | ||
159 | 388 | if ( day <= intern.daysInStartMonth ) { | ||
160 | 389 | text = day; | ||
161 | 390 | return "#AEA79F"; | ||
162 | 391 | } else { | ||
163 | 392 | day = day - intern.daysInStartMonth; | ||
164 | 393 | } | ||
165 | 394 | } | ||
166 | 395 | |||
167 | 396 | if ( day <= intern.daysInCurrentMonth ) { | ||
168 | 397 | text = day; | ||
169 | 398 | if ( intern.todayDate == day && intern.isCurMonthTodayMonth ) { | ||
170 | 399 | return "white"; | ||
171 | 400 | } else { | ||
172 | 401 | return "#5D5D5D"; | ||
173 | 402 | } | ||
174 | 403 | } else { | ||
175 | 404 | day = day - intern.daysInCurrentMonth; | ||
176 | 405 | text = day; | ||
177 | 406 | return "#AEA79F"; | ||
178 | 407 | } | ||
179 | 408 | } | ||
180 | 377 | } | 409 | } |
181 | 378 | } | 410 | } |
182 | 379 | } | 411 | } |
183 | 380 | 412 | ||
184 | === removed file 'MonthComponentDateDelegate.qml' | |||
185 | --- MonthComponentDateDelegate.qml 2016-03-02 19:55:52 +0000 | |||
186 | +++ MonthComponentDateDelegate.qml 1970-01-01 00:00:00 +0000 | |||
187 | @@ -1,33 +0,0 @@ | |||
188 | 1 | import QtQuick 2.4 | ||
189 | 2 | import Ubuntu.Components 1.3 | ||
190 | 3 | |||
191 | 4 | Item{ | ||
192 | 5 | id: dateRootItem | ||
193 | 6 | |||
194 | 7 | property int date; | ||
195 | 8 | property bool isCurrentMonth; | ||
196 | 9 | property bool isToday; | ||
197 | 10 | property alias fontSize: dateLabel.font.pixelSize | ||
198 | 11 | property bool isSelected: false | ||
199 | 12 | |||
200 | 13 | Text { | ||
201 | 14 | id: dateLabel | ||
202 | 15 | anchors.centerIn: parent | ||
203 | 16 | text: date | ||
204 | 17 | color: { | ||
205 | 18 | if( isCurrentMonth ) { | ||
206 | 19 | if( isToday || isSelected ) { | ||
207 | 20 | "white" | ||
208 | 21 | } else { | ||
209 | 22 | "#5D5D5D" | ||
210 | 23 | } | ||
211 | 24 | } else { | ||
212 | 25 | if(isSelected) { | ||
213 | 26 | "white" | ||
214 | 27 | } else { | ||
215 | 28 | "#AEA79F" | ||
216 | 29 | } | ||
217 | 30 | } | ||
218 | 31 | } | ||
219 | 32 | } | ||
220 | 33 | } | ||
221 | 34 | 0 | ||
222 | === modified file 'MonthView.qml' | |||
223 | --- MonthView.qml 2016-07-06 20:17:44 +0000 | |||
224 | +++ MonthView.qml 2016-08-16 13:18:27 +0000 | |||
225 | @@ -31,7 +31,9 @@ | |||
226 | 31 | anchorDate.getMonth(), | 31 | anchorDate.getMonth(), |
227 | 32 | 1, | 32 | 1, |
228 | 33 | 0, 0, 0) | 33 | 0, 0, 0) |
230 | 34 | readonly property var currentDate: monthViewPath.currentItem.indexDate | 34 | readonly property var currentDate: monthViewPath.currentItem.item ? |
231 | 35 | monthViewPath.currentItem.item.indexDate | ||
232 | 36 | : null | ||
233 | 35 | 37 | ||
234 | 36 | property var selectedDay; | 38 | property var selectedDay; |
235 | 37 | property bool displayLunarCalendar: false | 39 | property bool displayLunarCalendar: false |
236 | @@ -90,41 +92,58 @@ | |||
237 | 90 | bottomMargin: monthViewPage.bottomEdgeHeight | 92 | bottomMargin: monthViewPage.bottomEdgeHeight |
238 | 91 | } | 93 | } |
239 | 92 | 94 | ||
275 | 93 | delegate: MonthWithEventsComponent { | 95 | property bool loadNonVisibleDelegate: false |
276 | 94 | id: monthDelegate | 96 | |
277 | 95 | 97 | Timer { | |
278 | 96 | property var indexDate: firstDayOfAnchorDate.addMonths(monthViewPath.loopCurrentIndex + monthViewPath.indexType(index)) | 98 | running: true |
279 | 97 | 99 | onTriggered: monthViewPath.loadNonVisibleDelegate = true | |
280 | 98 | currentMonth: indexDate.getMonth() | 100 | interval: 1 |
281 | 99 | currentYear: indexDate.getFullYear() | 101 | } |
282 | 100 | displayLunarCalendar: monthViewPage.displayLunarCalendar | 102 | |
283 | 101 | 103 | delegate: Loader { | |
284 | 102 | autoUpdate: monthViewPage.tabSelected && monthViewPage.active && PathView.isCurrentItem | 104 | id: delegateLoader |
285 | 103 | modelFilter: eventModel.filter | 105 | |
286 | 104 | width: parent.width - units.gu(4) | 106 | asynchronous: true |
287 | 105 | height: parent.height | 107 | width: PathView.view.width |
288 | 106 | isCurrentItem: PathView.isCurrentItem | 108 | height: PathView.view.height |
289 | 107 | isActive: !monthViewPath.moving && !monthViewPath.flicking | 109 | active: monthViewPath.loadNonVisibleDelegate || (index === monthViewPath.currentIndex) |
290 | 108 | displayWeekNumber: mainView.displayWeekNumber | 110 | |
291 | 109 | isYearView: false | 111 | sourceComponent: MonthWithEventsComponent { |
292 | 110 | 112 | id: monthDelegate | |
293 | 111 | onDateSelected: { | 113 | |
294 | 112 | monthViewPage.dateSelected(date); | 114 | property var indexDate: firstDayOfAnchorDate.addMonths(monthViewPath.loopCurrentIndex + monthViewPath.indexType(index)) |
295 | 113 | } | 115 | |
296 | 114 | 116 | currentMonth: indexDate.getMonth() | |
297 | 115 | // make sure that the model is updated after create a new event if it is marked as auto-update false | 117 | currentYear: indexDate.getFullYear() |
298 | 116 | Connections { | 118 | displayLunarCalendar: monthViewPage.displayLunarCalendar |
299 | 117 | target: monthViewPage | 119 | |
300 | 118 | onActiveChanged: { | 120 | autoUpdate: monthViewPage.tabSelected && monthViewPage.active && isCurrentItem |
301 | 119 | if (monthViewPage.active) { | 121 | modelFilter: eventModel.filter |
302 | 120 | monthDelegate.update() | 122 | width: parent.width - units.gu(4) |
303 | 121 | } | 123 | height: parent.height |
304 | 122 | } | 124 | isCurrentItem: (index === monthViewPath.currentIndex) |
305 | 123 | onEventSaved: { | 125 | isActive: !monthViewPath.moving && !monthViewPath.flicking |
306 | 124 | monthDelegate.update() | 126 | displayWeekNumber: mainView.displayWeekNumber |
307 | 125 | } | 127 | isYearView: false |
308 | 126 | onEventDeleted: { | 128 | |
309 | 127 | monthDelegate.update() | 129 | onDateSelected: { |
310 | 130 | monthViewPage.dateSelected(date); | ||
311 | 131 | } | ||
312 | 132 | |||
313 | 133 | // make sure that the model is updated after create a new event if it is marked as auto-update false | ||
314 | 134 | Connections { | ||
315 | 135 | target: monthViewPage | ||
316 | 136 | onActiveChanged: { | ||
317 | 137 | if (monthViewPage.active) { | ||
318 | 138 | monthDelegate.update() | ||
319 | 139 | } | ||
320 | 140 | } | ||
321 | 141 | onEventSaved: { | ||
322 | 142 | monthDelegate.update() | ||
323 | 143 | } | ||
324 | 144 | onEventDeleted: { | ||
325 | 145 | monthDelegate.update() | ||
326 | 146 | } | ||
327 | 128 | } | 147 | } |
328 | 129 | } | 148 | } |
329 | 130 | } | 149 | } |
330 | 131 | 150 | ||
331 | === modified file 'NewEvent.qml' | |||
332 | --- NewEvent.qml 2016-07-05 20:46:44 +0000 | |||
333 | +++ NewEvent.qml 2016-08-16 13:18:27 +0000 | |||
334 | @@ -19,10 +19,10 @@ | |||
335 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
336 | 20 | import QtOrganizer 5.0 | 20 | import QtOrganizer 5.0 |
337 | 21 | import Ubuntu.Components 1.3 | 21 | import Ubuntu.Components 1.3 |
342 | 22 | import Ubuntu.Components.Popups 1.0 | 22 | import Ubuntu.Components.Popups 1.3 |
343 | 23 | import Ubuntu.Components.ListItems 1.0 as ListItems | 23 | import Ubuntu.Components.ListItems 1.3 as ListItems |
344 | 24 | import Ubuntu.Components.Themes.Ambiance 1.0 | 24 | import Ubuntu.Components.Themes.Ambiance 1.3 |
345 | 25 | import Ubuntu.Components.Pickers 1.0 | 25 | import Ubuntu.Components.Pickers 1.3 |
346 | 26 | import QtOrganizer 5.0 | 26 | import QtOrganizer 5.0 |
347 | 27 | import "Defines.js" as Defines | 27 | import "Defines.js" as Defines |
348 | 28 | import "dateExt.js" as DateExt | 28 | import "dateExt.js" as DateExt |
349 | 29 | 29 | ||
350 | === modified file 'NewEventBottomEdge.qml' | |||
351 | --- NewEventBottomEdge.qml 2016-05-16 13:22:52 +0000 | |||
352 | +++ NewEventBottomEdge.qml 2016-08-16 13:18:27 +0000 | |||
353 | @@ -73,37 +73,51 @@ | |||
354 | 73 | 73 | ||
355 | 74 | onCollapseCompleted: { | 74 | onCollapseCompleted: { |
356 | 75 | if (bottomEdge._realPage) { | 75 | if (bottomEdge._realPage) { |
360 | 76 | bottomEdge._realPage.destroy() | 76 | createPage() |
358 | 77 | bottomEdge._realPage = null | ||
359 | 78 | _realPage = editorPageBottomEdge.createObject(null) | ||
361 | 79 | } | 77 | } |
362 | 80 | } | 78 | } |
363 | 81 | 79 | ||
364 | 82 | Component.onCompleted: { | 80 | Component.onCompleted: { |
365 | 83 | if (eventModel) | 81 | if (eventModel) |
367 | 84 | _realPage = editorPageBottomEdge.createObject(null) | 82 | createPage() |
368 | 85 | } | 83 | } |
369 | 86 | 84 | ||
370 | 87 | onEventModelChanged: { | 85 | onEventModelChanged: { |
371 | 88 | if (eventModel) | 86 | if (eventModel) |
388 | 89 | _realPage = editorPageBottomEdge.createObject(null) | 87 | createPage() |
389 | 90 | } | 88 | } |
390 | 91 | 89 | ||
391 | 92 | Component { | 90 | function createPage() { |
392 | 93 | id: editorPageBottomEdge | 91 | editorPageLoader.active = false; |
393 | 94 | NewEvent { | 92 | editorPageLoader.active = true; |
394 | 95 | id: newEventPage | 93 | } |
395 | 96 | 94 | ||
396 | 97 | implicitWidth: bottomEdge.width | 95 | Loader { |
397 | 98 | implicitHeight: bottomEdge.height | 96 | id: editorPageLoader |
398 | 99 | reminderValue: bottomEdge.reminderValue | 97 | active: false |
399 | 100 | model: bottomEdge.eventModel | 98 | asynchronous: true |
400 | 101 | date: bottomEdge.date | 99 | onStatusChanged: { |
401 | 102 | enabled: bottomEdge.status === BottomEdge.Committed | 100 | if (status == Loader.Null) { |
402 | 103 | active: bottomEdge.status === BottomEdge.Committed | 101 | bottomEdge._realPage = null; |
403 | 104 | visible: (bottomEdge.status !== BottomEdge.Hidden) | 102 | } else if (status == Loader.Ready) { |
404 | 103 | bottomEdge._realPage = item; | ||
405 | 104 | } | ||
406 | 105 | } | ||
407 | 106 | Component.onCompleted: setSource("NewEvent.qml", { | ||
408 | 107 | "implicitWidth": Qt.binding(function() { return bottomEdge.width } ), | ||
409 | 108 | "implicitHeight": Qt.binding(function() { return bottomEdge.height } ), | ||
410 | 109 | "reminderValue": Qt.binding(function() { return bottomEdge.reminderValue } ), | ||
411 | 110 | "model": Qt.binding(function() { return bottomEdge.eventModel } ), | ||
412 | 111 | "date": Qt.binding(function() { return bottomEdge.date } ), | ||
413 | 112 | "enabled": Qt.binding(function() { return bottomEdge.status === BottomEdge.Committed } ), | ||
414 | 113 | "active": Qt.binding(function() { return bottomEdge.status === BottomEdge.Committed } ), | ||
415 | 114 | "visible": Qt.binding(function() { return (bottomEdge.status !== BottomEdge.Hidden) } ), | ||
416 | 115 | "bottomEdgePageStack": Qt.binding(function() { return bottomEdge.pageStack } ), | ||
417 | 116 | }) | ||
418 | 117 | |||
419 | 118 | Connections { | ||
420 | 119 | target: editorPageLoader.item ? editorPageLoader.item : null | ||
421 | 105 | onCanceled: bottomEdge.collapse() | 120 | onCanceled: bottomEdge.collapse() |
422 | 106 | bottomEdgePageStack: bottomEdge.pageStack | ||
423 | 107 | onEventSaved: { | 121 | onEventSaved: { |
424 | 108 | bottomEdge.collapse() | 122 | bottomEdge.collapse() |
425 | 109 | bottomEdge.eventSaved(event) | 123 | bottomEdge.eventSaved(event) |
426 | @@ -113,11 +127,4 @@ | |||
427 | 113 | } | 127 | } |
428 | 114 | } | 128 | } |
429 | 115 | } | 129 | } |
430 | 116 | |||
431 | 117 | Component.onDestruction: { | ||
432 | 118 | if (bottomEdge._realPage) { | ||
433 | 119 | bottomEdge._realPage.destroy() | ||
434 | 120 | bottomEdge._realPage = null | ||
435 | 121 | } | ||
436 | 122 | } | ||
437 | 123 | } | 130 | } |
438 | 124 | 131 | ||
439 | === modified file 'NewEventTimePicker.qml' | |||
440 | --- NewEventTimePicker.qml 2016-03-22 20:09:08 +0000 | |||
441 | +++ NewEventTimePicker.qml 2016-08-16 13:18:27 +0000 | |||
442 | @@ -1,7 +1,7 @@ | |||
443 | 1 | import QtQuick 2.4 | 1 | import QtQuick 2.4 |
447 | 2 | import Ubuntu.Components.ListItems 1.0 as ListItem | 2 | import Ubuntu.Components.ListItems 1.3 as ListItem |
448 | 3 | import Ubuntu.Components.Themes.Ambiance 1.0 | 3 | import Ubuntu.Components.Themes.Ambiance 1.3 |
449 | 4 | import Ubuntu.Components.Pickers 1.0 | 4 | import Ubuntu.Components.Pickers 1.3 |
450 | 5 | 5 | ||
451 | 6 | Column { | 6 | Column { |
452 | 7 | id: dateTimeInput | 7 | id: dateTimeInput |
453 | 8 | 8 | ||
454 | === modified file 'OnlineAccountsDummy.qml' | |||
455 | --- OnlineAccountsDummy.qml 2015-03-28 11:31:47 +0000 | |||
456 | +++ OnlineAccountsDummy.qml 2016-08-16 13:18:27 +0000 | |||
457 | @@ -14,7 +14,7 @@ | |||
458 | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. |
459 | 15 | */ | 15 | */ |
460 | 16 | 16 | ||
462 | 17 | import QtQuick 2.2 | 17 | import QtQuick 2.4 |
463 | 18 | 18 | ||
464 | 19 | Item { | 19 | Item { |
465 | 20 | id: root | 20 | id: root |
466 | 21 | 21 | ||
467 | === modified file 'Scroller.qml' | |||
468 | --- Scroller.qml 2016-01-29 14:47:31 +0000 | |||
469 | +++ Scroller.qml 2016-08-16 13:18:27 +0000 | |||
470 | @@ -18,7 +18,7 @@ | |||
471 | 18 | 18 | ||
472 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
473 | 20 | import Ubuntu.Components 1.3 | 20 | import Ubuntu.Components 1.3 |
475 | 21 | import Ubuntu.Components.ListItems 1.0 as ListItems | 21 | import Ubuntu.Components.ListItems 1.3 as ListItems |
476 | 22 | 22 | ||
477 | 23 | Item { | 23 | Item { |
478 | 24 | id: root | 24 | id: root |
479 | 25 | 25 | ||
480 | === modified file 'TimeLineBaseComponent.qml' | |||
481 | --- TimeLineBaseComponent.qml 2016-07-05 19:40:11 +0000 | |||
482 | +++ TimeLineBaseComponent.qml 2016-08-16 13:18:27 +0000 | |||
483 | @@ -18,7 +18,7 @@ | |||
484 | 18 | 18 | ||
485 | 19 | import QtQuick 2.4 | 19 | import QtQuick 2.4 |
486 | 20 | import Ubuntu.Components 1.3 | 20 | import Ubuntu.Components 1.3 |
488 | 21 | import Ubuntu.Components.Popups 1.0 | 21 | import Ubuntu.Components.Popups 1.3 |
489 | 22 | import QtOrganizer 5.0 | 22 | import QtOrganizer 5.0 |
490 | 23 | 23 | ||
491 | 24 | import "dateExt.js" as DateExt | 24 | import "dateExt.js" as DateExt |
492 | 25 | 25 | ||
493 | === modified file 'YearView.qml' | |||
494 | --- YearView.qml 2016-03-14 16:22:46 +0000 | |||
495 | +++ YearView.qml 2016-08-16 13:18:27 +0000 | |||
496 | @@ -110,12 +110,21 @@ | |||
497 | 110 | bottomMargin: yearViewPage.bottomEdgeHeight | 110 | bottomMargin: yearViewPage.bottomEdgeHeight |
498 | 111 | } | 111 | } |
499 | 112 | 112 | ||
500 | 113 | property bool loadNonVisibleDelegate: false | ||
501 | 114 | |||
502 | 115 | Timer { | ||
503 | 116 | running: true | ||
504 | 117 | onTriggered: yearPathView.loadNonVisibleDelegate = true | ||
505 | 118 | interval: 1 | ||
506 | 119 | } | ||
507 | 120 | |||
508 | 113 | delegate: Loader { | 121 | delegate: Loader { |
509 | 114 | id: delegateLoader | 122 | id: delegateLoader |
510 | 115 | 123 | ||
511 | 116 | asynchronous: true | 124 | asynchronous: true |
512 | 117 | width: PathView.view.width | 125 | width: PathView.view.width |
513 | 118 | height: PathView.view.height | 126 | height: PathView.view.height |
514 | 127 | active: yearPathView.loadNonVisibleDelegate || (index === yearPathView.currentIndex) | ||
515 | 119 | 128 | ||
516 | 120 | sourceComponent: YearViewDelegate { | 129 | sourceComponent: YearViewDelegate { |
517 | 121 | visible: delegateLoader.status === Loader.Ready | 130 | visible: delegateLoader.status === Loader.Ready |
518 | 122 | 131 | ||
519 | === modified file 'calendar.qml' | |||
520 | --- calendar.qml 2016-07-06 21:29:27 +0000 | |||
521 | +++ calendar.qml 2016-08-16 13:18:27 +0000 | |||
522 | @@ -17,7 +17,7 @@ | |||
523 | 17 | */ | 17 | */ |
524 | 18 | import QtQuick 2.4 | 18 | import QtQuick 2.4 |
525 | 19 | import Ubuntu.Components 1.3 | 19 | import Ubuntu.Components 1.3 |
527 | 20 | import Ubuntu.Components.Popups 1.0 | 20 | import Ubuntu.Components.Popups 1.3 |
528 | 21 | import QtOrganizer 5.0 | 21 | import QtOrganizer 5.0 |
529 | 22 | import Qt.labs.settings 1.0 | 22 | import Qt.labs.settings 1.0 |
530 | 23 | 23 |
PASSED: Continuous integration, rev:869 /jenkins. canonical. com/system- apps/job/ lp-ubuntu- calendar- app-ci/ 27/ /jenkins. canonical. com/system- apps/job/ build/1145 /jenkins. canonical. com/system- apps/job/ test-0- autopkgtest/ label=phone- armhf,release= vivid+overlay, testname= default/ 234 /jenkins. canonical. com/system- apps/job/ build-0- fetch/1145 /jenkins. canonical. com/system- apps/job/ build-1- sourcepkg/ release= vivid+overlay/ 1033 /jenkins. canonical. com/system- apps/job/ build-1- sourcepkg/ release= xenial+ overlay/ 1033 /jenkins. canonical. com/system- apps/job/ build-1- sourcepkg/ release= yakkety/ 1033 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= vivid+overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= xenial+ overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=amd64, release= yakkety/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= vivid+overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= xenial+ overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=armhf, release= yakkety/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= vivid+overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= xenial+ overlay/ 1022/artifact/ output/ *zip*/output. zip /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= yakkety/ 1022 /jenkins. canonical. com/system- apps/job/ build-2- binpkg/ arch=i386, release= yakkety/ 1022/artifact/ output/ *zip*/output. zip
https:/
Executed test runs:
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
SUCCESS: https:/
deb: https:/
Click here to trigger a rebuild: /jenkins. canonical. com/system- apps/job/ lp-ubuntu- calendar- app-ci/ 27/rebuild
https:/