aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-16 06:53:57 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-16 06:53:57 +0000
commite833ae01a04a1f4815b799398ed599453bbdff7b (patch)
treee0cff62dc1f2a75e11418bf9e0b2ec95b51dedfd
parent5172cd5e5da898528072393c07aed1375192c2d4 (diff)
periodically update UI on manual filtering to avoid freeze.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1317 ee746299-78ed-0310-b773-934348b2243d
-rw-r--r--ChangeLog4
-rw-r--r--ChangeLog.ja4
-rw-r--r--src/summaryview.c7
3 files changed, 15 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ef6eaac9..dafdb3db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2006-11-16
+
+ * src/summaryview.c: periodically update UI on manual filtering.
+
2006-11-15
* src/jpilot.c: applied the patch for libpisock12 support (fixes
diff --git a/ChangeLog.ja b/ChangeLog.ja
index 5ec214cf..d07413a8 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,7 @@
+2006-11-16
+
+ * src/summaryview.c: 手動振り分け時に定期的に UI を更新するようにした。
+
2006-11-15
* src/jpilot.c: libpisock12 対応パッチを適用(AddressDB.pdb インポートに
diff --git a/src/summaryview.c b/src/summaryview.c
index c4f382cf..2ec78bb9 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -4386,6 +4386,9 @@ static gboolean summary_filter_func(GtkTreeModel *model, GtkTreePath *path,
summaryview->flt_count, summaryview->flt_total);
STATUSBAR_POP(summaryview->mainwin);
STATUSBAR_PUSH(summaryview->mainwin, msg);
+ if ((summaryview->flt_count % 500) == 0) {
+ GTK_EVENTS_FLUSH();
+ }
}
fltinfo = filter_info_new();
@@ -4444,6 +4447,9 @@ static gboolean summary_filter_junk_func(GtkTreeModel *model, GtkTreePath *path,
summaryview->flt_count, summaryview->flt_total);
STATUSBAR_POP(summaryview->mainwin);
STATUSBAR_PUSH(summaryview->mainwin, msg);
+ if ((summaryview->flt_count % 500) == 0) {
+ GTK_EVENTS_FLUSH();
+ }
}
fltinfo = filter_info_new();
@@ -4494,6 +4500,7 @@ static void summary_filter_real(SummaryView *summaryview,
debug_print(_("filtering..."));
STATUSBAR_PUSH(summaryview->mainwin, _("Filtering..."));
main_window_cursor_wait(summaryview->mainwin);
+ GTK_EVENTS_FLUSH();
summaryview->filtered = 0;
summaryview->flt_count = 0;