guint action,
GtkWidget *widget);
+static void ignore_thread_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
+static void unignore_thread_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
+static void lock_msgs_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
+static void unlock_msgs_cb (MainWindow *mainwin,
+ guint action,
+ GtkWidget *widget);
+
static void reedit_cb (MainWindow *mainwin,
guint action,
GtkWidget *widget);
{N_("/_Message/_Mark/Mark as unr_ead"), "<shift>exclam", mark_as_unread_cb, 0, NULL},
{N_("/_Message/_Mark/Mark as rea_d"), NULL, mark_as_read_cb, 0, NULL},
{N_("/_Message/_Mark/Mark all _read"), NULL, mark_all_read_cb, 0, NULL},
+ {N_("/_Message/_Mark/Ignore thread"), NULL, ignore_thread_cb, 0, NULL},
+ {N_("/_Message/_Mark/Unignore thread"), NULL, unignore_thread_cb, 0, NULL},
{N_("/_Message/_Mark/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Message/_Mark/Mark as _spam"), NULL, mark_as_spam_cb, 1, NULL},
{N_("/_Message/_Mark/Mark as _ham"), NULL, mark_as_spam_cb, 0, NULL},
+ {N_("/_Message/_Mark/---"), NULL, NULL, 0, "<Separator>"},
+ {N_("/_Message/_Mark/Lock"), NULL, lock_msgs_cb, 0, NULL},
+ {N_("/_Message/_Mark/Unlock"), NULL, unlock_msgs_cb, 0, NULL},
{N_("/_Message/Color la_bel"), NULL, NULL, 0, NULL},
{N_("/_Message/---"), NULL, NULL, 0, "<Separator>"},
{N_("/_Message/Re-_edit"), NULL, reedit_cb, 0, NULL},
{"/Message/Mark" , M_TARGET_EXIST},
{"/Message/Mark/Mark as spam" , M_TARGET_EXIST|M_CAN_LEARN_SPAM},
{"/Message/Mark/Mark as ham" , M_TARGET_EXIST|M_CAN_LEARN_SPAM},
+ {"/Message/Mark/Ignore thread" , M_TARGET_EXIST},
+ {"/Message/Mark/Unignore thread" , M_TARGET_EXIST},
+ {"/Message/Mark/Lock" , M_TARGET_EXIST},
+ {"/Message/Mark/Unlock" , M_TARGET_EXIST},
{"/Message/Color label" , M_TARGET_EXIST},
{"/Message/Re-edit" , M_HAVE_ACCOUNT|M_ALLOW_REEDIT},
summary_mark_as_spam(mainwin->summaryview, action, NULL);
}
+static void ignore_thread_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ summary_ignore_thread(mainwin->summaryview);
+}
+
+static void unignore_thread_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ summary_unignore_thread(mainwin->summaryview);
+}
+
+static void lock_msgs_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ summary_msgs_lock(mainwin->summaryview);
+}
+
+static void unlock_msgs_cb(MainWindow *mainwin, guint action,
+ GtkWidget *widget)
+{
+ summary_msgs_unlock(mainwin->summaryview);
+}
+
+
static void reedit_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
{
summary_reedit(mainwin->summaryview);
gpointer data);
static void summary_thread_init (SummaryView *summaryview);
-static void summary_ignore_thread (SummaryView *summaryview);
-static void summary_unignore_thread (SummaryView *summaryview);
static void summary_unthread_for_exec (SummaryView *summaryview);
static void summary_unthread_for_exec_func (GtkCTree *ctree,
{"/Mark/Mark as unread" , M_TARGET_EXIST},
{"/Mark/Mark all read" , M_TARGET_EXIST},
{"/Mark/Ignore thread" , M_TARGET_EXIST},
+ {"/Mark/Unignore thread" , M_TARGET_EXIST},
{"/Mark/Lock" , M_TARGET_EXIST},
{"/Mark/Unlock" , M_TARGET_EXIST},
{"/Mark/Mark as spam" , M_TARGET_EXIST|M_CAN_LEARN_SPAM},
msginfo->msgnum);
}
-static void summary_ignore_thread(SummaryView *summaryview)
+void summary_ignore_thread(SummaryView *summaryview)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
GList *cur;
msginfo->msgnum);
}
-static void summary_unignore_thread(SummaryView *summaryview)
+void summary_unignore_thread(SummaryView *summaryview)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
GList *cur;