| 6517 PurplePresence *p = NULL; |
6517 PurplePresence *p = NULL; |
| 6518 char *markup = NULL; |
6518 char *markup = NULL; |
| 6519 AtkObject *accessibility_obj; |
6519 AtkObject *accessibility_obj; |
| 6520 /* I think this is a little longer than it needs to be but I'm lazy. */ |
6520 /* I think this is a little longer than it needs to be but I'm lazy. */ |
| 6521 char *style; |
6521 char *style; |
| |
6522 gboolean bold = FALSE; |
| 6522 |
6523 |
| 6523 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) |
6524 if (purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) |
| 6524 im = PURPLE_CONV_IM(conv); |
6525 im = PURPLE_CONV_IM(conv); |
| 6525 |
6526 |
| 6526 if ((account == NULL) || |
6527 if ((account == NULL) || |
| 6550 g_free(esc); |
6551 g_free(esc); |
| 6551 } |
6552 } |
| 6552 gtk_list_store_set(gtkconv->infopane_model, &(gtkconv->infopane_iter), |
6553 gtk_list_store_set(gtkconv->infopane_model, &(gtkconv->infopane_iter), |
| 6553 CONV_TEXT_COLUMN, markup, -1); |
6554 CONV_TEXT_COLUMN, markup, -1); |
| 6554 /* XXX seanegan Why do I have to do this? */ |
6555 /* XXX seanegan Why do I have to do this? */ |
| 6555 gtk_widget_queue_draw(gtkconv->infopane); |
6556 gtk_widget_queue_draw(gtkconv->infopane); |
| 6556 |
6557 |
| 6557 if (title != markup) |
6558 if (title != markup) |
| 6558 g_free(markup); |
6559 g_free(markup); |
| 6559 |
6560 |
| 6560 if (!GTK_WIDGET_REALIZED(gtkconv->tab_label)) |
6561 if (!GTK_WIDGET_REALIZED(gtkconv->tab_label)) |
| 6569 purple_conv_im_get_typing_state(im) == PURPLE_TYPED) { |
6570 purple_conv_im_get_typing_state(im) == PURPLE_TYPED) { |
| 6570 atk_object_set_description(accessibility_obj, _("Stopped Typing")); |
6571 atk_object_set_description(accessibility_obj, _("Stopped Typing")); |
| 6571 style = "color=\"#c4a000\""; |
6572 style = "color=\"#c4a000\""; |
| 6572 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_NICK) { |
6573 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_NICK) { |
| 6573 atk_object_set_description(accessibility_obj, _("Nick Said")); |
6574 atk_object_set_description(accessibility_obj, _("Nick Said")); |
| 6574 style = "color=\"#204a87\" weight=\"bold\""; |
6575 style = "color=\"#204a87\""; |
| 6575 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_TEXT) { |
6576 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_TEXT) { |
| 6576 atk_object_set_description(accessibility_obj, _("Unread Messages")); |
6577 atk_object_set_description(accessibility_obj, _("Unread Messages")); |
| 6577 style = "color=\"#cc0000\" weight=\"bold\""; |
6578 style = "color=\"#cc0000\""; |
| 6578 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_EVENT) { |
6579 } else if (gtkconv->unseen_state == PIDGIN_UNSEEN_EVENT) { |
| 6579 atk_object_set_description(accessibility_obj, _("New Event")); |
6580 atk_object_set_description(accessibility_obj, _("New Event")); |
| 6580 style = "color=\"#888a85\" weight=\"bold\""; |
6581 style = "color=\"#888a85\""; |
| 6581 } else { |
6582 } else { |
| 6582 style = ""; |
6583 style = NULL; |
| 6583 } |
6584 } |
| |
6585 |
| |
6586 if (gtkconv->unseen_state == PIDGIN_UNSEEN_TEXT || |
| |
6587 gtkconv->unseen_state == PIDGIN_UNSEEN_NICK || |
| |
6588 gtkconv->unseen_state == PIDGIN_UNSEEN_EVENT) |
| |
6589 bold = TRUE; |
| 6584 |
6590 |
| 6585 if (*style != '\0') |
6591 if (style || bold) |
| 6586 { |
6592 { |
| 6587 char *html_title,*label; |
6593 char *html_title,*label; |
| 6588 |
6594 |
| 6589 html_title = g_markup_escape_text(title, -1); |
6595 html_title = g_markup_escape_text(title, -1); |
| 6590 label = g_strdup_printf("<span %s>%s</span>", |
6596 label = g_strdup_printf("<span %s %s>%s</span>", |
| 6591 style, html_title); |
6597 style ? style : "", |
| |
6598 bold ? "weight=\"bold\"" : "", |
| |
6599 html_title); |
| 6592 g_free(html_title); |
6600 g_free(html_title); |
| 6593 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label); |
6601 gtk_label_set_markup(GTK_LABEL(gtkconv->tab_label), label); |
| 6594 g_free(label); |
6602 g_free(label); |
| 6595 } |
6603 } |
| 6596 else |
6604 else |
| 6597 gtk_label_set_text(GTK_LABEL(gtkconv->tab_label), title); |
6605 gtk_label_set_text(GTK_LABEL(gtkconv->tab_label), title); |
| 6598 |
6606 |
| 6599 if (pidgin_conv_window_is_active_conversation(conv)) |
6607 if (pidgin_conv_window_is_active_conversation(conv)) |
| 6600 update_typing_icon(gtkconv); |
6608 update_typing_icon(gtkconv); |
| 6601 |
6609 |
| 6602 gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title); |
6610 gtk_label_set_text(GTK_LABEL(gtkconv->menu_label), title); |
| 6603 if (pidgin_conv_window_is_active_conversation(conv)) |
6611 if (pidgin_conv_window_is_active_conversation(conv)) |