? plugins/bot.c
? plugins/fest.c
? plugins/icq/socketmanager.c
? plugins/icq/socketmanager.h
Index: po/POTFILES.in
===================================================================
RCS file: /cvsroot/gaim/gaim/po/POTFILES.in,v
retrieving revision 1.6
diff -u -r1.6 POTFILES.in
--- po/POTFILES.in	2000/12/14 09:06:59	1.6
+++ po/POTFILES.in	2001/01/25 15:10:41
@@ -6,7 +6,7 @@
 src/buddy_chat.c
 src/conversation.c
 src/dialogs.c
-src/gtkhtml.c
+src/gtkimhtml.c
 src/html.c
 src/multi.c
 src/oscar.c
Index: src/Makefile.am
===================================================================
RCS file: /cvsroot/gaim/gaim/src/Makefile.am,v
retrieving revision 1.27
diff -u -r1.27 Makefile.am
--- src/Makefile.am	2000/12/22 01:53:10	1.27
+++ src/Makefile.am	2001/01/25 15:10:41
@@ -10,7 +10,7 @@
 			conversation.c \
 			dialogs.c \
 			gaimrc.c \
-			gtkhtml.c \
+			gtkimhtml.c \
 			gtkspell.c \
 			gtkticker.c \
 			html.c \
@@ -42,7 +42,7 @@
 		conversation.c \
 		dialogs.c \
 		gaimrc.c \
-		gtkhtml.c \
+		gtkimhtml.c \
 		gtkspell.c \
 		gtkticker.c \
 		html.c \
@@ -86,7 +86,7 @@
 		getopt.c \
 		getopt.h \
 		getopt1.c \
-		gtkhtml.h \
+		gtkimhtml.h \
 		gtkspell.h \
 		gtkticker.h \
 		multi.h \
Index: src/buddy_chat.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/buddy_chat.c,v
retrieving revision 1.73
diff -u -r1.73 buddy_chat.c
--- src/buddy_chat.c	2001/01/09 10:03:48	1.73
+++ src/buddy_chat.c	2001/01/25 15:10:42
@@ -28,7 +28,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <gtk/gtk.h>
-#include "gtkhtml.h"
+#include "gtkimhtml.h"
 #include "gtkspell.h"
 #include <gdk/gdkkeysyms.h>
 
@@ -39,6 +39,9 @@
 #include "pixmaps/join.xpm"
 #include "pixmaps/close.xpm"
 
+#include "pixmaps/luke03.xpm"
+#include "pixmaps/oneeye.xpm"
+
 static GtkWidget *joinchat;
 static struct gaim_connection *joinchatgc;
 static GtkWidget *entry;
@@ -696,12 +699,20 @@
 	gtk_widget_set_usize(sw, 320, 160);
 	gtk_widget_show(sw);
 
-	text = gtk_html_new(NULL, NULL);
+	text = gtk_imhtml_new(NULL, NULL);
 	b->text = text;
 	gtk_container_add(GTK_CONTAINER(sw), text);
+	GTK_LAYOUT(text)->hadjustment->step_increment = 10.0;
+	GTK_LAYOUT(text)->vadjustment->step_increment = 10.0;
+	if (!(display_options & OPT_DISP_SHOW_SMILEY))
+		gtk_imhtml_show_smileys(GTK_IMHTML(text), FALSE);
+	if (display_options & OPT_DISP_SHOW_TIME)
+		gtk_imhtml_show_comments(GTK_IMHTML(text), TRUE);
+	gtk_signal_connect(GTK_OBJECT(text), "url_clicked", GTK_SIGNAL_FUNC(open_url_nw), NULL);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:-)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "O-)", oneeye_xpm);
 	gtk_widget_show(text);
-	GTK_HTML(text)->hadj->step_increment = 10.0;
-	GTK_HTML(text)->vadj->step_increment = 10.0;
 
 	lbox = gtk_vbox_new(FALSE, 5);
 	gtk_paned_pack2(GTK_PANED(hpaned), lbox, TRUE, TRUE);
Index: src/conversation.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/conversation.c,v
retrieving revision 1.171
diff -u -r1.171 conversation.c
--- src/conversation.c	2001/01/19 03:19:46	1.171
+++ src/conversation.c	2001/01/25 15:10:43
@@ -31,7 +31,7 @@
 #include <stdlib.h>
 #include <ctype.h>
 #include <gtk/gtk.h>
