[evolution/webkit: 98/154] Fix displaying and toggling default mail headers
- From: Dan VrÃtil <dvratil src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution/webkit: 98/154] Fix displaying and toggling default mail headers
- Date: Tue, 14 Feb 2012 14:09:51 +0000 (UTC)
commit dc948797fe1db5ae37b4f0a49ce1cd700bc91ce8
Author: Dan VrÃtil <dvratil redhat com>
Date: Wed Jan 4 17:05:55 2012 +0100
Fix displaying and toggling default mail headers
Resolves a FIXME and some build-time warnings
mail/e-mail-browser.c | 2 --
mail/e-mail-paned-view.c | 2 --
mail/e-mail-reader-utils.c | 36 +++++++++++++-----------------------
mail/e-mail-reader-utils.h | 3 ++-
mail/e-mail-reader.c | 2 ++
5 files changed, 17 insertions(+), 28 deletions(-)
---
diff --git a/mail/e-mail-browser.c b/mail/e-mail-browser.c
index 9024248..5ba2eab 100644
--- a/mail/e-mail-browser.c
+++ b/mail/e-mail-browser.c
@@ -708,8 +708,6 @@ mail_browser_constructed (GObject *object)
e_plugin_ui_register_manager (ui_manager, id, object);
e_plugin_ui_enable_manager (ui_manager, id);
- e_mail_reader_connect_headers (E_MAIL_READER (reader));
-
e_extensible_load_extensions (E_EXTENSIBLE (object));
}
diff --git a/mail/e-mail-paned-view.c b/mail/e-mail-paned-view.c
index 02c4f35..7f3773b 100644
--- a/mail/e-mail-paned-view.c
+++ b/mail/e-mail-paned-view.c
@@ -732,8 +732,6 @@ mail_paned_view_constructed (GObject *object)
G_CALLBACK (mail_paned_view_restore_state_cb),
object);
- e_mail_reader_connect_headers (reader);
-
/* Do this after creating the message list. Our
* set_preview_visible() method relies on it. */
e_mail_view_set_preview_visible (view, TRUE);
diff --git a/mail/e-mail-reader-utils.c b/mail/e-mail-reader-utils.c
index 479ca62..bf1b8f8 100644
--- a/mail/e-mail-reader-utils.c
+++ b/mail/e-mail-reader-utils.c
@@ -1373,26 +1373,18 @@ static void
headers_changed_cb (GConfClient *client,
guint cnxn_id,
GConfEntry *entry,
- EMailReader *reader)
+ EMFormat *emf)
{
- EMailDisplay *display;
- EMFormatHTML *formatter;
GSList *header_config_list, *p;
g_return_if_fail (client != NULL);
- g_return_if_fail (reader != NULL);
-
- display = e_mail_reader_get_mail_display (reader);
- formatter = e_mail_display_get_formatter (display);
-
- if (!formatter)
- return;
+ g_return_if_fail (EM_IS_FORMAT (emf));
header_config_list = gconf_client_get_list (
client, "/apps/evolution/mail/display/headers",
GCONF_VALUE_STRING, NULL);
- /* FIXME WEBKIT
- em_format_clear_headers (EM_FORMAT (formatter));
+
+ em_format_clear_headers (emf);
for (p = header_config_list; p; p = g_slist_next (p)) {
EMailReaderHeader *h;
gchar *xml = (gchar *) p->data;
@@ -1400,23 +1392,20 @@ headers_changed_cb (GConfClient *client,
h = e_mail_reader_header_from_xml (xml);
if (h && h->enabled)
em_format_add_header (
- EM_FORMAT (formatter),
- h->name, EM_FORMAT_HEADER_BOLD);
+ emf, h->name, NULL, EM_FORMAT_HEADER_BOLD);
e_mail_reader_header_free (h);
}
if (!header_config_list)
- em_format_default_headers (EM_FORMAT (formatter));
+ em_format_default_headers (emf);
g_slist_foreach (header_config_list, (GFunc) g_free, NULL);
g_slist_free (header_config_list);
- */
/* force a redraw */
- if (EM_FORMAT (formatter)->message) {
- e_mail_display_reload (display);
- }
+ if (emf->message)
+ em_format_redraw (emf);
}
static void
@@ -1442,7 +1431,8 @@ remove_header_notify_cb (gpointer data)
* updates the EMFormat whenever it changes and on this call too.
**/
void
-e_mail_reader_connect_headers (EMailReader *reader)
+e_mail_reader_connect_headers (EMailReader *reader,
+ EMFormat *emf)
{
GConfClient *client;
guint notify_id;
@@ -1455,13 +1445,13 @@ e_mail_reader_connect_headers (EMailReader *reader)
notify_id = gconf_client_notify_add (
client, "/apps/evolution/mail/display/headers",
(GConfClientNotifyFunc) headers_changed_cb,
- reader, NULL, NULL);
+ emf, NULL, NULL);
g_object_set_data_full (
- G_OBJECT (reader), "reader-header-notify-id",
+ G_OBJECT (emf), "reader-header-notify-id",
GINT_TO_POINTER (notify_id), remove_header_notify_cb);
- headers_changed_cb (client, 0, NULL, reader);
+ headers_changed_cb (client, 0, NULL, emf);
g_object_unref (client);
}
diff --git a/mail/e-mail-reader-utils.h b/mail/e-mail-reader-utils.h
index bb4671b..6913d09 100644
--- a/mail/e-mail-reader-utils.h
+++ b/mail/e-mail-reader-utils.h
@@ -67,7 +67,8 @@ EMailReaderHeader *
gchar * e_mail_reader_header_to_xml (EMailReaderHeader *header);
void e_mail_reader_header_free (EMailReaderHeader *header);
-void e_mail_reader_connect_headers (EMailReader *reader);
+void e_mail_reader_connect_headers (EMailReader *reader,
+ EMFormat *emf);
G_END_DECLS
diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c
index 1712f68..7b28b23 100644
--- a/mail/e-mail-reader.c
+++ b/mail/e-mail-reader.c
@@ -3009,6 +3009,8 @@ mail_reader_message_loaded (EMailReader *reader,
EM_FORMAT (formatter)->message_uid = g_strdup (message_uid);
EM_FORMAT (formatter)->uri_base = g_strdup (mail_uri);
+ e_mail_reader_connect_headers (reader, EM_FORMAT (formatter));
+
/* FIXME WEBKIT Not passing GCancellable */
em_format_parse_async (EM_FORMAT (formatter), message, folder,
NULL, format_parser_async_done_cb, reader);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]