changeset 21897:a64a7bc69f42

Avoid jumpiness when typing notification in the conv. history is removed.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 21 Dec 2007 09:32:30 +0000
parents 31a48cbc5e12
children 6648cfa72842
files pidgin/gtkconv.c
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkconv.c	Fri Dec 21 09:03:20 2007 +0000
+++ b/pidgin/gtkconv.c	Fri Dec 21 09:32:30 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