Force-hide all deleted messages before expunging. (expunged_folder):
2001-07-12 Jeffrey Stedfast <fejj@ximian.com> * mail-callbacks.c (expunge_folder): Force-hide all deleted messages before expunging. (expunged_folder): Restore the user's "hide deleted messages" preference. svn path=/trunk/; revision=11056
This commit is contained in:

committed by
Jeffrey Stedfast

parent
459023a2b9
commit
d1a65232c9
@ -1,3 +1,10 @@
|
||||
2001-07-12 Jeffrey Stedfast <fejj@ximian.com>
|
||||
|
||||
* mail-callbacks.c (expunge_folder): Force-hide all deleted
|
||||
messages before expunging.
|
||||
(expunged_folder): Restore the user's "hide deleted messages"
|
||||
preference.
|
||||
|
||||
2001-07-12 Jason Leach <jleach@ximian.com>
|
||||
|
||||
* mail-callbacks.c (expunge_folder): Only blank the mail display
|
||||
@ -18,9 +25,9 @@
|
||||
|
||||
2001-07-10 Federico Mena Quintero <federico@ximian.com>
|
||||
|
||||
* mail-display.c (link_copy_location): Set the CLIPBOARD
|
||||
selection as well as the primary selection so that Edit/Paste will
|
||||
work in other programs (e.g. Netscape).
|
||||
* mail-display.c (link_copy_location): Set the CLIPBOARD selection
|
||||
as well as the primary selection so that Edit/Paste will work in
|
||||
other programs (e.g. Netscape).
|
||||
(mail_display_new): Add the target for the CLIPBOARD selection.
|
||||
|
||||
2001-07-10 Jason Leach <jleach@ximian.com>
|
||||
@ -48,20 +55,23 @@
|
||||
|
||||
2001-07-10 Peter Williams <peterw@ximian.com>
|
||||
|
||||
* mail-format.c (attachment_header): Took the logic of whether or not
|
||||
to make the attachment header out of the actual function.
|
||||
(mail_part_is_displayed_inline): Return if the part is being displayed
|
||||
inline (regardless of whether it is actually inline).
|
||||
(mail_part_toggle_displayed): Toggle whether it's displayed inline or not.
|
||||
(get_inline_flags): Determine whether the part is displayed inline and whether
|
||||
it is actually inline.
|
||||
(mail_format_mime_message): Initialize the attachment_status hash table.
|
||||
* mail-format.c (attachment_header): Took the logic of whether or
|
||||
not to make the attachment header out of the actual function.
|
||||
(mail_part_is_displayed_inline): Return if the part is being
|
||||
displayed inline (regardless of whether it is actually inline).
|
||||
(mail_part_toggle_displayed): Toggle whether it's displayed inline
|
||||
or not.
|
||||
(get_inline_flags): Determine whether the part is displayed inline
|
||||
and whether it is actually inline.
|
||||
(mail_format_mime_message): Initialize the attachment_status hash
|
||||
table.
|
||||
|
||||
* mail-display.c (inline_cb): Instead of modifying the CamelMimePart,
|
||||
use mail_part_toggle_displayed
|
||||
* mail-display.c (inline_cb): Instead of modifying the
|
||||
CamelMimePart, use mail_part_toggle_displayed
|
||||
(button_press): As above.
|
||||
(pixmap_press): Use mail_part_is_displayed_inline instead of
|
||||
mail_part_is_inline. Get the MailDisplay from the popup to do this.
|
||||
mail_part_is_inline. Get the MailDisplay from the popup to do
|
||||
this.
|
||||
|
||||
* mail.h: Add prototypes.
|
||||
|
||||
|
@ -1618,32 +1618,47 @@ previous_flagged_msg (GtkWidget *button, gpointer user_data)
|
||||
CAMEL_MESSAGE_FLAGGED, CAMEL_MESSAGE_FLAGGED);
|
||||
}
|
||||
|
||||
struct _expunged_folder_data {
|
||||
FolderBrowser *fb;
|
||||
gboolean hidedeleted;
|
||||
};
|
||||
|
||||
static void
|
||||
expunged_folder (CamelFolder *f, void *data)
|
||||
{
|
||||
FolderBrowser *fb = data;
|
||||
|
||||
FolderBrowser *fb = ((struct _expunged_folder_data *) data)->fb;
|
||||
gboolean hidedeleted = ((struct _expunged_folder_data *) data)->hidedeleted;
|
||||
|
||||
fb->expunging = NULL;
|
||||
message_list_set_hidedeleted (fb->message_list, hidedeleted);
|
||||
|
||||
g_free (data);
|
||||
}
|
||||
|
||||
void
|
||||
expunge_folder (BonoboUIComponent *uih, void *user_data, const char *path)
|
||||
{
|
||||
FolderBrowser *fb = FOLDER_BROWSER(user_data);
|
||||
|
||||
if (fb->folder
|
||||
&& (fb->expunging == NULL
|
||||
|| fb->folder != fb->expunging)) {
|
||||
FolderBrowser *fb = FOLDER_BROWSER (user_data);
|
||||
|
||||
if (fb->folder && (fb->expunging == NULL || fb->folder != fb->expunging)) {
|
||||
struct _expunged_folder_data *data;
|
||||
CamelMessageInfo *info;
|
||||
|
||||
|
||||
data = g_malloc (sizeof (*data));
|
||||
data->fb = fb;
|
||||
data->hidedeleted = fb->message_list->hidedeleted;
|
||||
|
||||
/* hide the deleted messages so user can't click on them while we expunge */
|
||||
message_list_set_hidedeleted (fb->message_list, TRUE);
|
||||
|
||||
/* Only blank the mail display if the message being
|
||||
viewed is one of those to be expunged */
|
||||
info = camel_folder_get_message_info (fb->folder, fb->loaded_uid);
|
||||
if (info->flags & CAMEL_MESSAGE_DELETED)
|
||||
mail_display_set_message (fb->mail_display, NULL);
|
||||
|
||||
|
||||
fb->expunging = fb->folder;
|
||||
mail_expunge_folder(fb->folder, expunged_folder, fb);
|
||||
mail_expunge_folder (fb->folder, expunged_folder, data);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user