-#include "gtkhtml.h"
+#include "gtkimhtml.h"
 #include <gdk/gdkkeysyms.h>
 #include "convo.h"
 #include "gtkspell.h"
@@ -52,22 +52,6 @@
 #include "pixmaps/fgcolor.xpm"
 #include "pixmaps/bgcolor.xpm"
 
-#include "pixmaps/angel.xpm"
-#include "pixmaps/bigsmile.xpm"
-#include "pixmaps/burp.xpm"
-#include "pixmaps/crossedlips.xpm"
-#include "pixmaps/cry.xpm"
-#include "pixmaps/embarrassed.xpm"
-#include "pixmaps/kiss.xpm"
-#include "pixmaps/moneymouth.xpm"
-#include "pixmaps/sad.xpm"
-#include "pixmaps/scream.xpm"
-#include "pixmaps/smile.xpm"
-#include "pixmaps/smile8.xpm"
-#include "pixmaps/think.xpm"
-#include "pixmaps/tongue.xpm"
-#include "pixmaps/wink.xpm"
-#include "pixmaps/yell.xpm"
 #include "pixmaps/luke03.xpm"
 #include "pixmaps/oneeye.xpm"
 
@@ -485,6 +469,8 @@
 			gtk_signal_emit_stop_by_name(GTK_OBJECT(entry), "key_press_event");
 			close_callback(c->window, c);
 		}
+	} else if (event->keyval == GDK_F2) {
+		gtk_imhtml_show_comments(GTK_IMHTML(c->text), !(GTK_IMHTML(c->text))->comments);
 	} else if (event->keyval == GDK_Return) {
 		if (!(event->state & GDK_SHIFT_MASK)
 		    && (general_options & OPT_GEN_ENTER_SENDS)) {
@@ -1120,130 +1106,6 @@
 /*------------------------------------------------------------------------*/
 
 
-static GdkPixmap *is_smiley(GtkWidget *window, char *m, int *len, GdkColor * trans)
-{
-	GdkBitmap *mask;
-	GdkPixmap *face = NULL;
-
-	if (strlen(m) < 2)
-		return face;
-	*len = 2;
-	if (!strncmp(m, ":)", 2)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, smile_xpm);
-	} else if (!strncmp(m, ":(", 2)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, sad_xpm);
-	} else if (!strncmp(m, ";)", 2)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, wink_xpm);
-	}
-
-	if (face || strlen(m) < 3)
-		return face;
-	*len = 3;
-	if (!strncmp(m, ":-)", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, smile_xpm);
-	} else if (!strncmp(m, "O-)", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, oneeye_xpm);
-	} else if (!strncmp(m, "C:)", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, luke03_xpm);
-	} else if (!strncmp(m, ":-(", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, sad_xpm);
-	} else if (!strncmp(m, ";-)", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, wink_xpm);
-	} else if (!strncmp(m, ":-p", 3) || !strncmp(m, ":-P", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, tongue_xpm);
-	} else if (!strncmp(m, "=-O", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, scream_xpm);
-	} else if (!strncmp(m, ":-*", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, kiss_xpm);
-	} else if (!strncmp(m, ">:o", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, yell_xpm);
-	} else if (!strncmp(m, "8-)", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, smile8_xpm);
-	} else if (!strncmp(m, ":-$", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, moneymouth_xpm);
-	} else if (!strncmp(m, ":-!", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, burp_xpm);
-	} else if (!strncmp(m, ":-[", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, embarrassed_xpm);
-	} else if (!strncmp(m, ":'(", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, cry_xpm);
-	} else if (!strncmp(m, ":-\\", 3) || !strncmp(m, ":-/", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, think_xpm);
-	} else if (!strncmp(m, ":-X", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, crossedlips_xpm);
-	} else if (!strncmp(m, ":-D", 3)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, bigsmile_xpm);
-	}
-
-	if (face || strlen(m) < 4)
-		return face;
-	*len = 4;
-	if (!strncmp(m, "O:-)", 4)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, angel_xpm);
-	} else if (!strncmp(m, "C:-)", 4)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, luke03_xpm);
-	}
-
-	if (face || strlen(m) < 6)
-		return face;
-	*len = 6;
-	if (!strncmp(m, "&gt;:o", 6)) {
-		face = gdk_pixmap_create_from_xpm_d(window->window, &mask, trans, yell_xpm);
-	}
-
-	return face;
-}
-
-void write_html_with_smileys(GtkWidget *window, GtkWidget *html, char *what)
-{
-	int y = 0;
-	char *buf2 = g_strdup(what);
-	int i;
-	GdkPixmap *face;
-	/* hopefully we can later use this for bgcolors in smileys */
-	GdkColor *trans = &window->style->base[GTK_STATE_NORMAL];
-	gboolean in_tag = FALSE;
-	int gtk_font_options = 0;
-
-	if (display_options & OPT_DISP_IGNORE_COLOUR)
-		gtk_font_options = gtk_font_options ^ HTML_OPTION_NO_COLOURS;
-
-	if (display_options & OPT_DISP_IGNORE_FONTS)
-		gtk_font_options = gtk_font_options ^ HTML_OPTION_NO_FONTS;
-
-	for (i = 0; i < strlen(what); i++) {
-		if (!in_tag) {
-			int len;
-			if (what[i] == '<') {
-				buf2[y] = what[i];
-				y++;
-				in_tag = TRUE;
-			} else if ((face = is_smiley(window, &what[i], &len, trans)) != NULL) {
-
-				buf2[y] = 0;
-				gtk_html_append_text(GTK_HTML(html), buf2, gtk_font_options);
-				gtk_html_add_pixmap(GTK_HTML(html), face, 0, 0);
-				y = 0;
-				i += len - 1;
-			} else {
-				buf2[y] = what[i];
-				y++;
-			}
-		} else {
-			buf2[y] = what[i];
-			y++;
-			if (what[i] == '>')
-				in_tag = FALSE;
-		}
-	}
-
-	if (y) {
-		buf2[y] = 0;
-		gtk_html_append_text(GTK_HTML(html), buf2, gtk_font_options);
-	}
-	g_free(buf2);
-}
-
 /* this is going to be interesting since the conversation could either be a
  * normal IM conversation or a chat window. but hopefully it won't matter */
 void write_to_conv(struct conversation *c, char *what, int flags, char *who)
