Commit 743f1a61 authored by Gautier Pelloux-Prayer's avatar Gautier Pelloux-Prayer
Browse files

gtk: mark current chat as read when application gains focus

parent b711888a
...@@ -460,6 +460,17 @@ static gboolean copy_uri_into_clipboard_handler(GtkMenuItem *menuitem, gpointer ...@@ -460,6 +460,17 @@ static gboolean copy_uri_into_clipboard_handler(GtkMenuItem *menuitem, gpointer
return FALSE; return FALSE;
} }
static void linphone_gtk_window_focused(void) {
// if we are in a chat, mark it as read
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");
LinphoneChatRoom *cr=w?g_object_get_data(G_OBJECT(w),"cr"):NULL;
if (cr) {
linphone_gtk_mark_chat_read(cr);
}
}
GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with){ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with){
GtkWidget *chat_view=linphone_gtk_create_widget("chatroom_frame"); GtkWidget *chat_view=linphone_gtk_create_widget("chatroom_frame");
GtkWidget *main_window=linphone_gtk_get_main_window(); GtkWidget *main_window=linphone_gtk_get_main_window();
...@@ -536,6 +547,9 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres ...@@ -536,6 +547,9 @@ GtkWidget* linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddres
g_signal_connect_swapped(G_OBJECT(entry),"activate",(GCallback)linphone_gtk_send_text,NULL); g_signal_connect_swapped(G_OBJECT(entry),"activate",(GCallback)linphone_gtk_send_text,NULL);
g_signal_connect_swapped(G_OBJECT(entry),"changed",(GCallback)linphone_gtk_compose_text,NULL); g_signal_connect_swapped(G_OBJECT(entry),"changed",(GCallback)linphone_gtk_compose_text,NULL);
g_signal_connect(G_OBJECT(notebook),"switch_page",(GCallback)linphone_gtk_notebook_tab_select,NULL); g_signal_connect(G_OBJECT(notebook),"switch_page",(GCallback)linphone_gtk_notebook_tab_select,NULL);
g_signal_connect(G_OBJECT(main_window), "focus-in-event", G_CALLBACK(linphone_gtk_window_focused), NULL);
return chat_view; return chat_view;
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment