diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2010-06-06 01:52:25 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2010-06-06 01:52:25 +0800 |
commit | a15a2953237e02bd69005ea5c39e0d3d45e95cb9 (patch) | |
tree | d9eb219d002ee8efc64e3a20afc90cf7ec7d44bb | |
parent | b3cdfb6bad5cad0932b02fa049da0fcab66a9603 (diff) | |
download | gsoc2013-evolution-a15a2953237e02bd69005ea5c39e0d3d45e95cb9.tar.gz gsoc2013-evolution-a15a2953237e02bd69005ea5c39e0d3d45e95cb9.tar.zst gsoc2013-evolution-a15a2953237e02bd69005ea5c39e0d3d45e95cb9.zip |
Bug 620602 - Next/prev shortcuts should focus message list
-rw-r--r-- | mail/message-list.c | 6 | ||||
-rw-r--r-- | modules/mail/e-mail-shell-view-private.c | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/mail/message-list.c b/mail/message-list.c index ee80748e6f..2de21bf558 100644 --- a/mail/message-list.c +++ b/mail/message-list.c @@ -631,6 +631,12 @@ message_list_select(MessageList *ml, MessageListSelectDirection direction, guint path = ml_search_path(ml, direction, flags, mask); if (path) { select_path(ml, path); + + /* This function is usually called in response to a key + * press, so grab focus if the message list is visible. */ + if (gtk_widget_get_visible (GTK_WIDGET (ml))) + gtk_widget_grab_focus (GTK_WIDGET (ml)); + return TRUE; } else return FALSE; diff --git a/modules/mail/e-mail-shell-view-private.c b/modules/mail/e-mail-shell-view-private.c index b3e856fdee..4cef43263d 100644 --- a/modules/mail/e-mail-shell-view-private.c +++ b/modules/mail/e-mail-shell-view-private.c @@ -294,19 +294,16 @@ mail_shell_view_scroll_cb (EMailShellView *mail_shell_view, reader = E_MAIL_READER (mail_shell_view->priv->mail_shell_content); message_list = e_mail_reader_get_message_list (reader); - if (scroll_type == GTK_SCROLL_PAGE_FORWARD) { - gtk_widget_grab_focus (message_list); + if (scroll_type == GTK_SCROLL_PAGE_FORWARD) message_list_select ( MESSAGE_LIST (message_list), MESSAGE_LIST_SELECT_NEXT, 0, CAMEL_MESSAGE_SEEN); - } else { - gtk_widget_grab_focus (message_list); + else message_list_select ( MESSAGE_LIST (message_list), MESSAGE_LIST_SELECT_PREVIOUS, 0, CAMEL_MESSAGE_SEEN); - } } static void |