diff options
author | Milan Crha <mcrha@redhat.com> | 2009-06-25 19:19:19 +0800 |
---|---|---|
committer | Milan Crha <mcrha@redhat.com> | 2009-06-25 19:19:19 +0800 |
commit | 7c8e8174bc891b9208b7d500e768dc2ca8ed7b33 (patch) | |
tree | 7d8ff68575b52509afbdf7e76b3cbde87b67008d /mail/mail-component.c | |
parent | 7984b925c84692df2ea9d30480431c8a84c0b657 (diff) | |
download | gsoc2013-evolution-7c8e8174bc891b9208b7d500e768dc2ca8ed7b33.tar.gz gsoc2013-evolution-7c8e8174bc891b9208b7d500e768dc2ca8ed7b33.tar.zst gsoc2013-evolution-7c8e8174bc891b9208b7d500e768dc2ca8ed7b33.zip |
Bug #268644 - unread mail shortcut collides with gtk tree search
Diffstat (limited to 'mail/mail-component.c')
-rw-r--r-- | mail/mail-component.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/mail/mail-component.c b/mail/mail-component.c index 4b788b3178..c54a76abef 100644 --- a/mail/mail-component.c +++ b/mail/mail-component.c @@ -414,6 +414,25 @@ folder_selected_cb (EMFolderTree *emft, const gchar *path, const gchar *uri, gui } } +static void +tree_hidden_key_event_cb (EMFolderTree *emft, GdkEvent *event, EMFolderView *view) +{ + if (event && event->type == GDK_KEY_PRESS && view && view->list) { + switch (event->key.keyval) { + case '[': + case ',': + gtk_widget_grab_focus ((GtkWidget *) view->list); + message_list_select (view->list, MESSAGE_LIST_SELECT_PREVIOUS|MESSAGE_LIST_SELECT_WRAP, 0, CAMEL_MESSAGE_SEEN); + break; + case ']': + case '.': + gtk_widget_grab_focus ((GtkWidget *) view->list); + message_list_select (view->list, MESSAGE_LIST_SELECT_NEXT|MESSAGE_LIST_SELECT_WRAP, 0, CAMEL_MESSAGE_SEEN); + break; + } + } +} + static gint check_autosave(gpointer data) { @@ -786,6 +805,7 @@ impl_createView (PortableServer_Servant servant, g_signal_connect (component_view->view_control, "activate", G_CALLBACK (view_control_activate_cb), view_widget); g_signal_connect (tree_widget, "folder-selected", G_CALLBACK (folder_selected_cb), view_widget); + g_signal_connect (tree_widget, "hidden-key-event", G_CALLBACK (tree_hidden_key_event_cb), view_widget); g_signal_connect((EMFolderBrowser *)view_widget, "account_search_cleared", G_CALLBACK (enable_folder_tree), tree_widget); g_signal_connect(((EMFolderBrowser *)view_widget), "account_search_activated", G_CALLBACK (disable_folder_tree), tree_widget); |