changeset 19902:c45e06d1901c

Add a "<hr>" after the message history after redisplaying a hidden conversation. Without this, it gets a little confusing when a new window pops up with a bunch of text in it.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Fri, 07 Sep 2007 06:06:15 +0000
parents 4fb981e14f64
children 184d2fbcb4f0
files pidgin/gtkconv.c pidgin/gtkconv.h
diffstat 2 files changed, 7 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/pidgin/gtkconv.c	Fri Sep 07 05:28:35 2007 +0000
+++ b/pidgin/gtkconv.c	Fri Sep 07 06:06:15 2007 +0000
@@ -7340,6 +7340,10 @@
 	gtkconv->attach.timer = 0;
 	while (gtkconv->attach.current && count < 100) {  /* XXX: 100 is a random value here */
 		PurpleConvMessage *msg = gtkconv->attach.current->data;
+		if (gtkconv->attach.when && gtkconv->attach.when < msg->when) {
+			gtk_imhtml_append_text(GTK_IMHTML(gtkconv->imhtml), "<HR>", 0);
+			gtkconv->attach.when = 0;
+		}
 		pidgin_conv_write_conv(gtkconv->active_conv, msg->who, msg->who, msg->what, msg->flags, msg->when);
 		gtkconv->attach.current = gtkconv->attach.current->prev;
 		count++;
@@ -7371,8 +7375,8 @@
 
 	list = purple_conversation_get_message_history(conv);
 	if (list) {
-		list = g_list_last(list);
-		gtkconv->attach.current = list;
+		gtkconv->attach.when = ((PurpleConvMessage*)(list->data))->when;
+		gtkconv->attach.current = g_list_last(list);
 		gtkconv->attach.timer = g_idle_add(add_message_history_to_gtkconv, gtkconv);
 	} else {
 		purple_signal_emit(pidgin_conversations_get_handle(),
--- a/pidgin/gtkconv.h	Fri Sep 07 05:28:35 2007 +0000
+++ b/pidgin/gtkconv.h	Fri Sep 07 06:06:15 2007 +0000
@@ -168,6 +168,7 @@
 	struct {
 		int timer;
 		GList *current;
+		time_t when;
 	} attach;
 };