From b61b14b324f367bbd43ab27c16b5bcb88aa2a8c4 Mon Sep 17 00:00:00 2001 From: Jeffrey Stedfast Date: Tue, 24 Apr 2001 20:56:56 +0000 Subject: Added a new signal, "message_loaded" that gets emitted when the message 2001-04-24 Jeffrey Stedfast * folder-browser.c: Added a new signal, "message_loaded" that gets emitted when the message has been loaded and set on the mail_display. (folder_browser_class_init): Define the "message_loaded" signal stuff. (done_message_selected): Emit the "message_loaded" signal here. * message-browser.c (message_browser_next_msg): Do our own message-list manipulation. We want the next message, not the next unread message. (message_browser_prev_msg): Same here but for previous. (message_browser_new): Connect to the folder browser's "message_loaded" signal. (message_browser_folder_loaded): Don't connect to the message-list's "message_selected" signal. (message_browser_message_loaded): Nw callback which replaces the old message_browser_message_selected callback's functionality. svn path=/trunk/; revision=9551 --- mail/folder-browser.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'mail/folder-browser.c') diff --git a/mail/folder-browser.c b/mail/folder-browser.c index 1bbd3dce0c..6bbb672ea5 100644 --- a/mail/folder-browser.c +++ b/mail/folder-browser.c @@ -54,6 +54,7 @@ static GtkObjectClass *folder_browser_parent_class; enum { FOLDER_LOADED, + MESSAGE_LOADED, LAST_SIGNAL }; @@ -108,6 +109,14 @@ folder_browser_class_init (GtkObjectClass *object_class) gtk_marshal_NONE__STRING, GTK_TYPE_NONE, 1, GTK_TYPE_STRING); + folder_browser_signals[MESSAGE_LOADED] = + gtk_signal_new ("message_loaded", + GTK_RUN_LAST, + object_class->type, + GTK_SIGNAL_OFFSET (FolderBrowserClass, message_loaded), + gtk_marshal_NONE__STRING, + GTK_TYPE_NONE, 1, GTK_TYPE_STRING); + gtk_object_class_add_signals (object_class, folder_browser_signals, LAST_SIGNAL); } @@ -958,9 +967,11 @@ static void done_message_selected(CamelFolder *folder, char *uid, CamelMimeMessa if (folder != fb->folder) return; - - mail_display_set_message(fb->mail_display, (CamelMedium *)msg); - + + mail_display_set_message (fb->mail_display, (CamelMedium *)msg); + /* FIXME: should this signal be emitted here?? */ + gtk_signal_emit (GTK_OBJECT (fb), folder_browser_signals [MESSAGE_LOADED], uid); + /* pain, if we have pending stuff, re-run */ if (fb->pending_uid) { g_free(fb->loading_uid); -- cgit v1.2.3