# HG changeset patch # User Sadrul Habib Chowdhury # Date 1198229625 0 # Node ID 6648cfa728421a48b383152b67cb0c4155120842 # Parent a64a7bc69f428e7c271d2daad56ecb4cd0801595# Parent f786e478e08b54f2594c1accc4eb569755a175fd merge of '72df99671f84834d934f83b25ce492f289d77063' and 'c00604416a0d01f2fbf75b5cc6b6d4f9371e7a67' diff -r f786e478e08b -r 6648cfa72842 pidgin/gtkconv.c --- a/pidgin/gtkconv.c Thu Dec 20 03:44:01 2007 +0000 +++ b/pidgin/gtkconv.c Fri Dec 21 09:33:45 2007 +0000 @@ -3392,7 +3392,8 @@ gtk_text_buffer_delete_mark(buffer, stmark); gtk_text_buffer_delete_mark(buffer, enmark); gtk_text_buffer_delete(buffer, &start, &end); - } + } else if (message && *message == '\n' && !*(message + 1)) + message = NULL; if (message) { GtkTextIter iter; @@ -3431,7 +3432,7 @@ g_source_remove(gtkconv->u.im->typing_timer); gtkconv->u.im->typing_timer = 0; } - update_typing_message(gtkconv, NULL); + update_typing_message(gtkconv, "\n"); return; } @@ -5068,7 +5069,9 @@ gtk_text_buffer_create_tag(GTK_IMHTML(gtkconv->imhtml)->text_buffer, "TYPING-NOTIFICATION", "foreground", "#888888", "justification", GTK_JUSTIFY_LEFT, /* XXX: RTL'ify */ - "weight", PANGO_WEIGHT_BOLD, NULL); + "weight", PANGO_WEIGHT_BOLD, + "scale", PANGO_SCALE_SMALL, + NULL); /* Setup the container for the tab. */ gtkconv->tab_cont = tab_cont = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); @@ -5840,6 +5843,7 @@ (type == PURPLE_CONV_TYPE_IM ? "displayed-im-msg" : "displayed-chat-msg"), account, name, displaying, conv, flags); g_free(displaying); + update_typing_message(gtkconv, NULL); } static void @@ -7912,6 +7916,7 @@ /* Set default tab colors */ GString *str = g_string_new(NULL); GtkSettings *settings = gtk_settings_get_default(); + GtkStyle *parent = gtk_rc_get_style_by_paths(settings, "tab-container.tab-label*", NULL, G_TYPE_NONE), *now; struct { const char *stylename; const char *labelname; @@ -7926,8 +7931,9 @@ }; int iter; for (iter = 0; styles[iter].stylename; iter++) { - if (!gtk_rc_get_style_by_paths(settings, styles[iter].labelname, NULL, G_TYPE_NONE)) - /* Apparently both ACTIVE and NORMAL are required */ + now = gtk_rc_get_style_by_paths(settings, styles[iter].labelname, NULL, G_TYPE_NONE); + if (parent == now || + (parent && now && parent->rc_style == now->rc_style)) { g_string_append_printf(str, "style \"%s\" {\n" "fg[ACTIVE] = \"%s\"\n" "}\n" @@ -7935,6 +7941,7 @@ styles[iter].stylename, styles[iter].color, styles[iter].labelname, styles[iter].stylename); + } } gtk_rc_parse_string(str->str); g_string_free(str, TRUE); @@ -9335,6 +9342,7 @@ gtkconv->tabby = gtk_vbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); else gtkconv->tabby = gtk_hbox_new(FALSE, PIDGIN_HIG_BOX_SPACE); + gtk_widget_set_name(gtkconv->tabby, "tab-container"); /* select the correct ordering for verticle tabs */ if (angle == 90) {