static void summary_add_address_cb (SummaryView *summaryview,
guint action,
GtkWidget *widget);
+static void summary_create_filter_cb (SummaryView *summaryview,
+ guint action,
+ GtkWidget *widget);
static void summary_mark_clicked (GtkWidget *button,
SummaryView *summaryview);
{N_("/---"), NULL, NULL, 0, "<Separator>"},
{N_("/Add sender to address boo_k"),
NULL, summary_add_address_cb, 0, NULL},
+ {N_("/Create f_ilter rule"), NULL, NULL, 0, "<Branch>"},
+ {N_("/Create f_ilter rule/_Automatically"),
+ NULL, summary_create_filter_cb, FILTER_BY_AUTO, NULL},
+ {N_("/Create f_ilter rule/by _From"),
+ NULL, summary_create_filter_cb, FILTER_BY_FROM, NULL},
+ {N_("/Create f_ilter rule/by _To"),
+ NULL, summary_create_filter_cb, FILTER_BY_TO, NULL},
+ {N_("/Create f_ilter rule/by _Subject"),
+ NULL, summary_create_filter_cb, FILTER_BY_SUBJECT, NULL},
{N_("/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_View"), NULL, NULL, 0, "<Branch>"},
{N_("/_View/Open in new _window"),
menu_set_sensitive(ifactory, "/Bounce", TRUE);
menu_set_sensitive(ifactory, "/Add sender to address book", sens);
+ menu_set_sensitive(ifactory, "/Create filter rule", sens);
menu_set_sensitive(ifactory, "/View", sens);
menu_set_sensitive(ifactory, "/View/Open in new window", sens);
gint ver = CACHE_VERSION;
gchar *buf;
gchar *cachefile, *markfile;
- GSList * cur;
+ GSList *cur;
gint filemode = 0;
PrefsFolderItem *prefs;
gtk_ctree_pre_recursive(ctree, NULL, summary_write_cache_func, &fps);
+ for (cur = summaryview->killed_messages; cur != NULL; cur = cur->next) {
+ MsgInfo *msginfo = (MsgInfo *)cur->data;
+ procmsg_write_cache(msginfo, fps.cache_fp);
+ procmsg_write_flags(msginfo, fps.mark_fp);
+ }
+
procmsg_flush_mark_queue(summaryview->folder_item, fps.mark_fp);
fclose(fps.cache_fp);
if (prefs_common.use_addr_book) {
Xstrdup_a(addr, msginfo->from, return);
extract_address(addr);
- }
if (account_find_from_address(addr)) {
addr = summary_complete_address(msginfo->to);
g_free(to);
to = g_strconcat("-->", addr == NULL ? msginfo->to : addr, NULL);
text[col_pos[S_COL_FROM]] = to;
+ }
}
}
msginfo = GTKUT_CTREE_NODE_GET_ROW_DATA(node);
if (msginfo && MSG_IS_MOVE(msginfo->flags) && msginfo->to_folder) {
+ if (!prefs_common.immediate_exec &&
+ msginfo->to_folder->op_count > 0)
+ msginfo->to_folder->op_count--;
+
g_hash_table_insert(summaryview->folder_table,
msginfo->to_folder, GINT_TO_POINTER(1));
msginfo = GTKUT_CTREE_NODE_GET_ROW_DATA(node);
if (msginfo && MSG_IS_COPY(msginfo->flags) && msginfo->to_folder) {
+ if (!prefs_common.immediate_exec &&
+ msginfo->to_folder->op_count > 0)
+ msginfo->to_folder->op_count--;
+
g_hash_table_insert(summaryview->folder_table,
msginfo->to_folder, GINT_TO_POINTER(1));
summary_add_address(summaryview);
}
+static void summary_create_filter_cb(SummaryView *summaryview,
+ guint action, GtkWidget *widget)
+{
+ summary_filter_open(summaryview, (PrefsFilterType)action);
+}
+
static void summary_mark_clicked(GtkWidget *button, SummaryView *summaryview)
{
summary_sort(summaryview, SORT_BY_MARK);