aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-10-14 03:10:51 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2011-10-14 03:10:51 +0000
commitd206235590a471e4a8a4a7432916b44ec5269395 (patch)
treea6cc8cad0eb9852ee35a90b917f0cc2f5a4e966a
parenta74048b99428b217801933884dee0bc21202d45b (diff)
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
-rw-r--r--ChangeLog6
-rw-r--r--po/ja.po177
-rw-r--r--src/summaryview.c140
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 <hiro-y@kcn.ne.jp>\n"
"Language-Team: Japanese <ja@li.org>\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)