From d206235590a471e4a8a4a7432916b44ec5269395 Mon Sep 17 00:00:00 2001 From: hiro Date: Fri, 14 Oct 2011 03:10:51 +0000 Subject: show both filtered and original numbers of messages on the status iabel. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2977 ee746299-78ed-0310-b773-934348b2243d --- ChangeLog | 6 ++ po/ja.po | 177 ++++++++++++++++++++++++++++-------------------------- src/summaryview.c | 140 ++++++++++++++++++++++++------------------ 3 files changed, 178 insertions(+), 145 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9ebe38e9..cb3eeb90 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-10-14 + + * src/summaryview.c: show both filtered and original numbers of + messages on the status iabel. + Show the numbers of moved/copied/deleted marks on filtered mode. + 2011-10-04 * src/quick_search.c: implemented multiple keywords search of the diff --git a/po/ja.po b/po/ja.po index 45105537..660235c8 100644 --- a/po/ja.po +++ b/po/ja.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: sylpheed\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2011-08-11 14:17+0900\n" +"POT-Creation-Date: 2011-10-14 11:45+0900\n" "PO-Revision-Date: 1999-10-12\n" "Last-Translator: Hiroyuki Yamamoto \n" "Language-Team: Japanese \n" @@ -511,7 +511,7 @@ msgstr "%s が見つかりました\n" msgid "Configuration is saved.\n" msgstr "設定を保存しました。\n" -#: libsylph/procmime.c:1291 +#: libsylph/procmime.c:1298 msgid "procmime_get_text_content(): Code conversion failed.\n" msgstr "procmime_get_text_content(): コード変換に失敗しました。\n" @@ -1300,7 +1300,7 @@ msgstr "茶" #. create sub items. for the menu item activation callback we pass the #. * color flag value as data parameter. Also we attach a data pointer #. * so we can always get back the SummaryView pointer. -#: src/colorlabel.c:300 src/prefs_folder_item.c:317 src/summaryview.c:5269 +#: src/colorlabel.c:300 src/prefs_folder_item.c:317 src/summaryview.c:5322 msgid "None" msgstr "なし" @@ -1640,7 +1640,7 @@ msgid "Can't get the part of multipart message." msgstr "マルチパートメッセージのパートを取得できません。" #: src/compose.c:2873 src/headerview.c:233 src/query_search.c:791 -#: src/rpop3.c:675 src/summaryview.c:2494 +#: src/rpop3.c:675 src/summaryview.c:2504 msgid "(No Subject)" msgstr "(件名なし)" @@ -1829,7 +1829,7 @@ msgstr "データ形式" #. S_COL_DATE #: src/compose.c:5361 src/mimeview.c:217 src/prefs_filter_edit.c:508 #: src/prefs_summary_column.c:72 src/rpop3.c:425 src/select-keys.c:309 -#: src/summaryview.c:5418 +#: src/summaryview.c:5471 msgid "Size" msgstr "サイズ" @@ -2551,23 +2551,23 @@ msgstr "" msgid "Can't remove the folder '%s'." msgstr "フォルダ '%s' を削除できません。" -#: src/folderview.c:2772 +#: src/folderview.c:2776 msgid "Empty trash" msgstr "ごみ箱を空にする" -#: src/folderview.c:2773 +#: src/folderview.c:2777 msgid "Delete all messages in the trash folder?" msgstr "ごみ箱の中のメッセージをすべて削除しますか?" -#: src/folderview.c:2779 +#: src/folderview.c:2784 msgid "Empty junk" msgstr "迷惑メールを空にする" -#: src/folderview.c:2780 +#: src/folderview.c:2785 msgid "Delete all messages in the junk folder?" msgstr "迷惑メールフォルダの中のメッセージをすべて削除しますか?" -#: src/folderview.c:2822 +#: src/folderview.c:2832 #, c-format msgid "" "Really remove the mailbox `%s' ?\n" @@ -2576,34 +2576,34 @@ msgstr "" "本当にメールボックス `%s' を削除しますか?\n" "(メッセージはディスクからは削除されません)" -#: src/folderview.c:2824 +#: src/folderview.c:2834 msgid "Remove mailbox" msgstr "メールボックスの削除" -#: src/folderview.c:2874 +#: src/folderview.c:2884 #, c-format msgid "Really delete IMAP4 account `%s'?" msgstr "本当にIMAP4アカウント `%s' を削除しますか?" -#: src/folderview.c:2875 +#: src/folderview.c:2885 msgid "Delete IMAP4 account" msgstr "IMAP4アカウントの削除" -#: src/folderview.c:3028 +#: src/folderview.c:3038 #, c-format msgid "Really delete newsgroup `%s'?" msgstr "本当にニュースグループ `%s' を削除しますか?" -#: src/folderview.c:3029 +#: src/folderview.c:3039 msgid "Delete newsgroup" msgstr "ニュースグループの削除" -#: src/folderview.c:3079 +#: src/folderview.c:3089 #, c-format msgid "Really delete news account `%s'?" msgstr "本当にニュースアカウント `%s' を削除しますか?" -#: src/folderview.c:3080 +#: src/folderview.c:3090 msgid "Delete news account" msgstr "ニュースアカウントの削除" @@ -2616,7 +2616,7 @@ msgid "Creating header view...\n" msgstr "ヘッダビューを作成中...\n" #: src/headerview.c:212 src/query_search.c:792 src/rpop3.c:676 -#: src/summaryview.c:2497 +#: src/summaryview.c:2507 msgid "(No From)" msgstr "(差出人不明)" @@ -2987,8 +2987,8 @@ msgstr "切断中" msgid "Retrieving message (%d / %d) (%s / %s)" msgstr "メッセージを受信中 (%d / %d) (%s / %s)" -#: src/inc.c:1322 src/inc.c:1349 src/summaryview.c:4760 src/summaryview.c:4950 -#: src/summaryview.c:5001 +#: src/inc.c:1322 src/inc.c:1349 src/summaryview.c:4807 src/summaryview.c:4997 +#: src/summaryview.c:5048 msgid "" "Execution of the junk filter command failed.\n" "Please check the junk mail control setting." @@ -3872,8 +3872,8 @@ msgstr "メインウィンドウを作成中...\n" msgid "MainWindow: color allocation %d failed\n" msgstr "MainWindow: 色の割り当て %d に失敗しました\n" -#: src/mainwindow.c:1219 src/summaryview.c:2654 src/summaryview.c:2741 -#: src/summaryview.c:4324 src/summaryview.c:4453 src/summaryview.c:4842 +#: src/mainwindow.c:1219 src/summaryview.c:2664 src/summaryview.c:2751 +#: src/summaryview.c:4371 src/summaryview.c:4500 src/summaryview.c:4889 msgid "done.\n" msgstr "完了。\n" @@ -4145,7 +4145,7 @@ msgstr "添付" msgid "Message View - Sylpheed" msgstr "メッセージビュー - Sylpheed" -#: src/messageview.c:770 src/summaryview.c:3871 +#: src/messageview.c:770 src/summaryview.c:3918 #, c-format msgid "Can't save the file `%s'." msgstr "ファイル `%s' を保存できません。" @@ -6267,19 +6267,19 @@ msgstr "添付" #. S_COL_MIME #: src/prefs_summary_column.c:69 src/query_search.c:402 src/rpop3.c:422 -#: src/summaryview.c:5411 +#: src/summaryview.c:5464 msgid "Subject" msgstr "件名" #. S_COL_SUBJECT #: src/prefs_summary_column.c:70 src/query_search.c:403 src/rpop3.c:423 -#: src/summaryview.c:5414 +#: src/summaryview.c:5467 msgid "From" msgstr "差出人" #. S_COL_FROM #: src/prefs_summary_column.c:71 src/query_search.c:404 src/rpop3.c:424 -#: src/summaryview.c:5416 +#: src/summaryview.c:5469 msgid "Date" msgstr "日付" @@ -6289,7 +6289,7 @@ msgid "Number" msgstr "番号" #. S_COL_NUMBER -#: src/prefs_summary_column.c:74 src/summaryview.c:5422 +#: src/prefs_summary_column.c:74 src/summaryview.c:5475 msgid "To" msgstr "宛先" @@ -6595,7 +6595,7 @@ msgstr "%s を検索中 (%d / %d)..." msgid "Searching %s ..." msgstr "%s を検索中..." -#: src/query_search.c:800 src/rpop3.c:684 src/summaryview.c:2418 +#: src/query_search.c:800 src/rpop3.c:684 src/summaryview.c:2428 msgid "(No Date)" msgstr "(日付なし)" @@ -6639,16 +6639,16 @@ msgstr "最近1週間" msgid "In addressbook" msgstr "アドレス帳にある" -#: src/quick_search.c:148 src/quick_search.c:373 +#: src/quick_search.c:148 src/quick_search.c:398 msgid "Search for Subject or From" msgstr "件名または差出人を検索" -#: src/quick_search.c:334 +#: src/quick_search.c:359 #, c-format msgid "%1$d in %2$d matched" msgstr "%2$d 通中 %1$d 通を表示" -#: src/quick_search.c:337 +#: src/quick_search.c:362 #, c-format msgid "No messages matched" msgstr "該当するメッセージがありません" @@ -6692,7 +6692,7 @@ msgstr "このプログラムについて(_A)" msgid "%s - POP3 Remote mailbox" msgstr "%s - POP3 リモートメールボックス" -#: src/rpop3.c:421 src/summaryview.c:5420 +#: src/rpop3.c:421 src/summaryview.c:5473 msgid "No." msgstr "番号" @@ -7287,7 +7287,7 @@ msgstr "ニュースグループリストを取得中..." msgid "Can't retrieve newsgroup list." msgstr "ニュースグループリストを取得できません。" -#: src/subscribedialog.c:526 src/summaryview.c:950 +#: src/subscribedialog.c:526 src/summaryview.c:951 msgid "Done." msgstr "完了." @@ -7414,222 +7414,227 @@ msgstr "マークが残っています。処理しますか?" msgid "Scanning folder (%s)..." msgstr "フォルダをスキャン中 (%s)..." -#: src/summaryview.c:957 +#: src/summaryview.c:958 msgid "Could not establish a connection to the server." msgstr "サーバに接続できませんでした。" -#: src/summaryview.c:1610 +#: src/summaryview.c:1613 msgid "_Search again" msgstr "再検索(_S)" -#: src/summaryview.c:1632 src/summaryview.c:1641 +#: src/summaryview.c:1635 src/summaryview.c:1644 msgid "No more unread messages" msgstr "未読メッセージなし" -#: src/summaryview.c:1633 +#: src/summaryview.c:1636 msgid "No unread message found. Search from the end?" msgstr "未読メッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1635 +#: src/summaryview.c:1638 msgid "No unread messages." msgstr "未読メッセージがありません。" -#: src/summaryview.c:1642 +#: src/summaryview.c:1645 msgid "No unread message found. Go to next unread folder?" msgstr "未読メッセージがありません。次の未読フォルダに移動しますか?" -#: src/summaryview.c:1650 src/summaryview.c:1659 +#: src/summaryview.c:1653 src/summaryview.c:1662 msgid "No more new messages" msgstr "新着メッセージなし" -#: src/summaryview.c:1651 +#: src/summaryview.c:1654 msgid "No new message found. Search from the end?" msgstr "新着メッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1653 +#: src/summaryview.c:1656 msgid "No new messages." msgstr "新着メッセージがありません。" -#: src/summaryview.c:1660 +#: src/summaryview.c:1663 msgid "No new message found. Go to next folder which has new messages?" msgstr "" "新着メッセージがありません。次の新着メッセージありフォルダに移動しますか?" -#: src/summaryview.c:1668 src/summaryview.c:1677 +#: src/summaryview.c:1671 src/summaryview.c:1680 msgid "No more marked messages" msgstr "マーク付きメッセージなし" -#: src/summaryview.c:1669 +#: src/summaryview.c:1672 msgid "No marked message found. Search from the end?" msgstr "マーク付きメッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1671 src/summaryview.c:1680 +#: src/summaryview.c:1674 src/summaryview.c:1683 msgid "No marked messages." msgstr "マーク付きメッセージがありません。" -#: src/summaryview.c:1678 +#: src/summaryview.c:1681 msgid "No marked message found. Search from the beginning?" msgstr "マーク付きメッセージがありません。最初から検索しますか?" -#: src/summaryview.c:1686 src/summaryview.c:1695 +#: src/summaryview.c:1689 src/summaryview.c:1698 msgid "No more labeled messages" msgstr "ラベル付きメッセージなし" -#: src/summaryview.c:1687 +#: src/summaryview.c:1690 msgid "No labeled message found. Search from the end?" msgstr "ラベル付きメッセージがありません。最後から検索しますか?" -#: src/summaryview.c:1689 src/summaryview.c:1698 +#: src/summaryview.c:1692 src/summaryview.c:1701 msgid "No labeled messages." msgstr "ラベル付きメッセージがありません。" -#: src/summaryview.c:1696 +#: src/summaryview.c:1699 msgid "No labeled message found. Search from the beginning?" msgstr "ラベル付きメッセージがありません。最初から検索しますか?" -#: src/summaryview.c:2043 +#: src/summaryview.c:2056 msgid "Attracting messages by subject..." msgstr "メッセージを件名でまとめています..." -#: src/summaryview.c:2239 +#: src/summaryview.c:2253 +msgid " item(s) selected" +msgstr " 通選択" + +#: src/summaryview.c:2258 #, c-format msgid "%d deleted" msgstr "%d 通削除" -#: src/summaryview.c:2243 +#: src/summaryview.c:2260 #, c-format msgid "%s%d moved" msgstr "%s%d 通移動" -#: src/summaryview.c:2244 src/summaryview.c:2249 +#: src/summaryview.c:2261 src/summaryview.c:2264 msgid ", " msgstr ", " -#: src/summaryview.c:2248 +#: src/summaryview.c:2263 #, c-format msgid "%s%d copied" msgstr "%s%d 通コピー" -#: src/summaryview.c:2263 -msgid " item(s) selected" -msgstr " 通選択" +#: src/summaryview.c:2284 +#, c-format +msgid "%d/%d new, %d/%d unread, %d/%d total" +msgstr "新着 %d/%d 通, 未読 %d/%d 通, 総数 %d/%d 通" -#: src/summaryview.c:2285 +#: src/summaryview.c:2293 #, c-format msgid "%d new, %d unread, %d total (%s)" msgstr "新着 %d 通, 未読 %d 通, 総数 %d 通 (%s)" -#: src/summaryview.c:2289 +#: src/summaryview.c:2297 #, c-format msgid "%d new, %d unread, %d total" msgstr "新着 %d 通, 未読 %d 通, 総数 %d 通" -#: src/summaryview.c:2325 +#: src/summaryview.c:2335 msgid "Sorting summary..." msgstr "サマリをソート中..." -#: src/summaryview.c:2581 +#: src/summaryview.c:2591 msgid "\tSetting summary from message data..." msgstr "\tメッセージデータからサマリを作成中..." -#: src/summaryview.c:2583 +#: src/summaryview.c:2593 msgid "Setting summary from message data..." msgstr "メッセージデータからサマリを作成中..." -#: src/summaryview.c:2698 +#: src/summaryview.c:2708 #, c-format msgid "Writing summary cache (%s)..." msgstr "サマリキャッシュを書き込み中 (%s)..." -#: src/summaryview.c:3036 +#: src/summaryview.c:3046 #, c-format msgid "Message %d is marked\n" msgstr "メッセージ %d をマークしました\n" -#: src/summaryview.c:3108 +#: src/summaryview.c:3120 #, c-format msgid "Message %d is marked as being read\n" msgstr "メッセージ %d を既読としてマークしました\n" -#: src/summaryview.c:3321 +#: src/summaryview.c:3339 #, c-format msgid "Message %d is marked as unread\n" msgstr "メッセージ %d を未読としてマークしました\n" -#: src/summaryview.c:3385 +#: src/summaryview.c:3413 #, c-format msgid "Message %s/%d is set to delete\n" msgstr "メッセージ %s/%d を削除するようにセットしました\n" -#: src/summaryview.c:3415 +#: src/summaryview.c:3443 msgid "Delete message(s)" msgstr "メッセージの削除" -#: src/summaryview.c:3416 +#: src/summaryview.c:3444 msgid "Do you really want to delete message(s) from the trash?" msgstr "本当にごみ箱からメッセージを削除してもいいですか?" -#: src/summaryview.c:3496 +#: src/summaryview.c:3524 msgid "Deleting duplicated messages..." msgstr "重複メッセージを削除しています..." -#: src/summaryview.c:3534 +#: src/summaryview.c:3571 #, c-format msgid "Message %s/%d is unmarked\n" msgstr "メッセージ %s/%d をマーク解除しました\n" -#: src/summaryview.c:3598 +#: src/summaryview.c:3641 #, c-format msgid "Message %d is set to move to %s\n" msgstr "メッセージ %d を %s に移動するようにセットしました\n" -#: src/summaryview.c:3630 +#: src/summaryview.c:3673 msgid "Destination is same as current folder." msgstr "移動先が現在のフォルダと同じです。" -#: src/summaryview.c:3667 +#: src/summaryview.c:3710 msgid "Select folder to move" msgstr "移動先のフォルダを選択してください" -#: src/summaryview.c:3697 +#: src/summaryview.c:3744 #, c-format msgid "Message %d is set to copy to %s\n" msgstr "メッセージ %d を %s にコピーするようにセットしました\n" -#: src/summaryview.c:3728 +#: src/summaryview.c:3775 msgid "Destination for copy is same as current folder." msgstr "コピー先が現在のフォルダと同じです。" -#: src/summaryview.c:3764 +#: src/summaryview.c:3811 msgid "Select folder to copy" msgstr "コピー先のフォルダを選択してください" -#: src/summaryview.c:3914 +#: src/summaryview.c:3961 msgid "Error occurred while processing messages." msgstr "メッセージの処理中にエラーが発生しました。" -#: src/summaryview.c:4231 src/summaryview.c:4232 +#: src/summaryview.c:4278 src/summaryview.c:4279 msgid "Building threads..." msgstr "スレッドを構築中..." -#: src/summaryview.c:4382 src/summaryview.c:4383 +#: src/summaryview.c:4429 src/summaryview.c:4430 msgid "Unthreading..." msgstr "スレッドを解除中..." -#: src/summaryview.c:4676 src/summaryview.c:4737 +#: src/summaryview.c:4723 src/summaryview.c:4784 #, c-format msgid "Filtering (%d / %d)..." msgstr "振り分け中 (%d / %d)..." -#: src/summaryview.c:4803 +#: src/summaryview.c:4850 msgid "filtering..." msgstr "振り分け中..." -#: src/summaryview.c:4804 +#: src/summaryview.c:4851 msgid "Filtering..." msgstr "振り分け中..." -#: src/summaryview.c:4849 +#: src/summaryview.c:4896 #, c-format msgid "%d message(s) have been filtered." msgstr "%d 通のメッセージが振り分けられました。" diff --git a/src/summaryview.c b/src/summaryview.c index f29a01a5..b3393709 100644 --- a/src/summaryview.c +++ b/src/summaryview.c @@ -2194,10 +2194,8 @@ static void summary_update_status(SummaryView *summaryview) static void summary_status_show(SummaryView *summaryview) { GtkTreeModel *model = GTK_TREE_MODEL(summaryview->store); - gchar *str; - gchar *del, *mv, *cp; - gchar *sel; - gchar *spc; + GString *str; + gchar *name; GList *rowlist, *cur; guint n_selected = 0; gint64 sel_size = 0; @@ -2231,12 +2229,12 @@ static void summary_status_show(SummaryView *summaryview) group = get_abbrev_newsgroup_name (g_basename(summaryview->folder_item->path), prefs_common.ng_abbrev_len); - str = trim_string_before(group, 32); + name = trim_string_before(group, 32); g_free(group); } else - str = trim_string_before(summaryview->folder_item->path, 32); - gtk_label_set(GTK_LABEL(summaryview->statlabel_folder), str); - g_free(str); + name = trim_string_before(summaryview->folder_item->path, 32); + gtk_label_set(GTK_LABEL(summaryview->statlabel_folder), name); + g_free(name); if (summaryview->on_filter) { deleted = summaryview->flt_deleted; @@ -2248,62 +2246,61 @@ static void summary_status_show(SummaryView *summaryview) copied = summaryview->copied; } + str = g_string_sized_new(128); + + if (n_selected) + g_string_append_printf(str, "%d%s (%s)", n_selected, + _(" item(s) selected"), + to_human_readable(sel_size)); + if (str->len > 0 && (deleted || moved || copied)) + g_string_append(str, " "); if (deleted) - del = g_strdup_printf(_("%d deleted"), deleted); - else - del = g_strdup(""); + g_string_append_printf(str, _("%d deleted"), deleted); if (moved) - mv = g_strdup_printf(_("%s%d moved"), - deleted ? _(", ") : "", moved); - else - mv = g_strdup(""); + g_string_append_printf(str, _("%s%d moved"), + deleted ? _(", ") : "", moved); if (copied) - cp = g_strdup_printf(_("%s%d copied"), - deleted || moved ? _(", ") : "", copied); - else - cp = g_strdup(""); + g_string_append_printf(str, _("%s%d copied"), + deleted || moved ? _(", ") : "", copied); - if (deleted || moved || copied) - spc = " "; - else - spc = ""; + gtk_label_set(GTK_LABEL(summaryview->statlabel_select), str->str); + g_string_truncate(str, 0); - if (n_selected) - sel = g_strdup_printf(" (%s)", to_human_readable(sel_size)); - else - sel = g_strdup(""); - str = g_strconcat(n_selected ? itos(n_selected) : "", - n_selected ? _(" item(s) selected") : "", - sel, spc, del, mv, cp, NULL); - gtk_label_set(GTK_LABEL(summaryview->statlabel_select), str); - g_free(str); - g_free(sel); - g_free(del); - g_free(mv); - g_free(cp); + new = summaryview->folder_item->new; + unread = summaryview->folder_item->unread; + total = summaryview->folder_item->total; + total_size = summaryview->total_size; if (summaryview->on_filter) { - new = summaryview->flt_new; - unread = summaryview->flt_unread; - total = summaryview->flt_msg_total; - total_size = summaryview->total_flt_msg_size; + gint f_new, f_unread, f_total; + gint64 f_total_size; + gchar f_ts[16], ts[16]; + + f_new = summaryview->flt_new; + f_unread = summaryview->flt_unread; + f_total = summaryview->flt_msg_total; + f_total_size = summaryview->total_flt_msg_size; + + g_string_printf(str, _("%d/%d new, %d/%d unread, %d/%d total"), + f_new, new, f_unread, unread, f_total, total); + if (FOLDER_IS_LOCAL(summaryview->folder_item->folder)) { + g_string_append_printf(str, " (%s/%s)", + to_human_readable_buf(f_ts, sizeof(f_ts), f_total_size), to_human_readable_buf(ts, sizeof(ts), total_size)); + } } else { - new = summaryview->folder_item->new; - unread = summaryview->folder_item->unread; - total = summaryview->folder_item->total; - total_size = summaryview->total_size; + if (FOLDER_IS_LOCAL(summaryview->folder_item->folder)) { + g_string_printf(str, + _("%d new, %d unread, %d total (%s)"), + new, unread, total, + to_human_readable(total_size)); + } else { + g_string_printf(str, _("%d new, %d unread, %d total"), + new, unread, total); + } } - if (FOLDER_IS_LOCAL(summaryview->folder_item->folder)) { - str = g_strdup_printf(_("%d new, %d unread, %d total (%s)"), - new, unread, total, - to_human_readable(total_size)); - } else { - str = g_strdup_printf(_("%d new, %d unread, %d total"), - new, unread, total); - } - gtk_label_set(GTK_LABEL(summaryview->statlabel_msgs), str); - g_free(str); + gtk_label_set(GTK_LABEL(summaryview->statlabel_msgs), str->str); + g_string_free(str, TRUE); folderview_update_opened_msg_num(summaryview->folderview); } @@ -3392,14 +3389,22 @@ static void summary_delete_row(SummaryView *summaryview, GtkTreeIter *iter) if (MSG_IS_DELETED(msginfo->flags)) return; msginfo->to_folder = NULL; - if (MSG_IS_MOVE(msginfo->flags)) + if (MSG_IS_MOVE(msginfo->flags)) { summaryview->moved--; - if (MSG_IS_COPY(msginfo->flags)) + if (summaryview->on_filter) + summaryview->flt_moved--; + } + if (MSG_IS_COPY(msginfo->flags)) { summaryview->copied--; + if (summaryview->on_filter) + summaryview->flt_copied--; + } MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE | MSG_COPY); MSG_SET_PERM_FLAGS(msginfo->flags, MSG_DELETED); MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED); summaryview->deleted++; + if (summaryview->on_filter) + summaryview->flt_deleted++; summaryview->folder_item->mark_dirty = TRUE; if (!prefs_common.immediate_exec && summaryview->tmp_flag == 0) @@ -3542,12 +3547,21 @@ static void summary_unmark_row(SummaryView *summaryview, GtkTreeIter *iter) GET_MSG_INFO(msginfo, iter); msginfo->to_folder = NULL; - if (MSG_IS_DELETED(msginfo->flags)) + if (MSG_IS_DELETED(msginfo->flags)) { summaryview->deleted--; - if (MSG_IS_MOVE(msginfo->flags)) + if (summaryview->on_filter) + summaryview->flt_deleted--; + } + if (MSG_IS_MOVE(msginfo->flags)) { summaryview->moved--; - if (MSG_IS_COPY(msginfo->flags)) + if (summaryview->on_filter) + summaryview->flt_moved--; + } + if (MSG_IS_COPY(msginfo->flags)) { summaryview->copied--; + if (summaryview->on_filter) + summaryview->flt_copied--; + } MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_MARKED | MSG_DELETED); MSG_UNSET_TMP_FLAGS(msginfo->flags, MSG_MOVE | MSG_COPY); MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED); @@ -3608,6 +3622,8 @@ static void summary_move_row_to(SummaryView *summaryview, GtkTreeIter *iter, msginfo->to_folder = to_folder; if (MSG_IS_DELETED(msginfo->flags)) { summaryview->deleted--; + if (summaryview->on_filter) + summaryview->flt_deleted--; MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED); MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED); } @@ -3615,6 +3631,8 @@ static void summary_move_row_to(SummaryView *summaryview, GtkTreeIter *iter, if (!MSG_IS_MOVE(msginfo->flags)) { MSG_SET_TMP_FLAGS(msginfo->flags, MSG_MOVE); summaryview->moved++; + if (summaryview->on_filter) + summaryview->flt_moved++; } summaryview->folder_item->mark_dirty = TRUE; if (!prefs_common.immediate_exec) @@ -3707,6 +3725,8 @@ static void summary_copy_row_to(SummaryView *summaryview, GtkTreeIter *iter, msginfo->to_folder = to_folder; if (MSG_IS_DELETED(msginfo->flags)) { summaryview->deleted--; + if (summaryview->on_filter) + summaryview->flt_deleted--; MSG_UNSET_PERM_FLAGS(msginfo->flags, MSG_DELETED); MSG_SET_TMP_FLAGS(msginfo->flags, MSG_FLAG_CHANGED); } @@ -3714,6 +3734,8 @@ static void summary_copy_row_to(SummaryView *summaryview, GtkTreeIter *iter, if (!MSG_IS_COPY(msginfo->flags)) { MSG_SET_TMP_FLAGS(msginfo->flags, MSG_COPY); summaryview->copied++; + if (summaryview->on_filter) + summaryview->flt_copied++; } summaryview->folder_item->mark_dirty = TRUE; if (!prefs_common.immediate_exec) -- cgit v1.2.3