talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 97e8253eb3ce9e16e0214a791526e623d442d20b
parent 8bc08f388d4f8cd6a8f76a7d0383c16f0cea572f
Author: Andrej Kacian <ticho@claws-mail.org>
Date:   Tue,  1 Sep 2015 03:00:39 +0200

Make Home and End keys work in folderview pane.

Diffstat:
Msrc/folderview.c | 16++++++++++++++++
1 file changed, 16 insertions(+), 0 deletions(-)

diff --git a/src/folderview.c b/src/folderview.c @@ -1995,6 +1995,8 @@ static gboolean folderview_button_released(GtkWidget *ctree, GdkEventButton *eve static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, FolderView *folderview) { + GtkCMCTreeNode *node; + if (!event) return FALSE; if (quicksearch_has_focus(folderview->summaryview->quicksearch)) @@ -2032,6 +2034,20 @@ static gboolean folderview_key_pressed(GtkWidget *widget, GdkEventKey *event, folderview->selected); } break; + case GDK_KEY_Home: + case GDK_KEY_End: + if (event->keyval == GDK_KEY_Home) + node = gtk_cmctree_node_nth(GTK_CMCTREE(folderview->ctree), 0); + else + node = gtk_cmctree_last(GTK_CMCTREE(folderview->ctree), + gtk_cmctree_node_nth(GTK_CMCTREE(folderview->ctree), 0)); + + gtk_cmctree_select(GTK_CMCTREE(folderview->ctree), node); + + if (!gtk_cmctree_node_is_visible(GTK_CMCTREE(folderview->ctree), node)) + gtk_cmctree_node_moveto(GTK_CMCTREE(folderview->ctree), + node, -1, 0, 0); + break; default: break; }