@@ -1260,12 +1122,18 @@
 	int gtk_font_options = 0;
 
 	if (display_options & OPT_DISP_IGNORE_COLOUR)
-		gtk_font_options = gtk_font_options ^ HTML_OPTION_NO_COLOURS;
+		gtk_font_options = gtk_font_options ^ GTK_IMHTML_NO_COLOURS;
 
 	if (display_options & OPT_DISP_IGNORE_FONTS)
-		gtk_font_options = gtk_font_options ^ HTML_OPTION_NO_FONTS;
+		gtk_font_options = gtk_font_options ^ GTK_IMHTML_NO_FONTS;
+
+	gtk_font_options = gtk_font_options ^ GTK_IMHTML_NO_COMMENTS;
+	gtk_font_options = gtk_font_options ^ GTK_IMHTML_NO_TITLE;
 
+	if (display_options & OPT_DISP_IGNORE_SIZES)
+		gtk_font_options = gtk_font_options ^ GTK_IMHTML_NO_SIZES;
 
+
 	if (!who) {
 		if (flags & WFLAG_SEND) {
 			b = find_buddy(c->gc, c->gc->username);
@@ -1287,12 +1155,10 @@
 	}
 
 	if (flags & WFLAG_SYSTEM) {
-
-		gtk_html_freeze(GTK_HTML(c->text));
 
-		gtk_html_append_text(GTK_HTML(c->text), what, 0);
+		gtk_imhtml_append_text(GTK_IMHTML(c->text), what, 0);
 
-		gtk_html_append_text(GTK_HTML(c->text), "<BR>", 0);
+		gtk_imhtml_append_text(GTK_IMHTML(c->text), "<BR>", 0);
 
 		if ((general_options & OPT_GEN_LOG_ALL) || find_log_info(c->name)) {
 			char *t1;
@@ -1358,34 +1224,16 @@
 			}
 		}
 
-		if (display_options & OPT_DISP_SHOW_TIME)
-			g_snprintf(buf, BUF_LONG, "<FONT COLOR=\"%s\"><B>%s %s</B></FONT> ", colour,
-				   date(), str);
-		else
-			g_snprintf(buf, BUF_LONG, "<FONT COLOR=\"%s\"><B>%s</B></FONT>", colour, str);
+		g_snprintf(buf, BUF_LONG, "<FONT COLOR=\"%s\"><FONT SIZE=\"2\"><!--(%s) --></FONT>"
+				"<B>%s</B></FONT> ", colour, date(), str);
 
 		g_free(str);
-
-		gtk_html_freeze(GTK_HTML(c->text));
 
-		if (colorv != -1) {
-			sprintf(buf2, "<BODY BGCOLOR=\"#%x\">", colorv);
-			gtk_html_append_text(GTK_HTML(c->text), buf2, gtk_font_options);
-		}
-
-		gtk_html_append_text(GTK_HTML(c->text), buf, 0);
-
-		if (display_options & OPT_DISP_SHOW_SMILEY) {
-			write_html_with_smileys(c->window, c->text, what);
-		} else {
-			gtk_html_append_text(GTK_HTML(c->text), what, gtk_font_options);
-		}
+		gtk_imhtml_append_text(GTK_IMHTML(c->text), buf, 0);
 
-		if (colorv != -1) {
-			gtk_html_append_text(GTK_HTML(c->text), "</BODY>", gtk_font_options);
-		}
-		gtk_html_append_text(GTK_HTML(c->text), "<BR>", gtk_font_options);
+		gtk_imhtml_append_text(GTK_IMHTML(c->text), what, gtk_font_options);
 
+		gtk_imhtml_append_text(GTK_IMHTML(c->text), "<BR>", 0);
 
 		if ((general_options & OPT_GEN_LOG_ALL) || find_log_info(c->name)) {
 			char *t1, *t2;
@@ -1430,8 +1278,6 @@
 	    (!c->is_chat && (general_options & OPT_GEN_POPUP_WINDOWS)))
 		    gdk_window_show(c->window->window);
 
-	gtk_html_thaw(GTK_HTML(c->text));
-
 	g_free(smiley);
 	g_free(buf);
 }
