diff options
author | Jeffrey Stedfast <fejj@ximian.com> | 2001-10-10 06:01:49 +0800 |
---|---|---|
committer | Jeffrey Stedfast <fejj@src.gnome.org> | 2001-10-10 06:01:49 +0800 |
commit | cd28010b326d9f212759a4f4de6cd9b67ac4f0db (patch) | |
tree | 4bfd81b9b33e3c38f7ee6f1cc4ea2a291e89c9a2 /mail/folder-browser.c | |
parent | a7282ea415c41d561245abfb988460a7a53c4cfb (diff) | |
download | gsoc2013-evolution-cd28010b326d9f212759a4f4de6cd9b67ac4f0db.tar.gz gsoc2013-evolution-cd28010b326d9f212759a4f4de6cd9b67ac4f0db.tar.zst gsoc2013-evolution-cd28010b326d9f212759a4f4de6cd9b67ac4f0db.zip |
Create a chaqrset picker submenu in the View menu.
2001-10-09 Jeffrey Stedfast <fejj@ximian.com>
* folder-browser-ui.c (folder_browser_ui_add_message): Create a
chaqrset picker submenu in the View menu.
* mail-format.c (mail_format_raw_message): Pass the mail-display
to get_data_wrapper_text.
(get_data_wrapper_text): Use the user's override charset if one is
provided, otherwise user the user's default charset.
(handle_text_plain): Pass along the mail-display to
get_data_wrapper_text.
(handle_application_pgp): Same.
(handle_text_enriched): Here too.
(mail_get_message_body): Pass NULL as the mail-display to
get_data_wrapper_text since we don't have access to a
mail-display.
* mail-display.c (mail_display_set_charset): New function to set a
charset on the maildisplay. Once set, the message is redisplayed
using the new charset.
(mail_display_destroy): Free the charset.
* folder-browser.c (folder_browser_charset_changed): New callback
for when a user overrides the message charset.
svn path=/trunk/; revision=13530
Diffstat (limited to 'mail/folder-browser.c')
-rw-r--r-- | mail/folder-browser.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/mail/folder-browser.c b/mail/folder-browser.c index c435b3c281..126ec20a01 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -138,7 +138,7 @@ folder_browser_finalise (GtkObject *object) g_free (folder_browser->uri); folder_browser->uri = NULL; - + if (folder_browser->folder) { camel_object_unhook_event(CAMEL_OBJECT(folder_browser->folder), "folder_changed", folder_changed, folder_browser); @@ -1172,6 +1172,29 @@ folder_browser_set_message_display_style (BonoboUIComponent *component } void +folder_browser_charset_changed (BonoboUIComponent *component, + const char *path, + Bonobo_UIComponent_EventType type, + const char *state, + gpointer user_data) +{ + FolderBrowser *fb = FOLDER_BROWSER (user_data); + const char *charset; + + if (type != Bonobo_UIComponent_STATE_CHANGED) + return; + + if (atoi (state)) { + /* Charset menu names are "Charset-%s" where %s is the charset name */ + charset = path + strlen ("Charset-"); + if (!strcmp (charset, FB_DEFAULT_CHARSET)) + charset = NULL; + + mail_display_set_charset (fb->mail_display, charset); + } +} + +void vfolder_subject (GtkWidget *w, FolderBrowser *fb) { vfolder_gui_add_from_message (fb->mail_display->current_message, AUTO_SUBJECT, fb->uri); |