+2006-09-02 [colin] 2.4.0cvs129
+
+ * src/folder.c
+ Make sure account-specific rules can't
+ be used in {pre-,post-,}processing
+ * src/mainwindow.c
+ * src/gtk/logwindow.c
+ * src/gtk/logwindow.h
+ Jump to last error when clicking on the
+ warning icon
+
2006-09-02 [colin] 2.4.0cvs128
* src/imap.c
( cvs diff -u -r 1.1.2.5 -r 1.1.2.6 manual/fr/account.xml; ) > 2.4.0cvs126.patchset
( cvs diff -u -r 1.17.2.26 -r 1.17.2.27 src/alertpanel.c; cvs diff -u -r 1.65.2.48 -r 1.65.2.49 src/codeconv.c; cvs diff -u -r 1.149.2.56 -r 1.149.2.57 src/inc.c; cvs diff -u -r 1.274.2.142 -r 1.274.2.143 src/mainwindow.c; cvs diff -u -r 1.39.2.21 -r 1.39.2.22 src/mainwindow.h; cvs diff -u -r 1.1.4.48 -r 1.1.4.49 src/etpan/imap-thread.c; cvs diff -u -r 1.1.4.17 -r 1.1.4.18 src/gtk/logwindow.c; cvs diff -u -r 1.1.4.4 -r 1.1.4.5 src/gtk/logwindow.h; ) > 2.4.0cvs127.patchset
( cvs diff -u -r 1.179.2.130 -r 1.179.2.131 src/imap.c; cvs diff -u -r 1.13.2.17 -r 1.13.2.18 src/import.c; cvs diff -u -r 1.149.2.57 -r 1.149.2.58 src/inc.c; cvs diff -u -r 1.274.2.143 -r 1.274.2.144 src/mainwindow.c; cvs diff -u -r 1.39.2.22 -r 1.39.2.23 src/mainwindow.h; cvs diff -u -r 1.28.2.25 -r 1.28.2.26 src/mbox.c; cvs diff -u -r 1.3.2.6 -r 1.3.2.7 src/mbox.h; ) > 2.4.0cvs128.patchset
+( cvs diff -u -r 1.213.2.112 -r 1.213.2.113 src/folder.c; cvs diff -u -r 1.274.2.144 -r 1.274.2.145 src/mainwindow.c; cvs diff -u -r 1.1.4.18 -r 1.1.4.19 src/gtk/logwindow.c; cvs diff -u -r 1.1.4.5 -r 1.1.4.6 src/gtk/logwindow.h; ) > 2.4.0cvs129.patchset
MICRO_VERSION=0
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=128
+EXTRA_VERSION=129
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=
GSList *processing_list;
GSList *mlist, *cur;
guint total = 0, curmsg = 0;
+ gint last_apply_per_account;
g_return_if_fail(item != NULL);
mlist = folder_item_get_msg_list(item);
total = g_slist_length(mlist);
statusbar_print_all(_("Processing messages..."));
+
+ last_apply_per_account = prefs_common.apply_per_account_filtering_rules;
+ prefs_common.apply_per_account_filtering_rules = FILTERING_ACCOUNT_RULES_SKIP;
+
for (cur = mlist ; cur != NULL ; cur = cur->next) {
MsgInfo * msginfo;
filter_message_by_msginfo(post_global_processing, msginfo, NULL);
}
+ prefs_common.apply_per_account_filtering_rules = last_apply_per_account;
+
if (pre_global_processing || processing_list
|| post_global_processing)
filtering_move_and_copy_msgs(mlist);
gtk_text_buffer_create_tag(buffer, "warn",
"foreground-gdk", &logwin->warn_color,
NULL);
- gtk_text_buffer_create_tag(buffer, "error",
+ logwin->error_tag = gtk_text_buffer_create_tag(buffer, "error",
"foreground-gdk", &logwin->error_color,
NULL);
gtk_text_buffer_create_tag(buffer, "input",
gtk_widget_show(logwin->window);
}
+static void log_window_jump_to_error(LogWindow *logwin)
+{
+ GtkTextIter iter;
+ gtk_text_buffer_get_end_iter(logwin->buffer, &iter);
+ if (!gtk_text_iter_backward_to_tag_toggle(&iter, logwin->error_tag))
+ return;
+
+ gtk_text_iter_backward_line(&iter);
+ gtk_text_view_scroll_to_iter(GTK_TEXT_VIEW(logwin->text), &iter, 0, TRUE, 0, 0);
+}
+
+void log_window_show_error(LogWindow *logwin)
+{
+ log_window_show(logwin);
+ log_window_jump_to_error(logwin);
+}
+
void log_window_set_clipping(LogWindow *logwin, gboolean clip, guint clip_length)
{
g_return_if_fail(logwin != NULL);
guint clip_length;
guint hook_id;
GtkTextBuffer *buffer;
+ GtkTextTag *error_tag;
gboolean hidden;
};
LogWindow *log_window_create(void);
void log_window_init(LogWindow *logwin);
void log_window_show(LogWindow *logwin);
+void log_window_show_error(LogWindow *logwin);
void log_window_set_clipping(LogWindow *logwin, gboolean clip, guint clip_length);
#endif /* __LOGWINDOW_H__ */
MainWindow *mainwindow)
{
if (evt && evt->button == 1) {
- log_window_show(mainwindow->logwin);
+ log_window_show_error(mainwindow->logwin);
gtk_widget_hide(mainwindow->warning_btn);
}
return FALSE;