aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-07-31 01:07:50 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-07-31 01:07:50 +0000
commitd05b31d4cd4d0f2ed611b0728f21ab17b8aa5e51 (patch)
treefb665202d9ab93e84eb542d721201e1306ebf694
parent5f83a4acbbb541dd9077b35eb63a8cda03848201 (diff)
modified folder context menu on receiving.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1106 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog7
-rw-r--r--libsylph/procmsg.c7
-rw-r--r--src/folderview.c15
3 files changed, 28 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 318d8af8..24ec049b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-07-31
+
+ * src/folderview.c: folderview_menu_popup(): enable some menu items
+ on receiving.
+ * libsylph/procmsg_empty_trash(): check whether the folder is really
+ trash.
+
2006-07-28
* src/rfc2015.c: sig_status_for_key(): check the error of
diff --git a/libsylph/procmsg.c b/libsylph/procmsg.c
index 4cb56811..e212a7cd 100644
--- a/libsylph/procmsg.c
+++ b/libsylph/procmsg.c
@@ -1238,7 +1238,12 @@ gboolean procmsg_trash_messages_exist(void)
void procmsg_empty_trash(FolderItem *trash)
{
- if (trash && trash->total > 0) {
+ if (!trash)
+ return;
+
+ g_return_if_fail(trash->stype == F_TRASH);
+
+ if (trash->total > 0) {
debug_print("Emptying messages in %s ...\n", trash->path);
folder_item_remove_all_msg(trash);
diff --git a/src/folderview.c b/src/folderview.c
index 801a71b1..db6608b1 100644
--- a/src/folderview.c
+++ b/src/folderview.c
@@ -1659,6 +1659,21 @@ static gboolean folderview_menu_popup(FolderView *folderview,
item->stype != F_VIRTUAL)
download_msg = TRUE;
}
+ } else {
+ search_folder = TRUE;
+ if (item->parent) {
+ if (FOLDER_TYPE(folder) != F_IMAP)
+ mark_all_read = TRUE;
+ if (gtkut_tree_row_reference_equal
+ (folderview->selected, folderview->opened)) {
+ update_summary = TRUE;
+ mark_all_read = TRUE;
+ }
+ if (item->stype == F_TRASH) {
+ if (item->total > 0)
+ empty_trash = TRUE;
+ }
+ }
}
#define SET_SENS(factory, name, sens) \