From: Margaux Clerc Date: Fri, 4 Jan 2013 09:13:58 +0000 (+0100) Subject: update function chat picture X-Git-Url: http://sjero.net/git/?p=linphone;a=commitdiff_plain;h=c5b6a0ffb3ea13d9d77e4bdf65fff156a26abee1 update function chat picture --- diff --git a/gtk/chat.c b/gtk/chat.c index 21ac85fa..4363dcba 100644 --- a/gtk/chat.c +++ b/gtk/chat.c @@ -31,7 +31,7 @@ void linphone_gtk_quit_chatroom(LinphoneChatRoom *cr) { int idx = GPOINTER_TO_INT(g_object_get_data(G_OBJECT(w),"idx")); g_return_if_fail(w!=NULL); gtk_notebook_remove_page (GTK_NOTEBOOK(nb),idx); - linphone_gtk_update_chat_picture(); + linphone_gtk_update_chat_picture(FALSE); g_object_set_data(G_OBJECT(friendlist),"chatview",NULL); gtk_widget_destroy(w); } @@ -289,6 +289,7 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, const w=linphone_gtk_init_chatroom(room,from); g_object_set_data(G_OBJECT(friendlist),"chatview",(gpointer)w); } + #ifdef HAVE_GTK_OSX /* Notified when a new message is sent */ @@ -303,8 +304,8 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room, const } } #endif - linphone_gtk_push_text(w,from,message,FALSE,room); + //linphone_gtk_update_chat_picture(TRUE); //gtk_window_present(GTK_WINDOW(w)); /*gtk_window_set_urgency_hint(GTK_WINDOW(w),TRUE);*/ } diff --git a/gtk/friendlist.c b/gtk/friendlist.c index 10f90099..36e3f5b9 100644 --- a/gtk/friendlist.c +++ b/gtk/friendlist.c @@ -171,14 +171,18 @@ static void linphone_gtk_call_selected(GtkTreeView *treeview){ "start_call")); } -void linphone_gtk_update_chat_picture(){ +void linphone_gtk_update_chat_picture(gboolean active){ GtkTreeIter iter; GtkWidget *w = linphone_gtk_get_main_window(); GtkWidget *friendlist=linphone_gtk_get_widget(w,"contact_list"); GtkTreeModel *model=gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist)); if (gtk_tree_model_get_iter_first(model,&iter)) { do{ - gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_chat_picture(),-1); + if(!active){ + gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_chat_picture(),-1); + } else { + gtk_list_store_set(GTK_LIST_STORE(model),&iter,FRIEND_CHAT,create_active_chat_picture(),-1); + } }while(gtk_tree_model_iter_next(model,&iter)); } } @@ -215,7 +219,7 @@ void linphone_gtk_chat_selected(GtkWidget *item){ linphone_gtk_load_chatroom(cr,uri,page); } gtk_notebook_set_current_page(notebook,gtk_notebook_page_num(notebook,page)); - linphone_gtk_update_chat_picture(linphone_gtk_get_widget(w,"contact_list")); + linphone_gtk_update_chat_picture(FALSE); gtk_list_store_set(store,&iter,FRIEND_CHAT,create_active_chat_picture(),-1); } } @@ -622,6 +626,7 @@ void linphone_gtk_show_friends(void){ if (gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist))==NULL){ linphone_gtk_friend_list_init(friendlist); } + store=GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(friendlist))); gtk_list_store_clear(store); diff --git a/gtk/linphone.h b/gtk/linphone.h index 65224ffe..c9accb6f 100644 --- a/gtk/linphone.h +++ b/gtk/linphone.h @@ -106,7 +106,7 @@ LinphoneChatRoom *linphone_gtk_start_chat(GtkTreeView* t); void linphone_gtk_load_chatroom(LinphoneChatRoom *cr,const LinphoneAddress *uri,GtkWidget *chat_view); void linphone_gtk_send_text(LinphoneChatRoom *cr); GtkWidget * linphone_gtk_init_chatroom(LinphoneChatRoom *cr, const LinphoneAddress *with); -void linphone_gtk_update_chat_picture(); +void linphone_gtk_update_chat_picture(gboolean active); void linphone_gtk_chat_set_conversation(const LinphoneAddress *uri,gchar *conversation); gchar * linphone_gtk_chat_get_conversation(const LinphoneAddress *uri);