diff options
-rw-r--r-- | mail/ChangeLog | 8 | ||||
-rw-r--r-- | mail/em-folder-view.c | 22 | ||||
-rw-r--r-- | mail/mail-ops.c | 5 |
3 files changed, 19 insertions, 16 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog index e5dbd93f3b..385d416c00 100644 --- a/mail/ChangeLog +++ b/mail/ChangeLog @@ -1,5 +1,13 @@ 2004-02-24 Jeffrey Stedfast <fejj@ximian.com> + * em-folder-view.c (emfv_popup_mark_junk): Set the SEEN flag as + well. + (emfv_list_key_press): Removed the skip-to-next-message logic as + this was already being handled in emfv_popup_delete(). Fixes bug + #54471. + (emfv_enable_menus): Re-enable MessageDelete here. Fixes bug + #54770. + * em-utils.c (em_utils_folder_is_drafts): Use the new camel_store_folder_uri_equal() function. (em_utils_folder_is_sent): Same. diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c index 9ba2172470..341b346bef 100644 --- a/mail/em-folder-view.c +++ b/mail/em-folder-view.c @@ -570,10 +570,10 @@ emfv_popup_mark_junk (GtkWidget *w, EMFolderView *emfv) for (i=0; i<uids->len; i++) { char *uid = uids->pdata[i]; - + if (camel_folder_set_message_flags(emfv->folder, uid, - CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_JUNK, - CAMEL_MESSAGE_JUNK)) { + CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_JUNK, + CAMEL_MESSAGE_SEEN|CAMEL_MESSAGE_DELETED|CAMEL_MESSAGE_JUNK)) { g_ptr_array_add(uidsjunk, g_strdup(uid)); } } @@ -1496,6 +1496,11 @@ emfv_enable_menus(EMFolderView *emfv) t = em_folder_view_get_popup_target(emfv); disable_mask = t->mask; em_popup_target_free(t); + + /* always allow deleting of already-deleted messages + * from the main menus/toolbar */ + if (!emfv->hide_deleted) + disable_mask &= ~EM_POPUP_SELECT_DELETE; } else { disable_mask = ~0; } @@ -1693,7 +1698,7 @@ em_folder_view_get_popup_target(EMFolderView *emfv) if (message_list_hidden(emfv->list) != 0) t->mask &= ~EM_FOLDER_VIEW_SELECT_HIDDEN; - + return t; } @@ -1830,16 +1835,7 @@ emfv_list_key_press(ETree *tree, int row, ETreePath path, int col, GdkEvent *ev, break; case GDK_Delete: case GDK_KP_Delete: - uids = message_list_get_selected(emfv->list); - for (i = 0; i < uids->len; i++) { - if ((camel_folder_get_message_flags(emfv->folder, uids->pdata[i]) & CAMEL_MESSAGE_DELETED) == 0) - break; - } - message_list_free_uids(emfv->list, uids); emfv_popup_delete (NULL, emfv); - - if (!message_list_select (emfv->list, MESSAGE_LIST_SELECT_NEXT, 0, 0, FALSE) && emfv->hide_deleted) - message_list_select (emfv->list, MESSAGE_LIST_SELECT_PREVIOUS, 0, 0, FALSE); break; case GDK_Menu: /* FIXME: location of popup */ diff --git a/mail/mail-ops.c b/mail/mail-ops.c index 9d7a273772..91f068c664 100644 --- a/mail/mail-ops.c +++ b/mail/mail-ops.c @@ -709,7 +709,6 @@ static void send_queue_send(struct _mail_msg *mm) { struct _send_queue_msg *m = (struct _send_queue_msg *)mm; - /* FIXME (what is this fixme for?) */ CamelFolder *sent_folder = mail_component_get_folder(NULL, MAIL_COMPONENT_FOLDER_SENT); GPtrArray *uids; int i; @@ -752,10 +751,10 @@ send_queue_send(struct _mail_msg *mm) report_status (m, CAMEL_FILTER_STATUS_END, 100, _("Complete.")); if (m->driver) { - camel_object_unref((CamelObject *)m->driver); + camel_object_unref (m->driver); m->driver = NULL; } - + camel_folder_free_uids (m->queue, uids); if (!camel_exception_is_set (&mm->ex)) |