]> sjero.net Git - linphone/blobdiff - gtk/chat.c
fix unread messages
[linphone] / gtk / chat.c
index cf6d61c98f7ec8e6f6c578fb92c2717591222b4e..a61afcf21a85588ea12b7a5ea2d1d392e0bedcbd 100644 (file)
@@ -168,10 +168,10 @@ void linphone_gtk_push_text(GtkWidget *w, const LinphoneAddress *from,
                case LinphoneChatMessageStateDelivered:
                {
                        tnow=time(NULL);
-                       tm=gmtime(&tnow);
+                       tm=localtime(&tnow);
                        tnow_day=tm->tm_yday;
                        tnow_year=tm->tm_year;
-                       tm=gmtime(&t);
+                       tm=localtime(&t);
                        if(tnow_day != tm->tm_yday || (tnow_day == tm->tm_yday && tnow_year != tm->tm_year)) {
                                strftime(buf,80,"%a %x, %H:%M",tm);
                        } else {
@@ -237,7 +237,7 @@ void update_chat_state_message(LinphoneChatMessageState state,LinphoneChatMessag
                        case LinphoneChatMessageStateDelivered:
                        {
                                time_t t=time(NULL);
-                               struct tm *tm=gmtime(&t);
+                               struct tm *tm=localtime(&t);
                                char buf[80];
                                strftime(buf,80,"%H:%M",tm);
                                result=buf;
@@ -453,7 +453,6 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room,
                        send=TRUE;
                } else {
                        if(!linphone_gtk_friend_list_is_contact(linphone_chat_message_get_from(msg))){
-                               //linphone_gtk_load_chatroom(room,linphone_chat_message_get_from(msg),w);
                                linphone_gtk_chat_add_contact(linphone_chat_message_get_from(msg));
                        } 
                        send=FALSE;
@@ -461,7 +460,6 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room,
     } else {
                send=FALSE;
                if(!linphone_gtk_friend_list_is_contact(linphone_chat_message_get_from(msg))){
-                               //linphone_gtk_load_chatroom(room,linphone_chat_message_get_from(msg),w);
                                linphone_gtk_chat_add_contact(linphone_chat_message_get_from(msg));
                        } 
         w=linphone_gtk_init_chatroom(room,linphone_chat_message_get_from(msg));
@@ -469,6 +467,7 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room,
                g_object_set_data(G_OBJECT(friendlist),"from",from);
     }
        get_display_name(linphone_chat_message_get_from(msg));
+       
        #ifdef HAVE_GTK_OSXs
        /* Notified when a new message is sent */
        linphone_gtk_status_icon_set_blinking(TRUE);
@@ -485,11 +484,12 @@ void linphone_gtk_text_received(LinphoneCore *lc, LinphoneChatRoom *room,
        if(send){
                if(gtk_notebook_get_current_page(notebook)!=gtk_notebook_page_num(notebook,w)){
                        linphone_gtk_show_friends();
+               } else {
+                       linphone_chat_room_mark_as_read(room);
                }
                linphone_gtk_push_text(w,linphone_chat_message_get_from(msg),
                              FALSE,room,msg,FALSE);
        } else {
                linphone_gtk_show_friends();
        }
-       //linphone_gtk_update_chat_picture();
 }