calendar: Don't allow event messages to be closed

The built-in calendar isn't meant to replace a full-fledged calendar
app, which is why clearing event messages only hides the event in
gnome-shell rather than deleting the actual event. This has turned out
to not be overly useful and often confusing - it creates a discrepancy
with visible events in apps, isn't revertible in a non-obscure fashion
and non-obviously limited to the current date.

As we are considering moving events out of the message list and back to
the calendar, it looks like a good time to remove that ability and keep
notifications as the only removable messages.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/262
This commit is contained in:
Florian Müllner 2018-12-17 18:36:03 +01:00 committed by Florian Müllner
parent a6763e7731
commit 3e3da8e2f8
2 changed files with 5 additions and 12 deletions

View File

@ -754,10 +754,6 @@ var EventMessage = new Lang.Class({
title = title + ELLIPSIS_CHAR; title = title + ELLIPSIS_CHAR;
} }
return title; return title;
},
canClose() {
return isToday(this._date);
} }
}); });
@ -820,6 +816,10 @@ var NotificationMessage = new Lang.Class({
if (this._destroyId) if (this._destroyId)
this.notification.disconnect(this._destroyId); this.notification.disconnect(this._destroyId);
this._destroyId = 0; this._destroyId = 0;
},
canClose() {
return true;
} }
}); });
@ -850,10 +850,6 @@ var EventsSection = new Lang.Class({
this._appInstalledChanged(); this._appInstalledChanged();
}, },
_ignoreEvent(event) {
this._eventSource.ignoreEvent(event);
},
setEventSource(eventSource) { setEventSource(eventSource) {
this._eventSource = eventSource; this._eventSource = eventSource;
this._eventSource.connect('changed', this._reloadEvents.bind(this)); this._eventSource.connect('changed', this._reloadEvents.bind(this));
@ -906,9 +902,6 @@ var EventsSection = new Lang.Class({
let message = this._messageById.get(event.id); let message = this._messageById.get(event.id);
if (!message) { if (!message) {
message = new EventMessage(event, this._date); message = new EventMessage(event, this._date);
message.connect('close', () => {
this._ignoreEvent(event);
});
this._messageById.set(event.id, message); this._messageById.set(event.id, message);
this.addMessage(message, false); this.addMessage(message, false);
} else { } else {

View File

@ -498,7 +498,7 @@ var Message = new Lang.Class({
}, },
canClose() { canClose() {
return this._mediaControls.get_n_children() == 0; return false;
}, },
_sync() { _sync() {