@@ -1866,12 +1712,19 @@
 	gtk_widget_set_usize(sw, 320, 175);
 	gtk_widget_show(sw);
 
-	text = gtk_html_new(NULL, NULL);
+	text = gtk_imhtml_new(NULL, NULL);
 	c->text = text;
-	gtk_html_set_editable(GTK_HTML(text), FALSE);
 	gtk_container_add(GTK_CONTAINER(sw), text);
-	GTK_HTML(text)->hadj->step_increment = 10.0;
-	GTK_HTML(text)->vadj->step_increment = 10.0;
+	GTK_LAYOUT(text)->hadjustment->step_increment = 10.0;
+	GTK_LAYOUT(text)->vadjustment->step_increment = 10.0;
+	if (!(display_options & OPT_DISP_SHOW_SMILEY))
+		gtk_imhtml_show_smileys(GTK_IMHTML(text), FALSE);
+	if (display_options & OPT_DISP_SHOW_TIME)
+		gtk_imhtml_show_comments(GTK_IMHTML(text), TRUE);
+	gtk_signal_connect(GTK_OBJECT(text), "url_clicked", GTK_SIGNAL_FUNC(open_url_nw), NULL);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:-)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "O-)", oneeye_xpm);
 	gtk_widget_show(text);
 
 	vbox2 = gtk_vbox_new(FALSE, 5);
@@ -2000,6 +1853,70 @@
 				gtkspell_attach(GTK_TEXT(c->entry));
 			else
 				gtkspell_detach(GTK_TEXT(c->entry));
