# HG changeset patch # User Sean Egan # Date 1110221932 0 # Node ID b39d5850883af64e5b61e8d6c9cb3ec87c4b9043 # Parent 4829abdc5c35a188a9f9fae41515bbb26e56969a [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 diff -r 4829abdc5c35 -r b39d5850883a COPYRIGHT --- 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 diff -r 4829abdc5c35 -r b39d5850883a ChangeLog --- 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. diff -r 4829abdc5c35 -r b39d5850883a src/gtkconv.c --- 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), diff -r 4829abdc5c35 -r b39d5850883a src/gtkimhtml.c --- 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); }