changeset 10666:b39d5850883a

[gaim-migrate @ 12206] Igor Belyi thinks the correct way to maintain persistent formatting is to let default formatting override it. I'm not sure if I agree yet, but I'll try it out. Also, this increases the need for HTML pastes into the conversation to end all their tags at the end of the paste. I think I did this with the gtkimhtml.c change, but I'm not positive. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Mon, 07 Mar 2005 18:58:52 +0000
parents 4829abdc5c35
children 51ea57c36056
files COPYRIGHT ChangeLog src/gtkconv.c src/gtkimhtml.c
diffstat 4 files changed, 9 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Mon Mar 07 18:36:34 2005 +0000
+++ b/COPYRIGHT	Mon Mar 07 18:58:52 2005 +0000
@@ -12,6 +12,7 @@
 Derek Battams
 Curtis Beattie
 Dave Bell
+Igor Belyi
 Brian Bernas
 Jonas Birmé
 Eric Blade
--- a/ChangeLog	Mon Mar 07 18:36:34 2005 +0000
+++ b/ChangeLog	Mon Mar 07 18:58:52 2005 +0000
@@ -27,6 +27,7 @@
 	  setting (Ettore Simone)
 	* Log viewer aggregates logs from the same "Person," (contact, meta-
 	  contact, whatever) (Richard Laager)
+	* Message formatting persists between messages (Igor Belyi)
 
 	Bug fixes:
 	* People using input methods can now use Enter again.
--- a/src/gtkconv.c	Mon Mar 07 18:36:34 2005 +0000
+++ b/src/gtkconv.c	Mon Mar 07 18:58:52 2005 +0000
@@ -199,7 +199,7 @@
 default_formatize(GaimConversation *conv)
 {
 	GaimGtkConversation *c = GAIM_GTK_CONVERSATION(conv);
-
+		
 	if (conv->features & GAIM_CONNECTION_HTML)
 	{
 		if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_formatting"))
@@ -207,13 +207,13 @@
 			char *color;
 			GdkColor fg_color, bg_color;
 
-			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_bold"))
+			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_bold") != GTK_IMHTML(c->entry)->edit.bold)
 				gtk_imhtml_toggle_bold(GTK_IMHTML(c->entry));
 
-			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_italic"))
+			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_italic") != GTK_IMHTML(c->entry)->edit.italic)
 				gtk_imhtml_toggle_italic(GTK_IMHTML(c->entry));
 
-			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_underline"))
+			if (gaim_prefs_get_bool("/gaim/gtk/conversations/send_underline") != GTK_IMHTML(c->entry)->edit.underline)
 				gtk_imhtml_toggle_underline(GTK_IMHTML(c->entry));
 
 			gtk_imhtml_toggle_fontface(GTK_IMHTML(c->entry),
--- a/src/gtkimhtml.c	Mon Mar 07 18:36:34 2005 +0000
+++ b/src/gtkimhtml.c	Mon Mar 07 18:58:52 2005 +0000
@@ -704,7 +704,9 @@
 		gtk_imhtml_close_tags(imhtml, &iter);
 
 	gtk_imhtml_insert_html_at_iter(imhtml, text, flags, &iter);
-	gtk_text_buffer_move_mark_by_name(imhtml->text_buffer, "insert", &iter);
+        if (!imhtml->wbfo && !plaintext)
+                  gtk_imhtml_close_tags(imhtml, &iter);
+  	gtk_text_buffer_move_mark_by_name(imhtml->text_buffer, "insert", &iter);
 	gtk_text_view_scroll_to_mark(GTK_TEXT_VIEW(imhtml), gtk_text_buffer_get_insert(imhtml->text_buffer),
 	                             0, FALSE, 0.0, 0.0);
 }
@@ -2709,9 +2711,6 @@
 	g_list_free(imhtml->scalables);
 	imhtml->scalables = NULL;
 
-	gtk_imhtml_close_tags(imhtml, &start);
-
-	g_signal_emit(object, signals[CLEAR_FORMAT], 0);
 	g_object_unref(object);
 }