calendar: Allow to dismiss messages with delete

Messages can be dismissed using a pointer device by clicking the
close button, there's no reason to not make the same action
available via keyboard as well. Delete looks like an obvious
choice ...

https://bugzilla.gnome.org/show_bug.cgi?id=745279
This commit is contained in:
Florian Müllner 2015-02-27 15:10:11 +01:00
parent 58da16c786
commit 0023059fa3

View File

@ -981,6 +981,8 @@ const Message = new Lang.Class({
accessible_role: Atk.Role.NOTIFICATION, accessible_role: Atk.Role.NOTIFICATION,
can_focus: true, can_focus: true,
x_expand: true, x_fill: true }); x_expand: true, x_fill: true });
this.actor.connect('key-press-event',
Lang.bind(this, this._onKeyPressed));
let vbox = new St.BoxLayout({ vertical: true }); let vbox = new St.BoxLayout({ vertical: true });
this.actor.set_child(vbox); this.actor.set_child(vbox);
@ -1160,6 +1162,17 @@ const Message = new Lang.Class({
}, },
_onDestroy: function() { _onDestroy: function() {
},
_onKeyPressed: function(a, event) {
let keysym = event.get_key_symbol();
if (keysym == Clutter.KEY_Delete ||
keysym == Clutter.KEY_KP_Delete) {
this.emit('close');
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
} }
}); });
Signals.addSignalMethods(Message.prototype); Signals.addSignalMethods(Message.prototype);