+			cht = cht->next;
+		}
+		con = con->next;
+	}
+}
+
+void toggle_timestamps()
+{
+	GList *cnv = conversations;
+	GSList *cht;
+	struct conversation *c;
+	GSList *con = connections;
+	struct gaim_connection *gc;
+
+	while (cnv) {
+		c = (struct conversation *)cnv->data;
+		if (display_options & OPT_DISP_SHOW_TIME)
+			gtk_imhtml_show_comments(GTK_IMHTML(c->text), TRUE);
+		else
+			gtk_imhtml_show_comments(GTK_IMHTML(c->text), FALSE);
+		cnv = cnv->next;
+	}
+
+	while (con) {
+		gc = (struct gaim_connection *)con->data;
+		cht = gc->buddy_chats;
+		while (cht) {
+			c = (struct conversation *)cht->data;
+			if (display_options & OPT_DISP_SHOW_TIME)
+				gtk_imhtml_show_comments(GTK_IMHTML(c->text), TRUE);
+			else
+				gtk_imhtml_show_comments(GTK_IMHTML(c->text), FALSE);
+			cht = cht->next;
+		}
+		con = con->next;
+	}
+}
+
+void toggle_smileys()
+{
+	GList *cnv = conversations;
+	GSList *cht;
+	struct conversation *c;
+	GSList *con = connections;
+	struct gaim_connection *gc;
+
+	while (cnv) {
+		c = (struct conversation *)cnv->data;
+		if (display_options & OPT_DISP_SHOW_SMILEY)
+			gtk_imhtml_show_smileys(GTK_IMHTML(c->text), TRUE);
+		else
+			gtk_imhtml_show_smileys(GTK_IMHTML(c->text), FALSE);
+		cnv = cnv->next;
+	}
+
+	while (con) {
+		gc = (struct gaim_connection *)con->data;
+		cht = gc->buddy_chats;
+		while (cht) {
+			c = (struct conversation *)cht->data;
+			if (display_options & OPT_DISP_SHOW_SMILEY)
+				gtk_imhtml_show_smileys(GTK_IMHTML(c->text), TRUE);
+			else
+				gtk_imhtml_show_smileys(GTK_IMHTML(c->text), FALSE);
 			cht = cht->next;
 		}
 		con = con->next;
Index: src/dialogs.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/dialogs.c,v
retrieving revision 1.207
diff -u -r1.207 dialogs.c
--- src/dialogs.c	2001/01/10 02:54:05	1.207
+++ src/dialogs.c	2001/01/25 15:10:45
@@ -39,7 +39,7 @@
 
 #include <gtk/gtk.h>
 #include "gaim.h"
-#include "gtkhtml.h"
+#include "gtkimhtml.h"
 #include "prpl.h"
 
 #include "pixmaps/gnome_preferences.xpm"
@@ -56,7 +56,9 @@
 #include "pixmaps/cry.xpm"
 #include "pixmaps/embarrassed.xpm"
 #include "pixmaps/kiss.xpm"
+#include "pixmaps/luke03.xpm"
 #include "pixmaps/moneymouth.xpm"
+#include "pixmaps/oneeye.xpm"
 #include "pixmaps/sad.xpm"
 #include "pixmaps/scream.xpm"
 #include "pixmaps/smile.xpm"
@@ -66,6 +68,11 @@
 #include "pixmaps/wink.xpm"
 #include "pixmaps/yell.xpm"
 
+#include "pixmaps/aol_icon.xpm"
+#include "pixmaps/free_icon.xpm"
+#include "pixmaps/dt_icon.xpm"
+#include "pixmaps/admin_icon.xpm"
+
 #define DEFAULT_FONT_NAME "-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1"
 
 #define PATHSIZE 1024
@@ -1756,6 +1763,19 @@
 	g_free(d);
 }
 
+gchar **info_img_handler(gchar *url)
+{
+	if (!g_strcasecmp(url, "free_icon.gif"))
+		return free_icon_xpm;
+	if (!g_strcasecmp(url, "aol_icon.gif"))
+		return aol_icon_xpm;
+	if (!g_strcasecmp(url, "dt_icon.gif"))
+		return dt_icon_xpm;
+	if (!g_strcasecmp(url, "admin_icon.gif"))
+		return admin_icon_xpm;
+	return NULL;
+}
+
 void g_show_info_text(char *info)
 {
         GtkWidget *ok;
@@ -1763,6 +1783,7 @@
 	GtkWidget *text;
         GtkWidget *bbox;
         GtkWidget *sw;
+	gint options = 0;
 
         struct info_dlg *b = g_new0(struct info_dlg, 1);
 
@@ -1790,13 +1811,20 @@
 	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw),
 					GTK_POLICY_NEVER,
 					GTK_POLICY_ALWAYS);
-	text = gtk_html_new(NULL, NULL);
+	text = gtk_imhtml_new(NULL, NULL);
 	b->text = text;
 	gtk_container_add(GTK_CONTAINER(sw), text);
 
-	GTK_HTML (text)->hadj->step_increment = 10.0;
-	GTK_HTML (text)->vadj->step_increment = 10.0;
+	GTK_LAYOUT(text)->hadjustment->step_increment = 10.0;
+	GTK_LAYOUT(text)->vadjustment->step_increment = 10.0;
 	gtk_widget_set_usize(sw, 300, 250);
