pidgin/gtkconv.c

branch
soc.2008.vv
changeset 26117
69b9346d3e48
parent 26116
41f7d4545566
parent 24117
e9d99eb2fc24
child 26128
a989b1f827a0
equal deleted inserted replaced
26116:41f7d4545566 26117:69b9346d3e48
4654 gtk_paned_pack2(GTK_PANED(hpaned), lbox, FALSE, TRUE); 4654 gtk_paned_pack2(GTK_PANED(hpaned), lbox, FALSE, TRUE);
4655 gtk_widget_show(lbox); 4655 gtk_widget_show(lbox);
4656 4656
4657 /* Setup the label telling how many people are in the room. */ 4657 /* Setup the label telling how many people are in the room. */
4658 gtkchat->count = gtk_label_new(_("0 people in room")); 4658 gtkchat->count = gtk_label_new(_("0 people in room"));
4659 #if GTK_CHECK_VERSION(2,6,0)
4660 gtk_label_set_ellipsize(GTK_LABEL(gtkchat->count), PANGO_ELLIPSIZE_END);
4661 #endif
4659 gtk_box_pack_start(GTK_BOX(lbox), gtkchat->count, FALSE, FALSE, 0); 4662 gtk_box_pack_start(GTK_BOX(lbox), gtkchat->count, FALSE, FALSE, 0);
4660 gtk_widget_show(gtkchat->count); 4663 gtk_widget_show(gtkchat->count);
4661 4664
4662 /* Setup the list of users. */ 4665 /* Setup the list of users. */
4663 sw = gtk_scrolled_window_new(NULL, NULL); 4666 sw = gtk_scrolled_window_new(NULL, NULL);
6668 6671
6669 if (pidgin_conv_window_is_active_conversation(conv)) 6672 if (pidgin_conv_window_is_active_conversation(conv))
6670 update_typing_icon(gtkconv); 6673 update_typing_icon(gtkconv);
6671 6674
6672 gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title); 6675 gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title);
6673 if (pidgin_conv_window_is_active_conversation(conv)) 6676 if (pidgin_conv_window_is_active_conversation(conv)) {
6674 gtk_window_set_title(GTK_WINDOW(win->window), title); 6677 const char* current_title = gtk_window_get_title(GTK_WINDOW(win->window));
6678 if (current_title == NULL || strcmp(current_title, title) != 0)
6679 gtk_window_set_title(GTK_WINDOW(win->window), title);
6680 }
6675 6681
6676 g_free(title); 6682 g_free(title);
6677 } 6683 }
6678 } 6684 }
6679 6685
7428 7434
7429 gtkconv = get_gtkconv_with_contact(purple_buddy_get_contact(buddy)); 7435 gtkconv = get_gtkconv_with_contact(purple_buddy_get_contact(buddy));
7430 if (gtkconv) 7436 if (gtkconv)
7431 { 7437 {
7432 conv = gtkconv->active_conv; 7438 conv = gtkconv->active_conv;
7433 pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON | PIDGIN_CONV_COLORIZE_TITLE); 7439 pidgin_conv_update_fields(conv, PIDGIN_CONV_TAB_ICON
7440 | PIDGIN_CONV_COLORIZE_TITLE
7441 | PIDGIN_CONV_BUDDY_ICON);
7434 if ((purple_status_is_online(old) ^ purple_status_is_online(newstatus)) != 0) 7442 if ((purple_status_is_online(old) ^ purple_status_is_online(newstatus)) != 0)
7435 pidgin_conv_update_fields(conv, PIDGIN_CONV_MENU); 7443 pidgin_conv_update_fields(conv, PIDGIN_CONV_MENU);
7436 } 7444 }
7437 7445
7438 /* In case a conversation is started after the buddy has signed-on/off */ 7446 /* In case a conversation is started after the buddy has signed-on/off */

mercurial