[gnome-shell/gnome-3-36] calendar: Update events on changes
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gnome-3-36] calendar: Update events on changes
- Date: Sat, 27 Jun 2020 23:49:08 +0000 (UTC)
commit 235ffa29dcd5f014ede8dfb5a6359e4c0d8c93fc
Author: Florian Müllner <fmuellner gnome org>
Date: Thu Apr 9 12:50:39 2020 +0200
calendar: Update events on changes
We track messages so that we can account for just added and removed
events instead of having to rebuild the entire list, however it's
also possible that the time or summary of an existing event changed.
Account for that by updating existing messages in-place.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1192
js/ui/calendar.js | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/js/ui/calendar.js b/js/ui/calendar.js
index 9f22b092bb..8346056c32 100644
--- a/js/ui/calendar.js
+++ b/js/ui/calendar.js
@@ -700,12 +700,11 @@ var Calendar = GObject.registerClass({
var EventMessage = GObject.registerClass(
class EventMessage extends MessageList.Message {
_init(event, date) {
- super._init('', event.summary);
+ super._init('', '');
- this._event = event;
this._date = date;
- this.setTitle(this._formatEventTime());
+ this.update(event);
this._icon = new St.Icon({ icon_name: 'x-office-calendar-symbolic' });
this.setIcon(this._icon);
@@ -717,6 +716,13 @@ class EventMessage extends MessageList.Message {
super.vfunc_style_changed();
}
+ update(event) {
+ this._event = event;
+
+ this.setTitle(this._formatEventTime());
+ this.setBody(event.summary);
+ }
+
_formatEventTime() {
let periodBegin = _getBeginningOfDay(this._date);
let periodEnd = _getEndOfDay(this._date);
@@ -900,6 +906,7 @@ class EventsSection extends MessageList.MessageListSection {
this._messageById.set(event.id, message);
this.addMessage(message, false);
} else {
+ message.update(event);
this.moveMessage(message, i, false);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]