- GList *l = g_object_get_data(G_OBJECT(page),"list");
- gtk_text_buffer_get_end_iter(b,&iter);
- gtk_text_buffer_get_iter_at_offset(b,&iter,GPOINTER_TO_INT(g_list_nth_data(l,0)));
- fprintf(stdout,"offset check %i \n",GPOINTER_TO_INT(g_list_nth_data(l,0)));
- l=g_list_remove(l,g_list_nth_data(l,0));
- gtk_text_buffer_insert_pixbuf(b,&iter,pixbuf);
-
- //gtk_text_buffer_get_end_iter(b,&iter);
- //gtk_text_buffer_insert_pixbuf(b,&iter,pixbuf);
- //gtk_text_buffer_get_end_iter(b,&iter);
- //gtk_text_buffer_insert(b,&iter,"\n",-1);
- g_object_set_data(G_OBJECT(page),"list",l);
+ GtkTextIter end;
+ GtkTextIter start;
+
+ gtk_text_buffer_get_iter_at_line(b,&iter,
+ GPOINTER_TO_INT(g_list_nth_data(list,0)));
+ if(gtk_text_iter_get_chars_in_line(&iter) >0) {
+ gtk_text_buffer_get_iter_at_line_offset(b,&start,
+ GPOINTER_TO_INT(g_list_nth_data(list,0)),
+ gtk_text_iter_get_chars_in_line(&iter)-1);
+ }else {
+ gtk_text_buffer_get_iter_at_line_offset(b,&start,
+ GPOINTER_TO_INT(g_list_nth_data(list,0)),0);
+ }
+ gtk_text_buffer_get_iter_at_line_offset(b,&end,
+ GPOINTER_TO_INT(g_list_nth_data(list,0)),0);
+ gtk_text_buffer_delete(b,&start,&end);
+ gtk_text_buffer_get_iter_at_line(b,&iter,GPOINTER_TO_INT(g_list_nth_data(list,0)));
+
+ switch (state) {
+ case LinphoneChatMessageStateInProgress:
+ gtk_text_buffer_insert_with_tags_by_name(b,&iter,"Message in progress.",-1,
+ "italic","right","small",NULL);
+ break;
+ case LinphoneChatMessageStateDelivered:
+ gtk_text_buffer_insert_with_tags_by_name(b,&iter,"Message delivered",-1,
+ "italic","right","small",NULL);
+ break;
+ case LinphoneChatMessageStateNotDelivered:
+ gtk_text_buffer_insert_with_tags_by_name(b,&iter,"Message not delivered",-1,
+ "italic","right","small",NULL);
+ break;
+ default : gtk_text_buffer_insert_with_tags_by_name(b,&iter,"12",-1,
+ "italic","right","small",NULL);
+ }
+
+ list=g_list_remove(list,g_list_nth_data(list,0));
+ g_object_set_data(G_OBJECT(page),"list",list);