From 71cf28204c68b6a5c603e380b5b1df5535611313 Mon Sep 17 00:00:00 2001 From: Erwan Croze Date: Mon, 27 Jun 2016 16:45:06 +0200 Subject: [PATCH] Set focus on textfield when loading a chatroom --- gtk/main.c | 15 +++++++++++++++ gtk/main.ui | 3 ++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gtk/main.c b/gtk/main.c index 3fe532cd1..85009f9f0 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1031,6 +1031,21 @@ void on_proxy_refresh_button_clicked(GtkWidget *w){ } } +static gboolean grab_focus(GtkWidget *w){ + gtk_widget_grab_focus(w); + return FALSE; +} + +void linphone_gtk_viewswitch_changed(GtkNotebook *notebook, GtkWidget *page, guint page_num, gpointer user_data){ + GtkWidget *main_window = linphone_gtk_get_main_window(); + GtkWidget *friendlist = linphone_gtk_get_widget(main_window,"contact_list"); + GtkWidget *w = (GtkWidget*)g_object_get_data(G_OBJECT(friendlist),"chatview"); + + if (page_num == gtk_notebook_page_num(GTK_NOTEBOOK(notebook),w)) { + g_idle_add((GSourceFunc)grab_focus,linphone_gtk_get_widget(page,"text_entry")); + } +} + static void linphone_gtk_notify_recv(LinphoneCore *lc, LinphoneFriend * fid){ linphone_gtk_show_friends(); } diff --git a/gtk/main.ui b/gtk/main.ui index 083ad5165..e7360e215 100644 --- a/gtk/main.ui +++ b/gtk/main.ui @@ -167,8 +167,8 @@ False True True - + @@ -650,6 +650,7 @@ True True +