aboutsummaryrefslogtreecommitdiffstats
path: root/mail/folder-browser.c
diff options
context:
space:
mode:
authorJeffrey Stedfast <fejj@ximian.com>2001-10-10 06:01:49 +0800
committerJeffrey Stedfast <fejj@src.gnome.org>2001-10-10 06:01:49 +0800
commitcd28010b326d9f212759a4f4de6cd9b67ac4f0db (patch)
tree4bfd81b9b33e3c38f7ee6f1cc4ea2a291e89c9a2 /mail/folder-browser.c
parenta7282ea415c41d561245abfb988460a7a53c4cfb (diff)
downloadgsoc2013-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.c25
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);