calendar: Add public close() method

Currently a message can only be closed by its close button. However
as we want to make a section's clear action synonymous with clicking
the close button of each individual message in the list, we will need
to expose the close action, so add a corresponding method.

https://bugzilla.gnome.org/show_bug.cgi?id=746027
This commit is contained in:
Florian Müllner 2015-03-11 22:11:25 +01:00
parent e72450f5d8
commit b61cb92053

View File

@ -1017,16 +1017,17 @@ const Message = new Lang.Class({
this._bodyStack.add_actor(this.bodyLabel.actor); this._bodyStack.add_actor(this.bodyLabel.actor);
this.setBody(body); this.setBody(body);
this._closeButton.connect('clicked', Lang.bind(this, this._closeButton.connect('clicked', Lang.bind(this, this.close));
function() {
this.emit('close');
}));
this.actor.connect('notify::hover', Lang.bind(this, this._sync)); this.actor.connect('notify::hover', Lang.bind(this, this._sync));
this.actor.connect('clicked', Lang.bind(this, this._onClicked)); this.actor.connect('clicked', Lang.bind(this, this._onClicked));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._sync(); this._sync();
}, },
close: function() {
this.emit('close');
},
setIcon: function(actor) { setIcon: function(actor) {
this._iconBin.child = actor; this._iconBin.child = actor;
this._iconBin.visible = (actor != null); this._iconBin.visible = (actor != null);
@ -1158,7 +1159,7 @@ const Message = new Lang.Class({
if (keysym == Clutter.KEY_Delete || if (keysym == Clutter.KEY_Delete ||
keysym == Clutter.KEY_KP_Delete) { keysym == Clutter.KEY_KP_Delete) {
this.emit('close'); this.close();
return Clutter.EVENT_STOP; return Clutter.EVENT_STOP;
} }
return Clutter.EVENT_PROPAGATE; return Clutter.EVENT_PROPAGATE;