aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog8
-rw-r--r--mail/em-folder-view.c22
-rw-r--r--mail/mail-ops.c5
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))