aboutsummaryrefslogtreecommitdiffstats
path: root/mail/e-mail-shell-view-private.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2009-04-24 04:48:05 +0800
committerMatthew Barnes <mbarnes@redhat.com>2009-04-24 04:48:05 +0800
commit9b73ae5c7d2c016a3b1f07b1040355063b32814b (patch)
treea48d54626fcfcf00e9f96be00dce495c83514637 /mail/e-mail-shell-view-private.c
parentca691310d85f7a266d070cb004d3534215ac47d0 (diff)
downloadgsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar.gz
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar.bz2
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar.lz
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar.xz
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.tar.zst
gsoc2013-evolution-9b73ae5c7d2c016a3b1f07b1040355063b32814b.zip
Miscellaneous bug fixes.
Diffstat (limited to 'mail/e-mail-shell-view-private.c')
-rw-r--r--mail/e-mail-shell-view-private.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/mail/e-mail-shell-view-private.c b/mail/e-mail-shell-view-private.c
index 8aecb20656..5974cc7386 100644
--- a/mail/e-mail-shell-view-private.c
+++ b/mail/e-mail-shell-view-private.c
@@ -64,6 +64,49 @@ mail_shell_view_folder_tree_popup_event_cb (EShellView *shell_view,
}
static gboolean
+mail_shell_view_key_press_event_cb (EMailShellView *mail_shell_view,
+ GdkEventKey *event)
+{
+ EShellView *shell_view;
+ EShellWindow *shell_window;
+ GtkAction *action;
+
+ shell_view = E_SHELL_VIEW (mail_shell_view);
+ shell_window = e_shell_view_get_shell_window (shell_view);
+
+ if ((event->state & GDK_CONTROL_MASK) != 0)
+ return FALSE;
+
+ switch (event->keyval) {
+ case GDK_space:
+ action = ACTION (MAIL_SMART_FORWARD);
+ break;
+
+ case GDK_BackSpace:
+ action = ACTION (MAIL_SMART_BACKWARD);
+ break;
+
+ default:
+ return FALSE;
+ }
+
+ gtk_action_activate (action);
+
+ return TRUE;
+}
+
+static gint
+mail_shell_view_message_list_key_press_cb (EMailShellView *mail_shell_view,
+ gint row,
+ ETreePath path,
+ gint col,
+ GdkEvent *event)
+{
+ return mail_shell_view_key_press_event_cb (
+ mail_shell_view, &event->key);
+}
+
+static gboolean
mail_shell_view_message_list_right_click_cb (EShellView *shell_view,
gint row,
ETreePath path,
@@ -231,6 +274,11 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
mail_shell_view);
g_signal_connect_swapped (
+ message_list->tree, "key-press",
+ G_CALLBACK (mail_shell_view_message_list_key_press_cb),
+ mail_shell_view);
+
+ g_signal_connect_swapped (
message_list->tree, "right-click",
G_CALLBACK (mail_shell_view_message_list_right_click_cb),
mail_shell_view);
@@ -262,6 +310,11 @@ e_mail_shell_view_private_constructed (EMailShellView *mail_shell_view)
mail_shell_view);
g_signal_connect_swapped (
+ html, "key-press-event",
+ G_CALLBACK (mail_shell_view_key_press_event_cb),
+ mail_shell_view);
+
+ g_signal_connect_swapped (
html, "status-message",
G_CALLBACK (mail_shell_view_reader_status_message_cb),
mail_shell_view);