From 0c4d6ed8e9c3d1201c274d7c8b5879b351265b90 Mon Sep 17 00:00:00 2001 From: Eric Gregory Date: Tue, 8 Nov 2011 17:06:37 -0800 Subject: [PATCH] Keyboard shortcut (ctrl-enter) for sending message in composer. Closes #4289 --- src/client/ui/composer-window.vala | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/client/ui/composer-window.vala b/src/client/ui/composer-window.vala index e3e6828e..0ee3abd0 100644 --- a/src/client/ui/composer-window.vala +++ b/src/client/ui/composer-window.vala @@ -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); + } }