Renato Araujo Oliveira Filho has proposed merging lp:~renatofilho/ubuntu-calendar-app/fix-model-update-after-save into lp:ubuntu-calendar-app.
Requested reviews: Ubuntu Calendar Developers (ubuntu-calendar-dev) For more details, see: https://code.launchpad.net/~renatofilho/ubuntu-calendar-app/fix-model-update-after-save/+merge/297101 -- Your team Ubuntu Calendar Developers is requested to review the proposed merge of lp:~renatofilho/ubuntu-calendar-app/fix-model-update-after-save into lp:ubuntu-calendar-app.
=== modified file 'AgendaView.qml' --- AgendaView.qml 2016-03-21 14:40:17 +0000 +++ AgendaView.qml 2016-06-10 18:58:14 +0000 @@ -55,6 +55,10 @@ flickable: eventList } + // make sure that the model is updated after create a new event if it is marked as auto-update false + onEventSaved: eventListModel.updateIfNecessary() + onEventDeleted: eventListModel.updateIfNecessary() + // ListModel to hold all events for upcoming 7days. EventListModel { === modified file 'DayView.qml' --- DayView.qml 2016-03-17 01:51:25 +0000 +++ DayView.qml 2016-06-10 18:58:14 +0000 @@ -48,7 +48,7 @@ dayViewPath.scrollToBegginer() } - onEventCreated: { + onEventSaved: { var scrollDate = new Date(event.startDateTime) var needScroll = false if ((currentDate.getFullYear() !== scrollDate.getFullYear()) || @@ -182,6 +182,12 @@ timeLineView.scrollToTime(new Date()); } } + onEventSaved: { + timeLineView.update() + } + onEventDeleted: { + timeLineView.update() + } } //get contentY value from PathView, if its not current Item === modified file 'EventDetails.qml' --- EventDetails.qml 2016-04-15 17:54:16 +0000 +++ EventDetails.qml 2016-06-10 18:58:14 +0000 @@ -242,7 +242,7 @@ } pageStack.push(Qt.resolvedUrl("NewEvent.qml"),{"event": event, "model":model}); - pageStack.currentPage.eventAdded.connect( function(event){ + pageStack.currentPage.eventSaved.connect( function(event){ pageStack.pop(); }) //When event deleted from the Edit mode === modified file 'EventListModel.qml' --- EventListModel.qml 2016-05-02 14:28:38 +0000 +++ EventListModel.qml 2016-06-10 18:58:14 +0000 @@ -169,6 +169,13 @@ return result } + function updateIfNecessary() + { + console.debug("UpdateIfNecessary:" + eventModel) + if (!autoUpdate) + update() + } + onStartPeriodChanged: { isLoading = true } === modified file 'MonthView.qml' --- MonthView.qml 2016-04-28 13:44:33 +0000 +++ MonthView.qml 2016-06-10 18:58:14 +0000 @@ -91,6 +91,8 @@ } delegate: MonthWithEventsComponent { + id: monthDelegate + property var indexDate: firstDayOfAnchorDate.addMonths(monthViewPath.loopCurrentIndex + monthViewPath.indexType(index)) currentMonth: indexDate.getMonth() @@ -109,6 +111,17 @@ onDateSelected: { monthViewPage.dateSelected(date); } + + // make sure that the model is updated after create a new event if it is marked as auto-update false + Connections { + target: monthViewPage + onEventSaved: { + monthDelegate.update() + } + onEventDeleted: { + monthDelegate.update() + } + } } } } === modified file 'MonthWithEventsComponent.qml' --- MonthWithEventsComponent.qml 2016-04-28 17:23:21 +0000 +++ MonthWithEventsComponent.qml 2016-06-10 18:58:14 +0000 @@ -29,9 +29,17 @@ property alias autoUpdate: mainModel.autoUpdate property var modelFilter: invalidFilter + function refresh() { + idleRefresh.reset() + } + + function update() { + mainModel.updateIfNecessary() + } + onIsActiveChanged: { if (isActive && (mainModel.filter === invalidFilter)) { - idleRefresh.reset() + refresh(); } } @@ -48,9 +56,7 @@ repeat: false onTriggered: { mainModel.filter = Qt.binding(function() { return root.modelFilter } ) - if (!mainModel.autoUpdate) { - mainModel.update() - } + mainModel.updateIfNecessary() } } === modified file 'NewEvent.qml' --- NewEvent.qml 2016-04-06 18:46:29 +0000 +++ NewEvent.qml 2016-06-10 18:58:14 +0000 @@ -52,7 +52,7 @@ readonly property int millisecsInADay: 86400000 readonly property int millisecsInAnHour: 3600000 - signal eventAdded(var event); + signal eventSaved(var event); signal eventDeleted(var event); signal canceled() @@ -256,7 +256,9 @@ } model.saveItem(event) - root.eventAdded(event); + root.eventSaved(event); + model.updateIfNecessary() + if (pageStack) pageStack.pop(); } @@ -343,6 +345,7 @@ var dialog = PopupUtils.open(Qt.resolvedUrl("DeleteConfirmationDialog.qml"),root,{"event": event}); dialog.deleteEvent.connect( function(eventId){ model.removeItem(eventId); + model.updateIfNecessary() if (pageStack) pageStack.pop(); root.eventDeleted(eventId); === modified file 'NewEventBottomEdge.qml' --- NewEventBottomEdge.qml 2016-04-13 21:23:25 +0000 +++ NewEventBottomEdge.qml 2016-06-10 18:58:14 +0000 @@ -35,7 +35,8 @@ property var _realPage: null signal opened() - signal eventCreated(var event) + signal eventSaved(var event) + signal eventDeleted() function updateNewEventInfo(date, allDay) { @@ -103,9 +104,12 @@ visible: (bottomEdge.status !== BottomEdge.Hidden) onCanceled: bottomEdge.collapse() bottomEdgePageStack: bottomEdge.pageStack - onEventAdded: { + onEventSaved: { bottomEdge.collapse() - bottomEdge.eventCreated(event) + bottomEdge.eventSaved(event) + } + onEventDeleted: { + bottomEdge.evetDeleted() } } } === modified file 'PageWithBottomEdge.qml' --- PageWithBottomEdge.qml 2016-03-18 00:33:43 +0000 +++ PageWithBottomEdge.qml 2016-06-10 18:58:14 +0000 @@ -28,7 +28,8 @@ readonly property int bottomEdgeHeight: bottomEdge.hint.height signal bottomEdgeCommitStarted() - signal eventCreated(var event) + signal eventSaved(var event) + signal eventDeleted() function bottomEdgeCommit(date, allDay) { @@ -41,6 +42,7 @@ pageStack: root.pageStack onOpened: root.bottomEdgeCommitStarted() - onEventCreated: root.eventCreated(event) + onEventSaved: root.eventSaved(event) + onEventDeleted: root.eventDeleted() } } === modified file 'TimeLineBaseComponent.qml' --- TimeLineBaseComponent.qml 2016-05-02 14:28:38 +0000 +++ TimeLineBaseComponent.qml 2016-06-10 18:58:14 +0000 @@ -132,6 +132,11 @@ timeLineView.returnToBounds() } + function update() + { + mainModel.updateIfNecessary() + } + Connections{ target: keyboardEventProvider onScrollUp:{ @@ -335,6 +340,7 @@ var event = dropArea.modifyEventForDrag(drop); delegate.waitForModelChange() delegate.model.saveItem(event); + delegate.model.updateIfNecessary() } onPositionChanged: { === modified file 'WeekView.qml' --- WeekView.qml 2016-04-29 19:23:50 +0000 +++ WeekView.qml 2016-06-10 18:58:14 +0000 @@ -64,7 +64,7 @@ weekViewPath.scrollToBegginer() } - onEventCreated: { + onEventSaved: { var scrollDate = new Date(event.startDateTime) var currentWeekNumber = currentDate.weekNumber(Qt.locale().firstDayOfWeek) var eventWeekNumber = scrollDate.weekNumber(Qt.locale().firstDayOfWeek) @@ -237,6 +237,17 @@ } } + // make sure that the model is updated after create a new event if it is marked as auto-update false + Connections { + target: weekViewPage + onEventSaved: { + timeLineView.update() + } + onEventDeleted: { + timeLineView.update() + } + } + //get contentY value from PathView, if its not current Item Binding{ target: timeLineView
-- Mailing list: https://launchpad.net/~ubuntu-touch-coreapps-reviewers Post to : ubuntu-touch-coreapps-reviewers@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-touch-coreapps-reviewers More help : https://help.launchpad.net/ListHelp