Keyboard shortcut (ctrl-enter) for sending message in composer. Closes #4289

This commit is contained in:
Eric Gregory 2011-11-08 17:06:37 -08:00
parent fe0be1bfde
commit 0c4d6ed8e9

View file

@ -44,6 +44,7 @@ public class ComposerWindow : Gtk.Window {
public signal void send(ComposerWindow composer);
public ComposerWindow() {
add_events(Gdk.EventMask.KEY_PRESS_MASK | Gdk.EventMask.KEY_RELEASE_MASK);
Gtk.Builder builder = GearyApplication.instance.create_builder("composer.glade");
Gtk.Box box = builder.get_object("composer") as Gtk.Box;
@ -86,5 +87,14 @@ public class ComposerWindow : Gtk.Window {
!Geary.String.is_empty(cc_entry.get_text().strip()) ||
!Geary.String.is_empty(bcc_entry.get_text().strip());
}
public override bool key_press_event(Gdk.EventKey event) {
if (Gdk.keyval_name(event.keyval) == "Return" &&
(event.state & Gdk.ModifierType.CONTROL_MASK) != 0 && send_button.sensitive) {
on_send();
}
return base.key_press_event(event);
}
}