+	gtk_imhtml_set_img_handler(GTK_IMHTML(text), info_img_handler);
+	if (!(display_options & OPT_DISP_SHOW_SMILEY))
+		gtk_imhtml_show_smileys(GTK_IMHTML(b->text), FALSE);
+	gtk_signal_connect(GTK_OBJECT(text), "url_clicked", GTK_SIGNAL_FUNC(open_url_nw), NULL);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "C:-)", luke03_xpm);
+	gtk_imhtml_associate_smiley(GTK_IMHTML(text), "O-)", oneeye_xpm);
 
 	gtk_box_pack_start(GTK_BOX(bbox), label, FALSE, FALSE, 0);
 	gtk_box_pack_start(GTK_BOX(bbox), sw, TRUE, TRUE, 0);
@@ -1805,11 +1833,16 @@
 	aol_icon(b->window->window);
 	gtk_widget_show_all(b->window);
 
-	if (display_options & OPT_DISP_SHOW_SMILEY)
-		write_html_with_smileys(b->window, b->text, info);
-	else
-		gtk_html_append_text(GTK_HTML(b->text), info, (display_options & OPT_DISP_IGNORE_COLOUR) ? HTML_OPTION_NO_COLOURS : 0);
-	gtk_html_append_text(GTK_HTML(b->text), "</BODY>", 0);
+	if (display_options & OPT_DISP_IGNORE_COLOUR)
+		options ^= GTK_IMHTML_NO_COLOURS;
+	if (display_options & OPT_DISP_IGNORE_FONTS)
+		options ^= GTK_IMHTML_NO_FONTS;
+	options ^= GTK_IMHTML_NO_COMMENTS;
+	options ^= GTK_IMHTML_NO_TITLE;
+	options ^= GTK_IMHTML_NO_NEWLINE;
+	options ^= GTK_IMHTML_NO_SCROLL;
+	gtk_imhtml_append_text(GTK_IMHTML(b->text), info, options);
+	gtk_imhtml_append_text(GTK_IMHTML(b->text), "<BR>", 0);
 
 	gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0);
 }
Index: src/gaim.h
===================================================================
RCS file: /cvsroot/gaim/gaim/src/gaim.h,v
retrieving revision 1.183
diff -u -r1.183 gaim.h
--- src/gaim.h	2001/01/23 12:08:21	1.183
+++ src/gaim.h	2001/01/25 15:10:45
@@ -486,6 +486,7 @@
 #define OPT_DISP_CHAT_BUTTON_XPM  0x00100000
 #define OPT_DISP_SHOW_WARN        0x00200000
 #define OPT_DISP_IGNORE_FONTS     0x00400000
+#define OPT_DISP_IGNORE_SIZES     0x00800000
 
 extern int sound_options;
 #define OPT_SOUND_LOGIN          0x00000001
Index: src/prefs.c
===================================================================
RCS file: /cvsroot/gaim/gaim/src/prefs.c,v
retrieving revision 1.137
diff -u -r1.137 prefs.c
--- src/prefs.c	2001/01/16 02:20:08	1.137
+++ src/prefs.c	2001/01/25 15:10:46
@@ -251,9 +251,9 @@
 
 	gaim_button(_("Show graphical smileys"), &display_options, OPT_DISP_SHOW_SMILEY, box);
 	gaim_button(_("Show timestamp on messages"), &display_options, OPT_DISP_SHOW_TIME, box);
-	gaim_button(_("Ignore incoming colors"), &display_options, OPT_DISP_IGNORE_COLOUR, box);
-	gaim_button(_("Ignore incoming fonts"), &display_options, OPT_DISP_IGNORE_FONTS, box);
-	gaim_button(_("Ignore white backgrounds"), &display_options, OPT_DISP_IGN_WHITE, box);
+	gaim_button(_("Ignore colors"), &display_options, OPT_DISP_IGNORE_COLOUR, box);
+	gaim_button(_("Ignore font faces"), &display_options, OPT_DISP_IGNORE_FONTS, box);
+	gaim_button(_("Ignore font sizes"), &display_options, OPT_DISP_IGNORE_SIZES, box);
 
 	sep = gtk_hseparator_new();
 	gtk_box_pack_start(GTK_BOX(box), sep, FALSE, FALSE, 5);
@@ -2065,6 +2065,12 @@
 
 	if (blist && ((int)option == OPT_DISP_SHOW_BUTTON_XPM))
 		update_button_pix();
+
+	if ((int)option == OPT_DISP_SHOW_SMILEY)
+		toggle_smileys();
+
+	if ((int)option == OPT_DISP_SHOW_TIME)
+		toggle_timestamps();
 
 #ifdef USE_APPLET
 	update_pixmaps();
