From 573ea91f0c6dc6de73884bbf1a4b039975fcacda Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 8 Aug 2000 02:08:44 +0000 Subject: Added mail-view.c 2000-08-07 Jeffrey Stedfast * Makefile.am: Added mail-view.c * folder-browser-factory.c (control_activate): Adda menu item for viewing the message * mail-view.c: New file containing methods for viewing messages in separate windows * mail-ops.c (view_message): New callback for viewing messages in a new window. svn path=/trunk/; revision=4588 --- mail/mail-ops.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'mail/mail-ops.c') diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 41211d20ea..768856a6f3 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -1028,3 +1028,47 @@ print_msg (GtkWidget *button, gpointer user_data) gtk_object_unref (GTK_OBJECT (print_master)); } + +struct view_msg_data { + FolderBrowser *fb; + CamelException *ex; +}; + +static void +real_view_msg (MessageList *ml, const char *uid, gpointer user_data) +{ + struct view_msg_data *data = user_data; + CamelMimeMessage *msg; + GtkWidget *view; + + if (camel_exception_is_set (data->ex)) + return; + + msg = camel_folder_get_message (ml->folder, uid, data->ex); + + view = mail_view_create (msg, data->fb); + + gtk_widget_show (view); +} + +void +view_message (BonoboUIHandler *uih, void *user_data, const char *path) +{ + struct view_msg_data data; + FolderBrowser *fb = user_data; + CamelException ex; + MessageList *ml; + + camel_exception_init (&ex); + + data.fb = fb; + data.ex = &ex; + + ml = fb->message_list; + message_list_foreach (ml, real_view_msg, &data); + if (camel_exception_is_set (&ex)) { + mail_exception_dialog ("Could not open message for viewing", &ex, fb); + camel_exception_clear (&ex); + return; + } +} -- cgit v1.2.3