talons

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

commit 8e657679733be1aae2b85ecdf4badce23cfbd2e7
parent 7975defae6a05b78d287553acd5d221d6663286b
Author: Andrej Kacian <andrej@kacian.sk>
Date:   Wed, 18 Jun 2014 21:10:51 +0200

Added comments explaining the use of gtk_container_set_focus_chain(), for future generations.

Diffstat:
Msrc/compose.c | 10+++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/compose.c b/src/compose.c @@ -6862,7 +6862,11 @@ static void compose_create_header_entry(Compose *compose) g_signal_connect(G_OBJECT(gtk_bin_get_child(GTK_BIN(combo))), "grab_focus", G_CALLBACK(compose_grab_focus_cb), compose); gtk_widget_show(combo); - + + /* Putting only the combobox child into focus chain of its parent causes + * the parent to be skipped when changing focus via Tab or Shift+Tab. + * This eliminates need to pres Tab twice in order to really get from the + * combobox to next widget. */ GList *l = NULL; l = g_list_prepend(l, gtk_bin_get_child(GTK_BIN(combo))); gtk_container_set_focus_chain(GTK_CONTAINER(combo), l); @@ -8102,6 +8106,10 @@ static GtkWidget *compose_account_option_menu_create(Compose *compose) gtk_box_pack_start(GTK_BOX(hbox), optmenubox, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(hbox), from_name, TRUE, TRUE, 0); + /* Putting only the GtkEntry into focus chain of parent hbox causes + * the account selector combobox next to it to be unreachable when + * navigating widgets in GtkTable with up/down arrow keys. + * Note: gtk_widget_set_can_focus() was not enough. */ GList *l = NULL; l = g_list_prepend(l, from_name); gtk_container_set_focus_chain(GTK_CONTAINER(hbox), l);