sync with sylpheed 0.4.66cvs3-5
authorAlfons Hoogervorst <alfons@proteus.demon.nl>
Sun, 6 May 2001 20:06:56 +0000 (20:06 +0000)
committerAlfons Hoogervorst <alfons@proteus.demon.nl>
Sun, 6 May 2001 20:06:56 +0000 (20:06 +0000)
30 files changed:
COPYING
ChangeLog
ChangeLog.claws
ChangeLog.jp
TODO
TODO.jp
configure.in
po/POTFILES.in
po/ja.po
src/Makefile.am
src/account.c
src/defs.h
src/filter.c
src/headerview.c
src/inc.c
src/inc.h
src/main.c
src/main.h
src/pop.c
src/prefs_account.c
src/prefs_common.c
src/prefs_common.h
src/prefs_filter.c
src/procheader.c
src/procheader.h
src/recv.c
src/recv.h
src/textview.c
src/utils.c
src/utils.h

diff --git a/COPYING b/COPYING
index 8daa321efb9f0836829610328294faa4a83d954c..9a799a5f199267be7df1694bc42beaa69d3ead2c 100644 (file)
--- a/COPYING
+++ b/COPYING
@@ -1,13 +1,10 @@
-The code in this distribution is Copyright 1999,2000 by Hiroyuki Yamamoto.
+The code in this distribution is Copyright 1999-2001 by Hiroyuki Yamamoto.
 
 The portions applied from fetchmail is Copyright 1997 by Eric S. Raymond.
 Portions of those are also copyrighted by Carl Harris, 1993 and 1995.
 Copyright retained for the purpose of protecting free redistribution of
 source.
 
-The MD5 support is copyright by RSA Data Security, Inc.  See the header
-comment of the md5.c module for license terms.
-
 Kcc is copyright by Yasuhiro Tonooka (tonooka@msi.co.jp),
 and libkcc is copyright by takeshi@SoftAgency.co.jp.
 
index d540e7b78b63bba16edca8c39014b4b856bfa977..40a0086b1e31a6844c5ca271a0533246c039c067 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,76 @@
+2001-05-06
+
+       * src/prefs_display_header.c: merged some changes from claws branch:
+         prefs_display_header_create(): allow reordering of headers by
+         dragging.
+         prefs_display_header_find_header(): new function.
+         prefs_display_header_clist_set_row(): don't allow duplicates.
+       * src/prefs_account.c: prefs_account_receive_create(): changed
+         the label of the check button.
+
+2001-05-05
+
+       * src/pop.c: pop3_getsize_list_recv(): if sscanf() failed, break
+         immediately.
+       * src/inc.h: removed cur_msg_bytes from Pop3State.
+       * src/inc.c: pop3_recv_func()
+         src/recv.[ch]: made the second arguments of RecvUIFunc current
+         total read bytes.
+         recv_write(): made it call UI func if elapsed time is greater
+         than 0.1 sec.
+       * src/recv.c: recv_write(): changed the interval to 300 usec.
+       * src/textview.c: textview_show_header(): if header is Subject,
+         unfold it.
+       * src/utils.[ch]: unfold_line(): new.
+       * src/procheader.[ch]: procheader_get_header_array(): new.
+       * src/prefs_display_header.c: updated defaults.
+
+2001-05-05
+
+       * some merge from the sylpheed-claws branch.
+         It allows user to specify displayed headers in message view.
+         (symbol names were also changed.)
+       * src/prefs_display_header.[ch]
+         src/displayheader.[ch]: new.
+       * src/prefs_display_header.c:
+         removed prefs_display_headers_other_headers_toggled().
+         removed "(New)" row from the list.
+       * src/defs.h: added DISPLAY_HEADER_RC.
+       * src/prefs_common.c: prefs_message_create(): added a button for
+         opening the display header setting dialog.
+       * src/prefs_common.h: added show_other_header and disphdr_list
+         to PrefsCommon.
+       * src/procheader.[ch]: procheader_get_header_list_from_file(),
+         procheader_get_header_array_asis(): new.
+         procheader_get_header_list(): modified so that it takes FILE
+         pointer for its argument.
+         procheader_header_array_destroy(), procheader_header_free(): new.
+       * src/main.c: main(): made it call prefs_display_header_*_config().
+       * src/textview.c: textview_scan_header(): modified so that it
+         sorts headers according to user setting.
+         src/textview_show_header(): made it call
+         textview_make_clickable_parts().
+         textview_make_clickable_parts(): added GdkFont to its arguments,
+         and removed GtkText from them.
+
+2001-05-04
+
+       * implemented auto-checking of new mail based on the patch from
+         Pierric Descamps (thanks!).
+       * src/inc.c: added inc_autocheck_timer_init(),
+         inc_autocheck_timer_set(), inc_autocheck_timer_remove(),
+         inc_autocheck_func() for auto-checking of new mail.
+       * src/main.c: main(): call inc_autocheck_timer_init().
+       * src/prefs_common.c: prefs_receive_create(): activated the
+         auto-checking UI. Added prefs_common_cancel(), and connected
+         some signals to that.
+       * src/prefs_common.c
+         src/prefs_account.c
+         src/prefs_filter.c
+         src/account.c: Disabled auto-checking while opening the dialog.
+       * src/headerview.c: headerview_show_xface(): fixed a bug that
+         showed a warning when header pane was hidden.
+
 2001-05-03
 
        * src/inc.c
index 624e998d4d3adeba35b68394918af3ef4b0b8c6f..24c6e21d981b27cbf71cc1e42872b1054940065d 100644 (file)
@@ -1,3 +1,9 @@
+2001-05-06 [alfons]
+
+       0.4.66claws3
+
+       * sync with sylpheed 0.4.66cvs3-5
+
 2001-05-06 [hoa]
 
        * src/utils.[ch]
index 6078094fcf2716cf7699dcd05176939849b2caa2..b9bda3762785a9aeb5ba28cf894d792847a14efb 100644 (file)
@@ -1,3 +1,78 @@
+2001-05-06
+
+       * src/prefs_display_header.c: claws ¥Ö¥é¥ó¥Á¤«¤é¤¤¤¯¤Ä¤«¤ÎÊѹ¹¤ò
+         ¥Þ¡¼¥¸:
+         prefs_display_header_create(): ¥É¥é¥Ã¥°¤Ë¤è¤ë¥Ø¥Ã¥À¤ÎʤӴ¹¤¨¤¬
+         ¤Ç¤­¤ë¤è¤¦¤Ë¤·¤¿¡£
+         prefs_display_header_find_header(): ¿·µ¬´Ø¿ô¡£
+         prefs_display_header_clist_set_row(): ½ÅÊ£¤òǧ¤á¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£
+       * src/prefs_account.c: prefs_account_receive_create(): ¥Á¥§¥Ã¥¯
+         ¥Ü¥¿¥ó¤Î¥é¥Ù¥ë¤òÊѹ¹¡£
+
+2001-05-05
+
+       * src/pop.c: pop3_getsize_list_recv(): sscanf() ¤¬¼ºÇÔ¤·¤¿¤é¡¢
+         ¤¹¤°¤Ë break ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+       * src/inc.h: Pop3State ¤«¤é cur_msg_bytes ¤òºï½ü¡£
+       * src/inc.c: pop3_recv_func()
+         src/recv.[ch]: RecvUIFunc ¤ÎÂèÆó°ú¿ô¤ò¸½ºß¤Î¹ç·×¥Ð¥¤¥È¿ô¤Ë¤·¤¿¡£
+         recv_write(): ·Ð²á»þ´Ö¤¬0.1Éäè¤êÂ礭¤±¤ì¤Ð UI ´Ø¿ô¤ò¸Æ¤Ö¤è¤¦¤Ë
+         ¤·¤¿¡£
+       * src/recv.c: recv_write(): ´Ö³Ö¤ò300 usec ¤Ë¤·¤¿¡£
+       * src/textview.c: textview_show_header(): ¥Ø¥Ã¥À¤¬ Subject ¤Î¾ì¹ç¡¢
+         °ì¹Ô¤Ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+       * src/utils.[ch]: unfold_line(): ¿·µ¬¡£
+       * src/procheader.[ch]: procheader_get_header_array(): ¿·µ¬¡£
+       * src/prefs_display_header.c: ¥Ç¥Õ¥©¥ë¥È¤ò¹¹¿·¡£
+
+2001-05-05
+
+       * sylpheed-claws ¥Ö¥é¥ó¥Á¤«¤é¤¤¤¯¤Ä¤«¥Þ¡¼¥¸¡£
+         ¥á¥Ã¥»¡¼¥¸¥Ó¥å¡¼¤Ëɽ¼¨¤µ¤ì¤ë¥Ø¥Ã¥À¤ò¥æ¡¼¥¶¤¬»ØÄê¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¡£
+         (¥·¥ó¥Ü¥ë̾¤ÏÊѹ¹¡£)
+       * src/prefs_display_header.[ch]
+         src/displayheader.[ch]: ¿·µ¬¡£
+       * src/prefs_display_header.c:
+         prefs_display_headers_other_headers_toggled() ¤òºï½ü¡£
+         ¥ê¥¹¥È¤«¤é "(¿·µ¬)" ¹Ô¤òºï½ü¡£
+       * src/defs.h: DISPLAY_HEADER_RC ¤òÄɲá£
+       * src/prefs_common.c: prefs_message_create(): É½¼¨¥Ø¥Ã¥À¤ÎÀßÄê
+         ¥À¥¤¥¢¥í¥°¤ò³«¤¯¥Ü¥¿¥ó¤òÄɲá£
+       * src/prefs_common.h: PrefsCommon ¤Ë show_other_header ¤È
+         disphdr_list ¤òÄɲá£
+       * src/procheader.[ch]: procheader_get_header_list_from_file(),
+         procheader_get_header_array_asis(): ¿·µ¬¡£
+         procheader_get_header_list(): °ú¿ô¤Ë FILE ¥Ý¥¤¥ó¥¿¤ò¤È¤ë¤è¤¦¤Ë
+         ½¤Àµ¡£
+         procheader_header_array_destroy(), procheader_header_free() ¿·µ¬¡£
+       * src/main.c: main(): prefs_display_header_*_config() ¤ò¸Æ¤Ö¤è¤¦¤Ë
+         ¤·¤¿¡£
+       * src/textview.c: textview_scan_header(): ¥æ¡¼¥¶¤ÎÀßÄê¤Ë¤è¤Ã¤Æ
+         ¥Ø¥Ã¥À¤òʤӴ¹¤¨¤ë¤è¤¦¤Ë½¤Àµ¡£
+         src/textview_show_header(): textview_make_clickable_parts() ¤ò
+         ¸Æ¤Ö¤è¤¦¤Ë¤·¤¿¡£
+         textview_make_clickable_parts(): °ú¿ô¤Ë GdkFont ¤ò¤È¤ë¤è¤¦¤Ë¤·¡¢
+         °ú¿ô¤«¤é GtkText ¤ò½ü¤¤¤¿¡£
+
+2001-05-04
+
+       * Pierric Descamps ¤µ¤ó¤Î¥Ñ¥Ã¥Á¤Ë´ð¤Å¤¤¤Æ¿·Ãå¥á¡¼¥ë¤Î¼«Æ°¥Á¥§¥Ã¥¯
+         ¤ò¼ÂÁõ(thanks!)¡£
+       * src/inc.c: inc_autocheck_timer_init(), inc_autocheck_timer_set(),
+         inc_autocheck_timer_remove(), inc_autocheck_func() ¤ò¿·Ãå¥á¡¼¥ë
+         ¤Î¼«Æ°¥Á¥§¥Ã¥¯¤Î¤¿¤á¤ËÄɲá£
+       * src/main.c: main(): inc_autocheck_timer_init() ¤ò¸Æ¤Ö¤è¤¦¤Ë¤·¤¿¡£
+       * src/prefs_common.c: prefs_receive_create(): ¼«Æ°¥Á¥§¥Ã¥¯¤Î UI
+         ¤ò¥¢¥¯¥Æ¥£¥Ö¤Ë¤·¤¿¡£ prefs_common_cancel() ¤òÄɲä·¡¢¤¤¤¯¤Ä¤«¤Î
+         ¥·¥°¥Ê¥ë¤ò¤½¤ì¤ËÀܳ¡£
+       * src/prefs_common.c
+         src/prefs_account.c
+         src/prefs_filter.c
+         src/account.c: ¥À¥¤¥¢¥í¥°¤ò³«¤¤¤Æ¤¤¤ë¤È¤­¤Ï¼«Æ°¥Á¥§¥Ã¥¯¤ò̵¸ú¤Ë
+         ¤·¤¿¡£
+       * src/headerview.c: headerview_show_xface(): ¥Ø¥Ã¥À¥Ú¥¤¥ó¤òÈóɽ¼¨
+         ¤Ë¤·¤Æ¤¤¤ë¾ì¹ç¤Ë·Ù¹ð¤¬½Ð¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ¡£
+
 2001-05-03
 
        * src/inc.c
diff --git a/TODO b/TODO
index 3662141b8cd90637742c7a35b6a6fca6850f22e5..5f9e25c310cbbfc9545266535d64e6178ead94a4 100644 (file)
--- a/TODO
+++ b/TODO
@@ -3,11 +3,9 @@ TODO
 
 (The upper item has the greater priority or feasibility... maybe :-)
 
-o periodical check of newly arrived mails
 o POP before SMTP
 o list view of newsgroups and subscription of groups from there
 o full-text search of messages (plain, or hooking up with Namazu)
-o progress display of time-consuming processes
 o original icons and logos
 o designate the displayed headers
 o user-defined headers
@@ -44,6 +42,7 @@ Partially implemented features
 . IMAP4 support
 . PGP/GPG support
 . display of HTML messages (composition of HTML message is not scheduled :-P)
+. progress display of time-consuming processes
 
 Implemented features
 ====================
@@ -64,3 +63,4 @@ Implemented features
 * posting to newsgroups
 * completion of mail address
 * prohibition of multiple execution (with Unix domain socket)
+* periodical check of newly arrived mails
diff --git a/TODO.jp b/TODO.jp
index c48a75dc19dcf38749d75f724ac7697e373d8e4e..f762646bb71ba6ae757b885bdf400dd9d113c071 100644 (file)
--- a/TODO.jp
+++ b/TODO.jp
@@ -3,11 +3,9 @@ TODO
 
 (¾å¤Î¤â¤Î¤Û¤É½ÅÍ×ÅÙ¡¢¼Â¸½²ÄǽÀ­¤¬¹â¤¯¤Ê¤ë¡¢¤«¤â(^^;)
 
-o ¿·Ãå¥á¡¼¥ë¤ÎÄê´üŪ¥Á¥§¥Ã¥¯
 o POP before SMTP
 o ¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤Î¥ê¥¹¥Èɽ¼¨¤È¤½¤³¤«¤é¤Î¹ØÆÉ¥°¥ë¡¼¥×ÄɲÃ
 o ¥á¥Ã¥»¡¼¥¸¤ÎÁ´Ê¸¸¡º÷ (¥Ù¥¿¡¢ Namazu ¤È¤ÎÏ¢·È)
-o »þ´Ö¤¬³Ý¤«¤ë½èÍý¤Î¿ÊĽ¾õ¶·É½¼¨
 o ¥ª¥ê¥¸¥Ê¥ë¤Î¥¢¥¤¥³¥ó¤È¥í¥´
 o É½¼¨¤µ¤ì¤ë¥Ø¥Ã¥À¤Î»ØÄê
 o ¥æ¡¼¥¶ÄêµÁ¤Î¥Ø¥Ã¥À
@@ -44,6 +42,7 @@ o 
 . IMAP4Âбþ
 . PGP/GPGÂбþ
 . HTML¥á¡¼¥ë¤Îɽ¼¨ (HTML¥á¡¼¥ë¤ÎºîÀ®¤ÏͽÄê¤Ê¤·:-P)
+. »þ´Ö¤¬³Ý¤«¤ë½èÍý¤Î¿ÊĽ¾õ¶·É½¼¨
 
 ¼ÂÁõºÑ¤Îµ¡Ç½
 ============
@@ -65,3 +64,4 @@ o 
 * ¥Ë¥å¡¼¥¹¥°¥ë¡¼¥×¤Ø¤ÎÅê¹Æ
 * ¥á¡¼¥ë¥¢¥É¥ì¥¹¤ÎÊä´°
 * Æó½Åµ¯Æ°Ëɻߠ(with Unix domain socket)
+* ¿·Ãå¥á¡¼¥ë¤ÎÄê´üŪ¥Á¥§¥Ã¥¯
index cba48bfe1f8cab76bb0d5704d8d9807919bac801..288f5f5080e2de62a7b79234e3ee103ad914fba3 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=4
 MICRO_VERSION=66
 INTERFACE_AGE=66
 BINARY_AGE=66
-EXTRA_VERSION=claws2
+EXTRA_VERSION=claws3
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl
index 54ac40037b595b5462997c5bfd8f048cdb71b640..c0e726c5fabb28e43bd434eb8dc098256d6b36be 100644 (file)
@@ -36,6 +36,7 @@ src/pop.c
 src/prefs.c
 src/prefs_account.c
 src/prefs_common.c
+src/prefs_display_header.c
 src/prefs_filter.c
 src/procheader.c
 src/procmime.c
index c673af3fbb167e71f027f2871ef2e14727fdf264..8d4502fd8e653cfd92d0d2e1887c7a6cb73c1c05 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -5,7 +5,7 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: sylpheed\n"
-"POT-Creation-Date: 2001-05-03 13:29+0900\n"
+"POT-Creation-Date: 2001-05-06 14:28+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"
@@ -89,23 +89,24 @@ msgstr ""
 
 #: src/about.c:234 src/addressbook.c:1293 src/alertpanel.c:209
 #: src/compose.c:1460 src/compose.c:3071 src/export.c:184 src/foldersel.c:175
-#: src/import.c:188 src/inputdialog.c:155 src/main.c:314 src/main.c:322
+#: src/import.c:188 src/inputdialog.c:155 src/main.c:319 src/main.c:327
 #: src/mainwindow.c:1655 src/mimeview.c:705 src/passphrase.c:115
-#: src/prefs.c:467 src/prefs_common.c:1772 src/prefs_common.c:1991
-#: src/prefs_common.c:2107 src/summaryview.c:2016 src/summaryview.c:2524
+#: src/prefs.c:467 src/prefs_common.c:1793 src/prefs_common.c:2012
+#: src/prefs_common.c:2128 src/prefs_display_header.c:188
+#: src/summaryview.c:2016 src/summaryview.c:2524
 msgid "OK"
 msgstr "OK"
 
-#: src/account.c:97
+#: src/account.c:98
 msgid "Reading all config for each account...\n"
 msgstr "Á´¤Æ¤Î¥¢¥«¥¦¥ó¥ÈËè¤ÎÀßÄê¤òÆɤ߹þ¤ßÃæ...\n"
 
-#: src/account.c:112
+#: src/account.c:113
 #, c-format
 msgid "Found label: %s\n"
 msgstr "¥é¥Ù¥ëȯ¸«: %s\n"
 
-#: src/account.c:202
+#: src/account.c:205
 msgid ""
 "Some composing windows are open.\n"
 "Please close all the composing windows before editing the accounts."
@@ -113,76 +114,77 @@ msgstr ""
 "¥á¥Ã¥»¡¼¥¸ºîÀ®¥¦¥£¥ó¥É¥¦¤¬³«¤¤¤Æ¤¤¤Þ¤¹¡£\n"
 "¥¢¥«¥¦¥ó¥È¤òÊÔ½¸¤¹¤ëÁ°¤ËÁ´¤Æ¤Î¥á¥Ã¥»¡¼¥¸ºîÀ®¥¦¥£¥ó¥É¥¦¤òÊĤ¸¤Æ¤¯¤À¤µ¤¤¡£"
 
-#: src/account.c:207
+#: src/account.c:211
 msgid "Opening account edit window...\n"
 msgstr "¥¢¥«¥¦¥ó¥ÈÊÔ½¸¥¦¥£¥ó¥É¥¦¤ò³«¤¤¤Æ¤¤¤Þ¤¹...\n"
 
-#: src/account.c:347
+#: src/account.c:352
 msgid "Creating account edit window...\n"
 msgstr "¥¢¥«¥¦¥ó¥ÈÊÔ½¸¥¦¥£¥ó¥É¥¦¤òºîÀ®Ãæ...\n"
 
-#: src/account.c:352
+#: src/account.c:357
 msgid "Edit accounts"
 msgstr "¥¢¥«¥¦¥ó¥È¤ÎÊÔ½¸"
 
-#: src/account.c:380 src/addressbook.c:318 src/addressbook.c:1289
+#: src/account.c:385 src/addressbook.c:318 src/addressbook.c:1289
 #: src/compose.c:2188 src/mimeview.c:135 src/select-keys.c:299
 msgid "Name"
 msgstr "̾Á°"
 
-#: src/account.c:381 src/prefs_account.c:616
+#: src/account.c:386 src/prefs_account.c:621
 msgid "Protocol"
 msgstr "¥×¥í¥È¥³¥ë"
 
-#: src/account.c:382
+#: src/account.c:387
 msgid "Server"
 msgstr "¥µ¡¼¥Ð"
 
-#: src/account.c:401 src/addressbook.c:439
+#: src/account.c:406 src/addressbook.c:439 src/prefs_display_header.c:265
+#: src/prefs_display_header.c:316
 msgid "Add"
 msgstr "ÄɲÃ"
 
-#: src/account.c:407
+#: src/account.c:412
 msgid "Edit"
 msgstr "ÊÔ½¸"
 
-#: src/account.c:413
+#: src/account.c:418
 msgid " Delete "
 msgstr "  ºï½ü  "
 
-#: src/account.c:419 src/prefs_filter.c:432
+#: src/account.c:424 src/prefs_display_header.c:284 src/prefs_filter.c:435
 msgid "Down"
 msgstr "  ¢­  "
 
-#: src/account.c:425 src/prefs_filter.c:426
+#: src/account.c:430 src/prefs_display_header.c:278 src/prefs_filter.c:429
 msgid "Up"
 msgstr "  ¢¬  "
 
-#: src/account.c:439
+#: src/account.c:444
 msgid " Set as usually used account "
 msgstr " Ä̾ï»ÈÍѤ¹¤ë¥¢¥«¥¦¥ó¥È¤Ë»ØÄê "
 
-#: src/account.c:445 src/prefs_filter.c:192 src/summary_search.c:192
+#: src/account.c:450 src/prefs_filter.c:195 src/summary_search.c:192
 msgid "Close"
 msgstr "ÊĤ¸¤ë"
 
-#: src/account.c:498
+#: src/account.c:504
 msgid "Delete account"
 msgstr "¥¢¥«¥¦¥ó¥È¤Îºï½ü"
 
-#: src/account.c:499
+#: src/account.c:505
 msgid "Do you really want to delete this account?"
 msgstr "ËÜÅö¤Ë¤³¤Î¥¢¥«¥¦¥ó¥È¤òºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«?"
 
-#: src/account.c:500 src/addressbook.c:579 src/addressbook.c:1224
+#: src/account.c:506 src/addressbook.c:579 src/addressbook.c:1224
 #: src/compose.c:3243 src/folderview.c:1273 src/folderview.c:1315
 #: src/folderview.c:1404 src/folderview.c:1444 src/folderview.c:1543
-#: src/folderview.c:1576 src/mainwindow.c:944 src/prefs_filter.c:715
+#: src/folderview.c:1576 src/mainwindow.c:944 src/prefs_filter.c:718
 #: src/summary_search.c:297 src/summaryview.c:573 src/summaryview.c:813
 msgid "Yes"
 msgstr "¤Ï¤¤"
 
-#: src/account.c:500 src/compose.c:3243 src/folderview.c:1273
+#: src/account.c:506 src/compose.c:3243 src/folderview.c:1273
 #: src/folderview.c:1315 src/folderview.c:1404 src/folderview.c:1444
 #: src/folderview.c:1543 src/folderview.c:1576
 msgid "+No"
@@ -275,7 +277,8 @@ msgid "Name:"
 msgstr "̾Á°:"
 
 #: src/addressbook.c:436 src/addressbook.c:1224 src/mainwindow.c:1398
-#: src/prefs_filter.c:392
+#: src/prefs_display_header.c:271 src/prefs_display_header.c:323
+#: src/prefs_filter.c:395
 msgid "Delete"
 msgstr "ºï½ü"
 
@@ -312,7 +315,7 @@ msgid "Really delete the address(es)?"
 msgstr "ËÜÅö¤Ë¤³¤Î¥¢¥É¥ì¥¹¤òºï½ü¤·¤Þ¤¹¤«?"
 
 #: src/addressbook.c:579 src/addressbook.c:1224 src/mainwindow.c:944
-#: src/prefs_filter.c:715 src/summary_search.c:297 src/summaryview.c:573
+#: src/prefs_filter.c:718 src/summary_search.c:297 src/summaryview.c:573
 #: src/summaryview.c:813
 msgid "No"
 msgstr "¤¤¤¤¤¨"
@@ -377,10 +380,11 @@ msgstr "
 
 #: src/addressbook.c:1294 src/compose.c:1460 src/compose.c:3072
 #: src/compose.c:3641 src/export.c:185 src/foldersel.c:176 src/import.c:189
-#: src/inputdialog.c:156 src/main.c:314 src/main.c:322 src/mainwindow.c:1655
+#: src/inputdialog.c:156 src/main.c:319 src/main.c:327 src/mainwindow.c:1655
 #: src/mimeview.c:705 src/passphrase.c:119 src/prefs.c:468
-#: src/prefs_common.c:2108 src/progressdialog.c:75 src/select-keys.c:324
-#: src/summaryview.c:573 src/summaryview.c:2016 src/summaryview.c:2524
+#: src/prefs_common.c:2129 src/prefs_display_header.c:189
+#: src/progressdialog.c:75 src/select-keys.c:324 src/summaryview.c:573
+#: src/summaryview.c:2016 src/summaryview.c:2524
 msgid "Cancel"
 msgstr "¥­¥ã¥ó¥»¥ë"
 
@@ -410,7 +414,7 @@ msgstr "
 msgid "failed to write addressbook data.\n"
 msgstr "¥¢¥É¥ì¥¹Ä¢¤Î¥Ç¡¼¥¿¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/alertpanel.c:98 src/compose.c:3243 src/main.c:312
+#: src/alertpanel.c:98 src/compose.c:3243 src/main.c:317
 msgid "Notice"
 msgstr "Ãí°Õ"
 
@@ -418,7 +422,7 @@ msgstr "
 msgid "Warning"
 msgstr "·Ù¹ð"
 
-#: src/alertpanel.c:124 src/inc.c:403
+#: src/alertpanel.c:124 src/inc.c:415
 msgid "Error"
 msgstr "¥¨¥é¡¼"
 
@@ -657,7 +661,7 @@ msgstr "
 msgid "Can't save the message to outbox."
 msgstr "¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¹µ¤ËÊݸ¤Ç¤­¤Þ¤»¤ó¡£"
 
-#: src/compose.c:1500 src/compose.c:1621 src/compose.c:1707 src/utils.c:1477
+#: src/compose.c:1500 src/compose.c:1621 src/compose.c:1707 src/utils.c:1495
 msgid "can't change file mode\n"
 msgstr "¥Õ¥¡¥¤¥ë¥â¡¼¥É¤òÊѹ¹¤Ç¤­¤Þ¤»¤ó\n"
 
@@ -703,7 +707,7 @@ msgstr "
 msgid "MIME type"
 msgstr "MIME ¥¿¥¤¥×"
 
-#: src/compose.c:2188 src/mimeview.c:135 src/prefs_common.c:2102
+#: src/compose.c:2188 src/mimeview.c:135 src/prefs_common.c:2123
 #: src/select-keys.c:297 src/summaryview.c:361
 msgid "Size"
 msgstr "¥µ¥¤¥º"
@@ -716,8 +720,8 @@ msgstr "
 msgid "From:"
 msgstr "º¹½Ð¿Í:"
 
-#: src/compose.c:2671 src/mainwindow.c:1352 src/prefs_account.c:486
-#: src/prefs_common.c:611
+#: src/compose.c:2671 src/mainwindow.c:1352 src/prefs_account.c:491
+#: src/prefs_common.c:618
 msgid "Send"
 msgstr "Á÷¿®"
 
@@ -757,7 +761,7 @@ msgstr "ź
 msgid "Attach file"
 msgstr "¥Õ¥¡¥¤¥ë¤òźÉÕ"
 
-#: src/compose.c:2715 src/prefs_common.c:1012
+#: src/compose.c:2715 src/prefs_common.c:1017
 msgid "Signature"
 msgstr "½ð̾"
 
@@ -889,7 +893,7 @@ msgid "Exporting file:"
 msgstr "¥¨¥¯¥¹¥Ý¡¼¥È¥Õ¥¡¥¤¥ë:"
 
 #: src/export.c:171 src/export.c:177 src/import.c:175 src/import.c:181
-#: src/prefs_filter.c:343
+#: src/prefs_filter.c:346
 msgid " Select... "
 msgstr " ÁªÂò... "
 
@@ -941,7 +945,7 @@ msgstr "
 msgid "New"
 msgstr "¿·Ãå"
 
-#: src/folderview.c:235 src/prefs_common.c:2099
+#: src/folderview.c:235 src/prefs_common.c:2120
 msgid "Unread"
 msgstr "̤ÆÉ"
 
@@ -975,7 +979,7 @@ msgstr "
 msgid "Updating all folders..."
 msgstr "Á´¥Õ¥©¥ë¥À¤ò¹¹¿·Ãæ..."
 
-#: src/folderview.c:597 src/prefs_account.c:639
+#: src/folderview.c:597 src/prefs_account.c:644
 msgid "Inbox"
 msgstr "¼õ¿®È¢"
 
@@ -1268,111 +1272,111 @@ msgstr "
 msgid "Select importing file"
 msgstr "¥¤¥ó¥Ý¡¼¥È¤¹¤ë¥Õ¥¡¥¤¥ë¤òÁªÂò"
 
-#: src/inc.c:183 src/inc.c:225
+#: src/inc.c:187 src/inc.c:236
 msgid "Standby"
 msgstr "ÂÔµ¡Ãæ"
 
-#: src/inc.c:243
+#: src/inc.c:255
 msgid "Retrieving new messages"
 msgstr "¿·Ãå¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®Ãæ"
 
-#: src/inc.c:372
+#: src/inc.c:384
 #, c-format
 msgid "Input password for %s on %s:"
 msgstr "%s (%s) ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÆþÎϤ·¤Æ¤¯¤À¤µ¤¤:"
 
-#: src/inc.c:376
+#: src/inc.c:388
 msgid "Input password"
 msgstr "¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎÏ"
 
-#: src/inc.c:393
+#: src/inc.c:405
 msgid "Retrieving"
 msgstr "¼õ¿®Ãæ"
 
-#: src/inc.c:400
+#: src/inc.c:412
 msgid "Done"
 msgstr "´°Î»"
 
-#: src/inc.c:409
+#: src/inc.c:421
 #, c-format
 msgid "Authorization for %s on %s failed"
 msgstr "%s (%s) ¤Îǧ¾Ú¤Ë¼ºÇÔ¤·¤Þ¤·¤¿"
 
-#: src/inc.c:475
+#: src/inc.c:487
 #, c-format
 msgid "getting new messages of account %s...\n"
 msgstr "¥¢¥«¥¦¥ó¥È %s ¤Î¿·Ãå¥á¥Ã¥»¡¼¥¸¤ò¼è¤ê¹þ¤ó¤Ç¤¤¤Þ¤¹...\n"
 
-#: src/inc.c:483
+#: src/inc.c:495
 #, c-format
 msgid "%s: Retrieving new messages"
 msgstr "%s: ¿·Ãå¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®Ãæ"
 
-#: src/inc.c:504
+#: src/inc.c:516
 #, c-format
 msgid "Connecting to POP3 server: %s ..."
 msgstr "POP3¥µ¡¼¥Ð: %s ¤ËÀܳÃæ..."
 
-#: src/inc.c:515 src/inc.c:649
+#: src/inc.c:527 src/inc.c:661
 #, c-format
 msgid "Can't connect to POP3 server: %s:%d\n"
 msgstr "POP3¥µ¡¼¥Ð: %s:%d ¤ËÀܳ¤Ç¤­¤Þ¤»¤ó\n"
 
-#: src/inc.c:518 src/inc.c:652
+#: src/inc.c:530 src/inc.c:664
 #, c-format
 msgid "Can't connect to POP3 server: %s:%d"
 msgstr "POP3¥µ¡¼¥Ð: %s:%d ¤ËÀܳ¤Ç¤­¤Þ¤»¤ó"
 
-#: src/inc.c:683 src/inc.c:733
+#: src/inc.c:694 src/inc.c:744
 #, c-format
 msgid "Retrieving message (%d / %d) (%d / %d bytes)"
 msgstr "¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®Ãæ (%d / %d) (%d / %d bytes)"
 
-#: src/inc.c:708
+#: src/inc.c:719
 msgid "Authorizing..."
 msgstr "ǧ¾ÚÃæ..."
 
-#: src/inc.c:713
+#: src/inc.c:724
 msgid "Getting the number of new messages (STAT)..."
 msgstr "¿·Ãå¥á¥Ã¥»¡¼¥¸¤Î¿ô¤ò¼èÆÀÃæ (STAT)..."
 
-#: src/inc.c:718
+#: src/inc.c:729
 msgid "Getting the number of new messages (LAST)..."
 msgstr "¿·Ãå¥á¥Ã¥»¡¼¥¸¤Î¿ô¤ò¼èÆÀÃæ (LAST)..."
 
-#: src/inc.c:723
+#: src/inc.c:734
 msgid "Getting the number of new messages (UIDL)..."
 msgstr "¿·Ãå¥á¥Ã¥»¡¼¥¸¤Î¿ô¤ò¼èÆÀÃæ (UIDL)..."
 
-#: src/inc.c:728
+#: src/inc.c:739
 msgid "Getting the size of messages (LIST)..."
 msgstr "¥á¥Ã¥»¡¼¥¸¤Î¥µ¥¤¥º¤ò¼èÆÀÃæ (LIST)..."
 
-#: src/inc.c:744
+#: src/inc.c:755
 msgid "Deleting message"
 msgstr "¥á¥Ã¥»¡¼¥¸¤òºï½üÃæ"
 
-#: src/inc.c:748
+#: src/inc.c:759
 msgid "Quitting"
 msgstr "ÀÚÃÇÃæ"
 
-#: src/inc.c:776
+#: src/inc.c:787
 msgid "a message won't be received\n"
 msgstr "¥á¥Ã¥»¡¼¥¸¤Ï¼õ¿®¤µ¤ì¤Þ¤»¤ó\n"
 
-#: src/inc.c:803
+#: src/inc.c:814
 msgid "Error occurred while processing mail."
 msgstr "¥á¡¼¥ë¤Î½èÍýÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£"
 
-#: src/inc.c:806
+#: src/inc.c:817
 msgid "No disk space left."
 msgstr "¥Ç¥£¥¹¥¯¤Î¶õ¤­ÍÆÎ̤¬¤¢¤ê¤Þ¤»¤ó¡£"
 
-#: src/inc.c:857
+#: src/inc.c:868
 msgid "no messages in local mailbox.\n"
 msgstr "¥í¡¼¥«¥ë¤Î¥á¡¼¥ë¥Ü¥Ã¥¯¥¹¤Ë¤Ï¥á¥Ã¥»¡¼¥¸¤¬¤¢¤ê¤Þ¤»¤ó¡£\n"
 
-#: src/inc.c:868
+#: src/inc.c:879
 #, c-format
 msgid "Getting new messages from %s into %s...\n"
 msgstr "¿·¤·¤¤¥á¥Ã¥»¡¼¥¸¤ò %s ¤«¤é %s ¤Ë¼è¤ê¹þ¤ó¤Ç¤¤¤Þ¤¹...\n"
@@ -1386,7 +1390,7 @@ msgid "Protocol log"
 msgstr "¥×¥í¥È¥³¥ë¥í¥°"
 
 #. for gettext
-#: src/main.c:103
+#: src/main.c:104
 #, c-format
 msgid ""
 "File `%s' already exists.\n"
@@ -1395,11 +1399,11 @@ msgstr ""
 "¥Õ¥¡¥¤¥ë `%s' ¤¬¤¹¤Ç¤Ë¸ºß¤·¤Þ¤¹¡£\n"
 "¥Õ¥©¥ë¥À¤òºîÀ®¤Ç¤­¤Þ¤»¤ó¡£"
 
-#: src/main.c:142
+#: src/main.c:143
 msgid "g_thread is not supported by glib.\n"
 msgstr "g_thread ¤Ï glib ¤Ë¤è¤Ã¤Æ¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: src/main.c:206
+#: src/main.c:207
 msgid ""
 "GnuPG is not installed properly.\n"
 "OpenPGP support disabled."
@@ -1407,49 +1411,49 @@ msgstr ""
 "GnuPG ¤¬Àµ¤·¤¯¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 "OpenPGP ¥µ¥Ý¡¼¥È¤Ï̵¸ú¤Ç¤¹¡£"
 
-#: src/main.c:281
+#: src/main.c:286
 #, c-format
 msgid "Usage: %s [OPTION]...\n"
 msgstr "»ÈÍÑË¡: %s [¥ª¥×¥·¥ç¥ó]...\n"
 
-#: src/main.c:283
+#: src/main.c:288
 msgid "  --compose [address]    open composition window"
 msgstr "  --compose [address]    ¥á¥Ã¥»¡¼¥¸ºîÀ®¥¦¥£¥ó¥É¥¦¤ò³«¤¯"
 
-#: src/main.c:284
+#: src/main.c:289
 msgid "  --receive              receive new messages"
 msgstr "  --receive              ¿·Ãå¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë"
 
-#: src/main.c:285
+#: src/main.c:290
 msgid "  --receive-all          receive new messages of all accounts"
 msgstr "  --receive-all          Á´¥¢¥«¥¦¥ó¥È¤Î¿·Ãå¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë"
 
-#: src/main.c:286
+#: src/main.c:291
 msgid "  --debug                debug mode"
 msgstr "  --debug                ¥Ç¥Ð¥Ã¥°¥â¡¼¥É"
 
-#: src/main.c:287
+#: src/main.c:292
 msgid "  --help                 display this help and exit"
 msgstr "  --help                 ¤³¤Î¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»¤¹¤ë"
 
-#: src/main.c:288
+#: src/main.c:293
 msgid "  --version              output version information and exit"
 msgstr "  --version              ¥Ð¡¼¥¸¥ç¥ó¾ðÊó¤ò½ÐÎϤ·¤Æ½ªÎ»¤¹¤ë"
 
-#: src/main.c:313
+#: src/main.c:318
 msgid "Composing message exists. Really quit?"
 msgstr "ºîÀ®Ãæ¤Î¥á¥Ã¥»¡¼¥¸¤¬Â¸ºß¤·¤Þ¤¹¡£ËÜÅö¤Ë½ªÎ»¤·¤Þ¤¹¤«?"
 
-#: src/main.c:320
+#: src/main.c:325
 msgid "Queued messages"
 msgstr "Á÷¿®ÂÔµ¡Ãæ¤Î¥á¥Ã¥»¡¼¥¸"
 
-#: src/main.c:321
+#: src/main.c:326
 msgid "Some unsent messages are queued. Exit now?"
 msgstr "Á÷¿®ÂÔµ¡Ãæ¤Î̤Á÷¿®¥á¥Ã¥»¡¼¥¸¤¬¤¢¤ê¤Þ¤¹¡£½ªÎ»¤·¤Þ¤¹¤«?"
 
 #. remote command mode
-#: src/main.c:392
+#: src/main.c:397
 msgid "another Sylpheed is already running.\n"
 msgstr "Ê̤ΠSylpheed ¤¬¤¹¤Ç¤Ëµ¯Æ°¤·¤Æ¤¤¤Þ¤¹¡£\n"
 
@@ -1959,7 +1963,7 @@ msgstr "
 msgid "Send queued message(s)"
 msgstr "Á÷¿®ÂÔµ¡Ãæ¤Î¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¤¹¤ë"
 
-#: src/mainwindow.c:1363 src/prefs_account.c:488 src/prefs_common.c:613
+#: src/mainwindow.c:1363 src/prefs_account.c:493 src/prefs_common.c:620
 msgid "Compose"
 msgstr "ºîÀ®"
 
@@ -2371,8 +2375,10 @@ msgstr "%s 
 msgid "Finished reading configuration.\n"
 msgstr "ÀßÄê¤ÎÆɤ߹þ¤ß¤ò´°Î»¤·¤Þ¤·¤¿¡£\n"
 
-#: src/prefs.c:168 src/prefs.c:213 src/prefs_account.c:353
-#: src/prefs_account.c:367 src/prefs_filter.c:512 src/prefs_filter.c:536
+#: src/prefs.c:168 src/prefs.c:213 src/prefs_account.c:354
+#: src/prefs_account.c:368 src/prefs_display_header.c:399
+#: src/prefs_display_header.c:424 src/prefs_filter.c:515
+#: src/prefs_filter.c:539
 msgid "failed to write configuration to file\n"
 msgstr "ÀßÄê¤Î¥Õ¥¡¥¤¥ë¤Ø¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿\n"
 
@@ -2384,312 +2390,312 @@ msgstr "
 msgid "Apply"
 msgstr "ŬÍÑ"
 
-#: src/prefs_account.c:398
+#: src/prefs_account.c:399
 msgid "Opening account preferences window...\n"
 msgstr "¥¢¥«¥¦¥ó¥È¥×¥ê¥Õ¥¡¥ì¥ó¥¹¥¦¥£¥ó¥É¥¦¤ò³«¤¤¤Æ¤¤¤Þ¤¹...\n"
 
-#: src/prefs_account.c:423
+#: src/prefs_account.c:426
 #, c-format
 msgid "Account%d"
 msgstr "Account%d"
 
-#: src/prefs_account.c:436
+#: src/prefs_account.c:439
 msgid "Preferences for new account"
 msgstr "¿·µ¬¥¢¥«¥¦¥ó¥È¤ÎÀßÄê"
 
-#: src/prefs_account.c:441
+#: src/prefs_account.c:444
 msgid "Preferences for each account"
 msgstr "¥¢¥«¥¦¥ó¥ÈËè¤ÎÀßÄê"
 
-#: src/prefs_account.c:462
+#: src/prefs_account.c:467
 msgid "Creating account preferences window...\n"
 msgstr "¥¢¥«¥¦¥ó¥È¥×¥ê¥Õ¥¡¥ì¥ó¥¹¥¦¥£¥ó¥É¥¦¤òºîÀ®Ãæ...\n"
 
-#: src/prefs_account.c:482
+#: src/prefs_account.c:487
 msgid "Basic"
 msgstr "´ðËÜ"
 
-#: src/prefs_account.c:484 src/prefs_common.c:609
+#: src/prefs_account.c:489 src/prefs_common.c:616
 msgid "Receive"
 msgstr "¼õ¿®"
 
-#: src/prefs_account.c:491 src/prefs_common.c:620
+#: src/prefs_account.c:496 src/prefs_common.c:627
 msgid "Privacy"
 msgstr "µ¡Ì©"
 
-#: src/prefs_account.c:494
+#: src/prefs_account.c:499
 msgid "Advanced"
 msgstr "¹âÅÙ¤ÊÀßÄê"
 
-#: src/prefs_account.c:547
+#: src/prefs_account.c:552
 msgid "Name of this account"
 msgstr "¤³¤Î¥¢¥«¥¦¥ó¥È¤Î̾¾Î"
 
-#: src/prefs_account.c:556
+#: src/prefs_account.c:561
 msgid "Usually used"
 msgstr "Ä̾ï»ÈÍÑ"
 
-#: src/prefs_account.c:560
+#: src/prefs_account.c:565
 msgid "Personal information"
 msgstr "¸Ä¿Í¾ðÊó"
 
-#: src/prefs_account.c:569
+#: src/prefs_account.c:574
 msgid "Full name"
 msgstr "̾Á°"
 
-#: src/prefs_account.c:575
+#: src/prefs_account.c:580
 msgid "Mail address"
 msgstr "¥á¡¼¥ë¥¢¥É¥ì¥¹"
 
-#: src/prefs_account.c:581
+#: src/prefs_account.c:586
 msgid "Organization"
 msgstr "ÁÈ¿¥"
 
-#: src/prefs_account.c:605
+#: src/prefs_account.c:610
 msgid "Server information"
 msgstr "¥µ¡¼¥Ð¾ðÊó"
 
-#: src/prefs_account.c:626
+#: src/prefs_account.c:631
 msgid "POP3 (normal)"
 msgstr "POP3 (ɸ½à)"
 
-#: src/prefs_account.c:628
+#: src/prefs_account.c:633
 msgid "POP3 (APOP auth)"
 msgstr "POP3 (APOPǧ¾Ú)"
 
-#: src/prefs_account.c:630
+#: src/prefs_account.c:635
 msgid "IMAP4"
 msgstr "IMAP4"
 
-#: src/prefs_account.c:632
+#: src/prefs_account.c:637
 msgid "News (NNTP)"
 msgstr "¥Ë¥å¡¼¥¹ (NNTP)"
 
-#: src/prefs_account.c:634
+#: src/prefs_account.c:639
 msgid "None (local)"
 msgstr "¤Ê¤· (¥í¡¼¥«¥ë)"
 
-#: src/prefs_account.c:688
+#: src/prefs_account.c:693
 msgid "News server"
 msgstr "¥Ë¥å¡¼¥¹¥µ¡¼¥Ð"
 
-#: src/prefs_account.c:694
+#: src/prefs_account.c:699
 msgid "Server for receiving"
 msgstr "¼õ¿®ÍÑ¥µ¡¼¥Ð"
 
-#: src/prefs_account.c:700
+#: src/prefs_account.c:705
 msgid "SMTP server (send)"
 msgstr "SMTP¥µ¡¼¥Ð (Á÷¿®)"
 
-#: src/prefs_account.c:707
+#: src/prefs_account.c:712
 msgid "User ID"
 msgstr "¥æ¡¼¥¶ID"
 
-#: src/prefs_account.c:713
+#: src/prefs_account.c:718
 msgid "Password"
 msgstr "¥Ñ¥¹¥ï¡¼¥É"
 
-#: src/prefs_account.c:757
+#: src/prefs_account.c:762
 msgid "POP3"
 msgstr "POP3"
 
-#: src/prefs_account.c:765
+#: src/prefs_account.c:770
 msgid "Remove messages on server when received"
 msgstr "¼õ¿®»þ¤Ë¥µ¡¼¥Ð¾å¤Î¥á¥Ã¥»¡¼¥¸¤òºï½ü¤¹¤ë"
 
-#: src/prefs_account.c:767
+#: src/prefs_account.c:772
 msgid "Receive all messages on server"
 msgstr "¥µ¡¼¥Ð¾å¤ÎÁ´¤Æ¤Î¥á¥Ã¥»¡¼¥¸¤ò¼õ¿®¤¹¤ë"
 
-#: src/prefs_account.c:769
-msgid "Receive at getting from all accounts"
-msgstr "¡ÖÁ´¥¢¥«¥¦¥ó¥È¤«¤é¼õ¿®¡×¤Ç¼õ¿®¤¹¤ë"
+#: src/prefs_account.c:775
+msgid "`Receive all' checks for new mail on this account"
+msgstr "¡ÖÁ´¼õ¿®¡×¤Ç¤³¤Î¥¢¥«¥¦¥ó¥È¤Î¿·Ãå¥á¡¼¥ë¤ò¥Á¥§¥Ã¥¯¤¹¤ë"
 
-#: src/prefs_account.c:771
+#: src/prefs_account.c:777
 msgid "Filter messages on receiving"
 msgstr "¼õ¿®»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ò¿¶¤êʬ¤±¤ë"
 
-#: src/prefs_account.c:808 src/prefs_filter.c:238
+#: src/prefs_account.c:814 src/prefs_filter.c:241
 msgid "Header"
 msgstr "¥Ø¥Ã¥À"
 
-#: src/prefs_account.c:815
+#: src/prefs_account.c:821
 msgid "Add Date header field"
 msgstr "Date¥Ø¥Ã¥À¥Õ¥£¡¼¥ë¥É¤òÉÕ¤±¤ë"
 
-#: src/prefs_account.c:816
+#: src/prefs_account.c:822
 msgid "Generate Message-ID"
 msgstr "¥á¥Ã¥»¡¼¥¸ID¤òÀ¸À®¤¹¤ë"
 
-#: src/prefs_account.c:825
+#: src/prefs_account.c:831
 msgid "Add user-defined header"
 msgstr "¥æ¡¼¥¶ÄêµÁ¤Î¥Ø¥Ã¥À¤òÄɲ乤ë"
 
-#: src/prefs_account.c:827 src/prefs_common.c:1259
+#: src/prefs_account.c:833 src/prefs_common.c:1265 src/prefs_common.c:1290
 msgid " Edit... "
 msgstr " ÊÔ½¸... "
 
-#: src/prefs_account.c:834
+#: src/prefs_account.c:840
 msgid "Automatically set following addresses"
 msgstr "°Ê²¼¤Î¥¢¥É¥ì¥¹¤ò¼«Æ°»ØÄê"
 
-#: src/prefs_account.c:843
+#: src/prefs_account.c:849
 msgid "Cc"
 msgstr "Cc"
 
-#: src/prefs_account.c:856
+#: src/prefs_account.c:862
 msgid "Bcc"
 msgstr "Bcc"
 
-#: src/prefs_account.c:869
+#: src/prefs_account.c:875
 msgid "Reply-To"
 msgstr "Reply-To"
 
-#: src/prefs_account.c:882
+#: src/prefs_account.c:888
 msgid "Authentication"
 msgstr "ǧ¾Ú"
 
-#: src/prefs_account.c:890
+#: src/prefs_account.c:896
 msgid "SMTP Authentication (SMTP AUTH)"
 msgstr "SMTPǧ¾Ú (SMTP AUTH)"
 
-#: src/prefs_account.c:892
+#: src/prefs_account.c:898
 msgid "Authenticate with POP3 before sending"
 msgstr "Á÷¿®Á°¤ËPOP3ǧ¾Ú¤ò¹Ô¤¦"
 
-#: src/prefs_account.c:926
+#: src/prefs_account.c:932
 msgid "Signature file"
 msgstr "½ð̾¥Õ¥¡¥¤¥ë"
 
-#: src/prefs_account.c:955
+#: src/prefs_account.c:961
 msgid "Sign key"
 msgstr "½ð̾¸°"
 
-#: src/prefs_account.c:963
+#: src/prefs_account.c:969
 msgid "Use default GnuPG key"
 msgstr "ɸ½à¤ÎGnuPG¸°¤ò»ÈÍѤ¹¤ë"
 
-#: src/prefs_account.c:972
+#: src/prefs_account.c:978
 msgid "Select key by your email address"
 msgstr "¼«Ê¬¤ÎÅŻҥ᡼¥ë¥¢¥É¥ì¥¹¤Ç¸°¤òÁªÂò¤¹¤ë"
 
-#: src/prefs_account.c:981
+#: src/prefs_account.c:987
 msgid "Specify key manually"
 msgstr "¸°¤ò¼êÆ°¤Ç»ØÄꤹ¤ë"
 
-#: src/prefs_account.c:997
+#: src/prefs_account.c:1003
 msgid "User or key ID:"
 msgstr "¥æ¡¼¥¶¤Þ¤¿¤Ï¸°ID:"
 
-#: src/prefs_account.c:1042
+#: src/prefs_account.c:1048
 msgid "Specify SMTP port"
 msgstr "SMTP¥Ý¡¼¥È¤ò»ØÄê"
 
-#: src/prefs_account.c:1054
+#: src/prefs_account.c:1060
 msgid "Specify POP3 port"
 msgstr "POP3¥Ý¡¼¥È¤ò»ØÄê"
 
-#: src/prefs_account.c:1066
+#: src/prefs_account.c:1072
 msgid "Specify domain name"
 msgstr "¥É¥á¥¤¥ó̾¤ò»ØÄê"
 
-#: src/prefs_account.c:1106
+#: src/prefs_account.c:1112
 msgid "Mail address is not entered."
 msgstr "¥á¡¼¥ë¥¢¥É¥ì¥¹¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_account.c:1111
+#: src/prefs_account.c:1117
 msgid "SMTP server is not entered."
 msgstr "SMTP¥µ¡¼¥Ð¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_account.c:1116
+#: src/prefs_account.c:1122
 msgid "User ID is not entered."
 msgstr "¥æ¡¼¥¶ID¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_account.c:1121
+#: src/prefs_account.c:1127
 msgid "POP3 server is not entered."
 msgstr "POP3¥µ¡¼¥Ð¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_account.c:1126
+#: src/prefs_account.c:1132
 msgid "IMAP4 server is not entered."
 msgstr "IMAP4¥µ¡¼¥Ð¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_account.c:1131
+#: src/prefs_account.c:1137
 msgid "NNTP server is not entered."
 msgstr "NNTP¥µ¡¼¥Ð¤¬ÆþÎϤµ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_common.c:586
+#: src/prefs_common.c:594
 msgid "Creating common preferences window...\n"
 msgstr "Á´ÈÌ¥×¥ê¥Õ¥¡¥ì¥ó¥¹¥¦¥£¥ó¥É¥¦¤òºîÀ®Ãæ...\n"
 
-#: src/prefs_common.c:590
+#: src/prefs_common.c:598
 msgid "Common Preferences"
 msgstr "Á´È̤ÎÀßÄê"
 
-#: src/prefs_common.c:615
+#: src/prefs_common.c:622
 msgid "Display"
 msgstr "ɽ¼¨"
 
-#: src/prefs_common.c:617
+#: src/prefs_common.c:624
 msgid "Message"
 msgstr "¥á¥Ã¥»¡¼¥¸"
 
-#: src/prefs_common.c:623
+#: src/prefs_common.c:630
 msgid "Interface"
 msgstr "¥¤¥ó¥¿¥Õ¥§¡¼¥¹"
 
-#: src/prefs_common.c:625 src/select-keys.c:322
+#: src/prefs_common.c:632 src/select-keys.c:322
 msgid "Other"
 msgstr "¤½¤Î¾"
 
-#: src/prefs_common.c:665 src/prefs_common.c:825
+#: src/prefs_common.c:672 src/prefs_common.c:830
 msgid "External program"
 msgstr "³°Éô¥×¥í¥°¥é¥à"
 
-#: src/prefs_common.c:674
+#: src/prefs_common.c:681
 msgid "Use external program for incorporation"
 msgstr "¥á¡¼¥ë¤Î¼õ¿®¤Ë³°Éô¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë"
 
-#: src/prefs_common.c:681 src/prefs_common.c:842
+#: src/prefs_common.c:688 src/prefs_common.c:847
 msgid "Program path"
 msgstr "¥×¥í¥°¥é¥à¤Î¥Ñ¥¹"
 
-#: src/prefs_common.c:693
+#: src/prefs_common.c:700
 msgid "Local spool"
 msgstr "¥í¡¼¥«¥ë¥¹¥×¡¼¥ë"
 
-#: src/prefs_common.c:704
+#: src/prefs_common.c:711
 msgid "Incorporate from spool"
 msgstr "¥¹¥×¡¼¥ë¤«¤é¼è¤ê¹þ¤à"
 
-#: src/prefs_common.c:706
+#: src/prefs_common.c:713
 msgid "Filter on incorporation"
 msgstr "¼è¹þ»þ¤Ë¿¶¤êʬ¤±¤ë"
 
-#: src/prefs_common.c:714
+#: src/prefs_common.c:721
 msgid "Spool directory"
 msgstr "¥¹¥×¡¼¥ë¥Ç¥£¥ì¥¯¥È¥ê"
 
-#: src/prefs_common.c:734
+#: src/prefs_common.c:739
 msgid "Auto-check new mail"
 msgstr "¿·Ãå¥á¡¼¥ë¤ò¼«Æ°¥Á¥§¥Ã¥¯¤¹¤ë"
 
-#: src/prefs_common.c:736
+#: src/prefs_common.c:741
 msgid "each"
 msgstr " "
 
-#: src/prefs_common.c:748
+#: src/prefs_common.c:753
 msgid "minute(s)"
 msgstr "ʬ¤´¤È"
 
-#: src/prefs_common.c:757
+#: src/prefs_common.c:762
 msgid "Check new mail on startup"
 msgstr "µ¯Æ°»þ¤Ë¿·Ãå¥á¡¼¥ë¤ò¥Á¥§¥Ã¥¯¤¹¤ë"
 
-#: src/prefs_common.c:759
+#: src/prefs_common.c:764
 msgid "News"
 msgstr "¥Ë¥å¡¼¥¹"
 
-#: src/prefs_common.c:767
+#: src/prefs_common.c:772
 msgid ""
 "Maximum article number to download\n"
 "(unlimited if 0 is specified)"
@@ -2697,184 +2703,184 @@ msgstr ""
 "¥À¥¦¥ó¥í¡¼¥É¤¹¤ëµ­»ö¿ô¤Î¾å¸Â\n"
 "(0¤Ç̵À©¸Â)"
 
-#: src/prefs_common.c:835
+#: src/prefs_common.c:840
 msgid "Use external program for sending"
 msgstr "¥á¡¼¥ë¤ÎÁ÷¿®¤Ë³°Éô¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë"
 
-#: src/prefs_common.c:859
+#: src/prefs_common.c:864
 msgid "Save sent message to outbox"
 msgstr "Á÷¿®¤·¤¿¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®¹µ¤ËÊݸ¤¹¤ë"
 
-#: src/prefs_common.c:861
+#: src/prefs_common.c:866
 msgid "Queue message that failed to send"
 msgstr "Á÷¿®¤Ë¼ºÇÔ¤·¤¿¥á¥Ã¥»¡¼¥¸¤òÁ÷¿®ÂÔ¤Á¤ËÆþ¤ì¤ë"
 
-#: src/prefs_common.c:867
+#: src/prefs_common.c:872
 msgid "Outgoing codeset"
 msgstr "Á÷¿®¥³¡¼¥É¥»¥Ã¥È"
 
-#: src/prefs_common.c:882
+#: src/prefs_common.c:887
 msgid "Automatic"
 msgstr "¼«Æ°ÀßÄê"
 
-#: src/prefs_common.c:883
+#: src/prefs_common.c:888
 msgid "7bit ascii (US-ASCII)"
 msgstr "7bit ascii (US-ASCII)"
 
-#: src/prefs_common.c:885
+#: src/prefs_common.c:890
 msgid "Unicode (UTF-8)"
 msgstr "Unicode (UTF-8)"
 
-#: src/prefs_common.c:887
+#: src/prefs_common.c:892
 msgid "Western European (ISO-8859-1)"
 msgstr "²¤ÊÆ (ISO-8859-1)"
 
-#: src/prefs_common.c:889
+#: src/prefs_common.c:894
 msgid "Central European (ISO-8859-2)"
 msgstr "Ã沤 (ISO-8859-2)"
 
-#: src/prefs_common.c:890
+#: src/prefs_common.c:895
 msgid "Baltic (ISO-8859-13)"
 msgstr "¥Ð¥ë¥È½ô¹ñ (ISO-8859-13)"
 
-#: src/prefs_common.c:891
+#: src/prefs_common.c:896
 msgid "Baltic (ISO-8859-4)"
 msgstr "¥Ð¥ë¥È½ô¹ñ (ISO-8859-4)"
 
-#: src/prefs_common.c:892
+#: src/prefs_common.c:897
 msgid "Greek (ISO-8859-7)"
 msgstr "¥®¥ê¥·¥ã¸ì (ISO-8859-7)"
 
-#: src/prefs_common.c:893
+#: src/prefs_common.c:898
 msgid "Turkish (ISO-8859-9)"
 msgstr "¥È¥ë¥³¸ì (ISO-8859-9)"
 
-#: src/prefs_common.c:894
+#: src/prefs_common.c:899
 msgid "Cyrillic (ISO-8859-5)"
 msgstr "¥­¥ê¥ëʸ»ú (ISO-8859-5)"
 
-#: src/prefs_common.c:895
+#: src/prefs_common.c:900
 msgid "Cyrillic (KOI8-R)"
 msgstr "¥­¥ê¥ëʸ»ú (KOI8-R)"
 
-#: src/prefs_common.c:896
+#: src/prefs_common.c:901
 msgid "Cyrillic (Windows-1251)"
 msgstr "¥­¥ê¥ëʸ»ú (Windows-1251)"
 
-#: src/prefs_common.c:897
+#: src/prefs_common.c:902
 msgid "Cyrillic (KOI8-U)"
 msgstr "¥­¥ê¥ëʸ»ú (KOI8-U)"
 
-#: src/prefs_common.c:899
+#: src/prefs_common.c:904
 msgid "Japanese (ISO-2022-JP)"
 msgstr "ÆüËܸì (ISO-2022-JP)"
 
-#: src/prefs_common.c:901
+#: src/prefs_common.c:906
 msgid "Japanese (EUC-JP)"
 msgstr "ÆüËܸì (EUC-JP)"
 
-#: src/prefs_common.c:902
+#: src/prefs_common.c:907
 msgid "Japanese (Shift_JIS)"
 msgstr "ÆüËܸì (Shift_JIS)"
 
-#: src/prefs_common.c:905
+#: src/prefs_common.c:910
 msgid "Simplified Chinese (GB2312)"
 msgstr "´ÊÂλúÃæ¹ñ¸ì (GB2312)"
 
-#: src/prefs_common.c:906
+#: src/prefs_common.c:911
 msgid "Traditional Chinese (Big5)"
 msgstr "ÈËÂλúÃæ¹ñ¸ì (Big5)"
 
-#: src/prefs_common.c:908
+#: src/prefs_common.c:913
 msgid "Traditional Chinese (EUC-TW)"
 msgstr "ÈËÂλúÃæ¹ñ¸ì (EUC-TW)"
 
-#: src/prefs_common.c:909
+#: src/prefs_common.c:914
 msgid "Chinese (ISO-2022-CN)"
 msgstr "Ãæ¹ñ¸ì (ISO-2022-CN)"
 
-#: src/prefs_common.c:911
+#: src/prefs_common.c:916
 msgid "Korean (EUC-KR)"
 msgstr "´Ú¹ñ¸ì (EUC-KR)"
 
-#: src/prefs_common.c:961
+#: src/prefs_common.c:966
 msgid "Quotation"
 msgstr "°úÍÑ"
 
-#: src/prefs_common.c:969
+#: src/prefs_common.c:974
 msgid "Quote message when replying"
 msgstr "ÊÖ¿®»þ¤Ë¥á¥Ã¥»¡¼¥¸¤ò°úÍѤ¹¤ë"
 
-#: src/prefs_common.c:975
+#: src/prefs_common.c:980
 msgid "Quotation mark"
 msgstr "°úÍÑÉä"
 
-#: src/prefs_common.c:988
+#: src/prefs_common.c:993
 msgid "Quotation format:"
 msgstr "°úÍѤηÁ¼°:"
 
-#: src/prefs_common.c:993
+#: src/prefs_common.c:998
 msgid " Description of symbols "
 msgstr " µ­¹æ¤ÎÀâÌÀ "
 
-#: src/prefs_common.c:1020
+#: src/prefs_common.c:1025
 msgid "Insert signature automatically"
 msgstr "¼«Æ°Åª¤Ë½ð̾¤òÁÞÆþ¤¹¤ë"
 
-#: src/prefs_common.c:1026
+#: src/prefs_common.c:1031
 msgid "Signature separator"
 msgstr "½ð̾¤Î¶èÀÚ¤ê"
 
-#: src/prefs_common.c:1044
+#: src/prefs_common.c:1049
 msgid "Wrap messages at"
 msgstr "¥á¥Ã¥»¡¼¥¸¤òȾ³Ñ"
 
-#: src/prefs_common.c:1056
+#: src/prefs_common.c:1061
 msgid "characters"
 msgstr "ʸ»ú¤Ç²þ¹Ô"
 
-#: src/prefs_common.c:1064
+#: src/prefs_common.c:1069
 msgid "Wrap quotation"
 msgstr "°úÍÑÉô¤ò¼«Æ°²þ¹Ô¤¹¤ë"
 
-#: src/prefs_common.c:1066
+#: src/prefs_common.c:1071
 msgid "Wrap before sending"
 msgstr "Á÷¿®»þ¤Ë¼«Æ°²þ¹Ô¤¹¤ë"
 
-#: src/prefs_common.c:1105
+#: src/prefs_common.c:1110
 msgid "Font"
 msgstr "¥Õ¥©¥ó¥È"
 
-#: src/prefs_common.c:1114
+#: src/prefs_common.c:1119
 msgid "Text"
 msgstr "¥Æ¥­¥¹¥È"
 
-#: src/prefs_common.c:1137
+#: src/prefs_common.c:1142
 msgid "Translate header name (such as `From:', `Subject:')"
 msgstr "¥Ø¥Ã¥À¤Î¹àÌܤòËÝÌõ¤¹¤ë (Î㤨¤Ð `From:', `Subject:' Åù)"
 
-#: src/prefs_common.c:1140
+#: src/prefs_common.c:1145
 msgid "Display unread number next to folder name"
 msgstr "¥Õ¥©¥ë¥À̾¤Î²£¤Ë̤ÆÉ¿ô¤òɽ¼¨¤¹¤ë"
 
 #. ---- Summary ----
-#: src/prefs_common.c:1144
+#: src/prefs_common.c:1149
 msgid "Summary View"
 msgstr "¥µ¥Þ¥ê¥Ó¥å¡¼"
 
-#: src/prefs_common.c:1153
+#: src/prefs_common.c:1158
 msgid "Display recipient on `From' column if sender is yourself"
 msgstr "º¹½Ð¿Í¤¬¼«Ê¬¤Î¾ì¹ç¤Ï `º¹½Ð¿Í' ¥«¥é¥à¤Ë°¸Àè¤òɽ¼¨¤¹¤ë"
 
-#: src/prefs_common.c:1155
+#: src/prefs_common.c:1160
 msgid "Enable horizontal scroll bar"
 msgstr "¿åÊ¿¥¹¥¯¥í¡¼¥ë¥Ð¡¼¤òÍ­¸ú¤Ë¤¹¤ë"
 
-#: src/prefs_common.c:1161
+#: src/prefs_common.c:1166
 msgid "Date format"
 msgstr "ÆüÉդνñ¼°"
 
-#: src/prefs_common.c:1172
+#: src/prefs_common.c:1177
 msgid ""
 "Ordinary characters placed in the format string are copied without "
 "conversion. Conversion specifiers are introduced by a % character, and are "
@@ -2921,76 +2927,76 @@ msgstr ""
 "%Y: (4·å¤Î)À¾Îñǯ\n"
 "%Z: ¥¿¥¤¥à¥¾¡¼¥ó¤Þ¤¿¤Ï¥¾¡¼¥ó̾¤Þ¤¿¤Ï¾Êά̾"
 
-#: src/prefs_common.c:1201
+#: src/prefs_common.c:1206
 msgid " Set display item of summary... "
 msgstr " ¥µ¥Þ¥ê¤Îɽ¼¨¹àÌܤòÀßÄê... "
 
-#: src/prefs_common.c:1254
+#: src/prefs_common.c:1260
 msgid "Enable coloration of message"
 msgstr "¥á¥Ã¥»¡¼¥¸¤Î¿§¤òÍ­¸ú¤Ë¤¹¤ë"
 
-#: src/prefs_common.c:1273
+#: src/prefs_common.c:1279
 msgid "Display 2-byte alphabet and numeric with 1-byte character"
 msgstr "2¥Ð¥¤¥È±Ñ¿ô»ú¤ò1¥Ð¥¤¥Èʸ»ú¤Çɽ¼¨¤¹¤ë"
 
-#: src/prefs_common.c:1275
+#: src/prefs_common.c:1281
 msgid "Display header pane above message view"
 msgstr "¥á¥Ã¥»¡¼¥¸¥Ó¥å¡¼¤Î¾åÉô¤Ë¥Ø¥Ã¥À¥Ú¥¤¥ó¤òɽ¼¨¤¹¤ë"
 
-#: src/prefs_common.c:1277
+#: src/prefs_common.c:1288
 msgid "Display short headers on message view"
 msgstr "¥á¥Ã¥»¡¼¥¸¥Ó¥å¡¼¤Ë´Êά¥Ø¥Ã¥À¤òɽ¼¨¤¹¤ë"
 
-#: src/prefs_common.c:1287
+#: src/prefs_common.c:1308
 msgid "Line space"
 msgstr "¹Ô´Ö¤ò¶õ¤±¤ë"
 
-#: src/prefs_common.c:1301 src/prefs_common.c:1341
+#: src/prefs_common.c:1322 src/prefs_common.c:1362
 msgid "pixel(s)"
 msgstr "¥Ô¥¯¥»¥ë"
 
-#: src/prefs_common.c:1306
+#: src/prefs_common.c:1327
 msgid "Leave space on head"
 msgstr "¹ÔƬ¤ò¶õ¤±¤ë"
 
-#: src/prefs_common.c:1308
+#: src/prefs_common.c:1329
 msgid "Scroll"
 msgstr "¥¹¥¯¥í¡¼¥ë"
 
-#: src/prefs_common.c:1315
+#: src/prefs_common.c:1336
 msgid "Half page"
 msgstr "Ⱦ¥Ú¡¼¥¸Ã±°Ì"
 
-#: src/prefs_common.c:1321
+#: src/prefs_common.c:1342
 msgid "Smooth scroll"
 msgstr "¥¹¥à¡¼¥º¥¹¥¯¥í¡¼¥ë"
 
-#: src/prefs_common.c:1327
+#: src/prefs_common.c:1348
 msgid "Step"
 msgstr "´Ö³Ö"
 
-#: src/prefs_common.c:1386
+#: src/prefs_common.c:1407
 msgid "Encrypt message by default"
 msgstr "ɸ½à¤Ç¥á¥Ã¥»¡¼¥¸¤ò°Å¹æ²½¤¹¤ë"
 
-#: src/prefs_common.c:1389
+#: src/prefs_common.c:1410
 msgid "Sign message by default"
 msgstr "ɸ½à¤Ç¥á¥Ã¥»¡¼¥¸¤Ë½ð̾¤¹¤ë"
 
-#: src/prefs_common.c:1392
+#: src/prefs_common.c:1413
 msgid "Automatically check signatures"
 msgstr "½ð̾¤ò¼«Æ°Åª¤Ë¸¡¾Ú"
 
-#: src/prefs_common.c:1396
+#: src/prefs_common.c:1417
 msgid "Grab input while entering a passphrase"
 msgstr "¥Ñ¥¹¥Õ¥ì¡¼¥º¤ÎÆþÎÏ»þ¤ËÆþÎϤòÊ᪤¹¤ë"
 
 #. create default signkey box
-#: src/prefs_common.c:1404
+#: src/prefs_common.c:1425
 msgid "Default Sign Key"
 msgstr "ɸ½à¤Î½ð̾¸°"
 
-#: src/prefs_common.c:1503
+#: src/prefs_common.c:1524
 msgid ""
 "Emulate the behavior of mouse operation of\n"
 "Emacs-based mailer"
@@ -2998,19 +3004,19 @@ msgstr ""
 "Emacs¾å¤Î¥á¡¼¥é¤Î¥Þ¥¦¥¹Áàºî»þ¤ÎµóÆ°¤ò\n"
 "¥¨¥ß¥å¥ì¡¼¥È¤¹¤ë"
 
-#: src/prefs_common.c:1510
+#: src/prefs_common.c:1531
 msgid "Open first unread message when entering a folder"
 msgstr "¥Õ¥©¥ë¥À¤ËÆþ¤Ã¤¿¤È¤­¤ËºÇ½é¤Î̤ÆÉ¥á¥Ã¥»¡¼¥¸¤ò³«¤¯"
 
-#: src/prefs_common.c:1514
+#: src/prefs_common.c:1535
 msgid "Go to inbox after receiving new mail"
 msgstr "¿·Ãå¥á¡¼¥ë¤ò¼õ¿®¤·¤¿¸å¼õ¿®È¢¤Ë°ÜÆ°¤¹¤ë"
 
-#: src/prefs_common.c:1522
+#: src/prefs_common.c:1543
 msgid "Execute immediately when moving or deleting messages"
 msgstr "¥á¥Ã¥»¡¼¥¸¤ò°ÜÆ°¤Þ¤¿¤Ïºï½ü¤·¤¿¤é¨ºÂ¤Ë¼Â¹Ô¤¹¤ë"
 
-#: src/prefs_common.c:1529
+#: src/prefs_common.c:1550
 msgid ""
 "(Messages will be just marked till execution\n"
 " if this is turned off)"
@@ -3018,98 +3024,98 @@ msgstr ""
 "(¤³¤ì¤ò̵¸ú¤Ë¤¹¤ë¤È¡¢¥á¥Ã¥»¡¼¥¸¤Ï¼Â¹Ô¤µ¤ì¤ë¤Þ¤Ç\n"
 " ¥Þ¡¼¥¯¤µ¤ì¤¿¾õÂ֤ˤʤê¤Þ¤¹)"
 
-#: src/prefs_common.c:1536
+#: src/prefs_common.c:1557
 msgid "Add address to destination when double-clicked"
 msgstr "¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤¿¤È¤­¤Ë¥¢¥É¥ì¥¹¤ò°¸Àè¤ËÄɲ乤ë"
 
-#: src/prefs_common.c:1538
+#: src/prefs_common.c:1559
 msgid "On exit"
 msgstr "½ªÎ»»þ"
 
-#: src/prefs_common.c:1546
+#: src/prefs_common.c:1567
 msgid "Confirm on exit"
 msgstr "½ªÎ»»þ¤Ë³Îǧ¤¹¤ë"
 
-#: src/prefs_common.c:1553
+#: src/prefs_common.c:1574
 msgid "Empty trash on exit"
 msgstr "½ªÎ»»þ¤Ë¤´¤ßÈ¢¤ò¶õ¤Ë¤¹¤ë"
 
-#: src/prefs_common.c:1555
+#: src/prefs_common.c:1576
 msgid "Ask before emptying"
 msgstr "¶õ¤Ë¤¹¤ëÁ°¤Ë¿Ò¤Í¤ë"
 
-#: src/prefs_common.c:1559
+#: src/prefs_common.c:1580
 msgid "Warn if there are queued messages"
 msgstr "Á÷¿®ÂÔµ¡Ãæ¤Î¥á¥Ã¥»¡¼¥¸¤¬¤¢¤ì¤Ð·Ù¹ð¤¹¤ë"
 
-#: src/prefs_common.c:1597
+#: src/prefs_common.c:1618
 #, c-format
 msgid "External Web browser (%s will be replaced with URI)"
 msgstr "³°ÉôWeb¥Ö¥é¥¦¥¶ (%s ¤ÏURI¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹)"
 
-#: src/prefs_common.c:1604 src/prefs_common.c:1628 src/prefs_common.c:1644
+#: src/prefs_common.c:1625 src/prefs_common.c:1649 src/prefs_common.c:1665
 msgid "Command"
 msgstr "¥³¥Þ¥ó¥É"
 
-#: src/prefs_common.c:1621
+#: src/prefs_common.c:1642
 #, c-format
 msgid "Printing (%s will be replaced with file name)"
 msgstr "°õºþ (%s ¤Ï¥Õ¥¡¥¤¥ë̾¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹)"
 
-#: src/prefs_common.c:1637
+#: src/prefs_common.c:1658
 #, c-format
 msgid "External editor (%s will be replaced with file name)"
 msgstr "³°Éô¥¨¥Ç¥£¥¿ (%s ¤Ï¥Õ¥¡¥¤¥ë̾¤ÇÃÖ¤­´¹¤¨¤é¤ì¤Þ¤¹)"
 
-#: src/prefs_common.c:1699
+#: src/prefs_common.c:1720
 msgid "Set message colors"
 msgstr "¥á¥Ã¥»¡¼¥¸¤Î¿§¤ò»ØÄê"
 
-#: src/prefs_common.c:1707
+#: src/prefs_common.c:1728
 msgid "Colors"
 msgstr "¿§"
 
-#: src/prefs_common.c:1745
+#: src/prefs_common.c:1766
 msgid "Quoted Text - First Level"
 msgstr "°úÍÑʸ - 1Ãʳ¬"
 
-#: src/prefs_common.c:1751
+#: src/prefs_common.c:1772
 msgid "Quoted Text - Second Level"
 msgstr "°úÍÑʸ - 2Ãʳ¬"
 
-#: src/prefs_common.c:1757
+#: src/prefs_common.c:1778
 msgid "Quoted Text - Third Level"
 msgstr "°úÍÑʸ - 3Ãʳ¬"
 
-#: src/prefs_common.c:1763
+#: src/prefs_common.c:1784
 msgid "URI link"
 msgstr "URI ¥ê¥ó¥¯"
 
-#: src/prefs_common.c:1770
+#: src/prefs_common.c:1791
 msgid "Recycle quote colors"
 msgstr "°úÍÑ¿§¤ò½Û´Ä"
 
-#: src/prefs_common.c:1818
+#: src/prefs_common.c:1839
 msgid "Pick color for quotation level 1"
 msgstr "°úÍÑ¥ì¥Ù¥ë1¤Î¿§¤òÁªÂò"
 
-#: src/prefs_common.c:1821
+#: src/prefs_common.c:1842
 msgid "Pick color for quotation level 2"
 msgstr "°úÍÑ¥ì¥Ù¥ë2¤Î¿§¤òÁªÂò"
 
-#: src/prefs_common.c:1824
+#: src/prefs_common.c:1845
 msgid "Pick color for quotation level 3"
 msgstr "°úÍÑ¥ì¥Ù¥ë3¤Î¿§¤òÁªÂò"
 
-#: src/prefs_common.c:1827
+#: src/prefs_common.c:1848
 msgid "Pick color for URI"
 msgstr "URI ¤Î¿§¤òÁªÂò"
 
-#: src/prefs_common.c:1951
+#: src/prefs_common.c:1972
 msgid "Description of symbols"
 msgstr "µ­¹æ¤ÎÀâÌÀ"
 
-#: src/prefs_common.c:1978
+#: src/prefs_common.c:1999
 #, c-format
 msgid ""
 "Date\n"
@@ -3132,122 +3138,158 @@ msgstr ""
 "¥á¥Ã¥»¡¼¥¸ID\n"
 "%"
 
-#: src/prefs_common.c:2081
+#: src/prefs_common.c:2102
 msgid "Set display item"
 msgstr "ɽ¼¨¹àÌܤÎÀßÄê"
 
-#: src/prefs_common.c:2098
+#: src/prefs_common.c:2119
 msgid "Mark"
 msgstr "¥Þ¡¼¥¯"
 
-#: src/prefs_common.c:2100
+#: src/prefs_common.c:2121
 msgid "MIME"
 msgstr "MIME"
 
-#: src/prefs_common.c:2101
+#: src/prefs_common.c:2122
 msgid "Number"
 msgstr "ÈÖ¹æ"
 
-#: src/prefs_common.c:2103 src/summaryview.c:352
+#: src/prefs_common.c:2124 src/summaryview.c:352
 msgid "Date"
 msgstr "ÆüÉÕ"
 
-#: src/prefs_common.c:2104 src/summaryview.c:353
+#: src/prefs_common.c:2125 src/summaryview.c:353
 msgid "From"
 msgstr "º¹½Ð¿Í"
 
-#: src/prefs_common.c:2105 src/summaryview.c:354
+#: src/prefs_common.c:2126 src/summaryview.c:354
 msgid "Subject"
 msgstr "·ï̾"
 
-#: src/prefs_common.c:2158
+#: src/prefs_common.c:2179
 msgid "Font selection"
 msgstr "¥Õ¥©¥ó¥È¤ÎÁªÂò"
 
-#: src/prefs_filter.c:178
+#: src/prefs_display_header.c:176
+msgid "Creating display header setting window...\n"
+msgstr "ɽ¼¨¥Ø¥Ã¥ÀÀßÄꥦ¥£¥ó¥É¥¦¤òºîÀ®Ãæ...\n"
+
+#: src/prefs_display_header.c:195
+msgid "Display header setting"
+msgstr "ɽ¼¨¥Ø¥Ã¥À¤ÎÀßÄê"
+
+#: src/prefs_display_header.c:221
+msgid "Header name"
+msgstr "¥Ø¥Ã¥À̾"
+
+#: src/prefs_display_header.c:250
+msgid "Displayed Headers"
+msgstr "ɽ¼¨¤¹¤ë¥Ø¥Ã¥À"
+
+#: src/prefs_display_header.c:301
+msgid "Hidden headers"
+msgstr "ɽ¼¨¤·¤Ê¤¤¥Ø¥Ã¥À"
+
+#: src/prefs_display_header.c:331
+msgid "Show other headers"
+msgstr "¾¤Î¥Ø¥Ã¥À¤òɽ¼¨"
+
+#: src/prefs_display_header.c:355
+msgid "Reading configuration for displaying headers...\n"
+msgstr "ɽ¼¨¥Ø¥Ã¥À¤ÎÀßÄê¤òÆɤ߹þ¤ßÃæ...\n"
+
+#: src/prefs_display_header.c:393
+msgid "Writing configuration for displaying headers...\n"
+msgstr "ɽ¼¨¥Ø¥Ã¥À¤ÎÀßÄê¤ò½ñ¤­½Ð¤·Ãæ...\n"
+
+#: src/prefs_display_header.c:515 src/prefs_filter.c:610
+msgid "Header name is not set."
+msgstr "¥Ø¥Ã¥À̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
+
+#: src/prefs_display_header.c:525
+msgid "This header is already in the list."
+msgstr "¤³¤Î¥Ø¥Ã¥À¤Ï¤¹¤Ç¤Ë¥ê¥¹¥ÈÃæ¤Ë¸ºß¤·¤Þ¤¹¡£"
+
+#: src/prefs_filter.c:181
 msgid "Registered rules"
 msgstr "ÅÐÏ¿ºÑ¤ß¥ë¡¼¥ë"
 
-#: src/prefs_filter.c:180
+#: src/prefs_filter.c:183
 msgid "Creating filter setting window...\n"
 msgstr "¿¶¤êʬ¤±ÀßÄꥦ¥£¥ó¥É¥¦¤òºîÀ®Ãæ...\n"
 
-#: src/prefs_filter.c:199
+#: src/prefs_filter.c:202
 msgid "Filter setting"
 msgstr "¿¶¤êʬ¤±¤ÎÀßÄê"
 
-#: src/prefs_filter.c:222
+#: src/prefs_filter.c:225
 msgid "Operator"
 msgstr "±é»»»Ò"
 
-#: src/prefs_filter.c:260 src/prefs_filter.c:620 src/prefs_filter.c:759
-#: src/prefs_filter.c:771
+#: src/prefs_filter.c:263 src/prefs_filter.c:623 src/prefs_filter.c:762
+#: src/prefs_filter.c:774
 msgid "(none)"
 msgstr "(¤Ê¤·)"
 
-#: src/prefs_filter.c:266
+#: src/prefs_filter.c:269
 msgid "Keyword"
 msgstr "¥­¡¼¥ï¡¼¥É"
 
-#: src/prefs_filter.c:287
+#: src/prefs_filter.c:290
 msgid "Predicate"
 msgstr "½Ò¸ì"
 
-#: src/prefs_filter.c:299 src/prefs_filter.c:310 src/prefs_filter.c:629
-#: src/prefs_filter.c:632 src/prefs_filter.c:776 src/prefs_filter.c:779
+#: src/prefs_filter.c:302 src/prefs_filter.c:313 src/prefs_filter.c:632
+#: src/prefs_filter.c:635 src/prefs_filter.c:779 src/prefs_filter.c:782
 msgid "contains"
 msgstr "´Þ¤à"
 
-#: src/prefs_filter.c:299 src/prefs_filter.c:310 src/prefs_filter.c:776
-#: src/prefs_filter.c:779
+#: src/prefs_filter.c:302 src/prefs_filter.c:313 src/prefs_filter.c:779
+#: src/prefs_filter.c:782
 msgid "not contain"
 msgstr "´Þ¤Þ¤Ê¤¤"
 
-#: src/prefs_filter.c:326
+#: src/prefs_filter.c:329
 msgid "Destination"
 msgstr "¿¶¤êʬ¤±Àè"
 
-#: src/prefs_filter.c:350
+#: src/prefs_filter.c:353
 msgid "Use regex"
 msgstr "Àµµ¬É½¸½¤ò»ÈÍÑ"
 
-#: src/prefs_filter.c:354
+#: src/prefs_filter.c:357
 msgid "Don't receive"
 msgstr "¼õ¿®¤·¤Ê¤¤"
 
-#: src/prefs_filter.c:379
+#: src/prefs_filter.c:382
 msgid "Register"
 msgstr "ÅÐÏ¿"
 
-#: src/prefs_filter.c:385
+#: src/prefs_filter.c:388
 msgid " Substitute "
 msgstr "  ÃÖ´¹  "
 
-#: src/prefs_filter.c:472
+#: src/prefs_filter.c:475
 msgid "Reading filter configuration...\n"
 msgstr "¿¶¤êʬ¤±¤ÎÀßÄê¤òÆɤ߹þ¤ßÃæ...\n"
 
-#: src/prefs_filter.c:508
+#: src/prefs_filter.c:511
 msgid "Writing filter configuration...\n"
 msgstr "¿¶¤êʬ¤±¤ÎÀßÄê¤ò½ñ¤­½Ð¤·Ãæ...\n"
 
-#: src/prefs_filter.c:551
+#: src/prefs_filter.c:554
 msgid "(New)"
 msgstr "(¿·µ¬)"
 
-#: src/prefs_filter.c:602
+#: src/prefs_filter.c:605
 msgid "Destination is not set."
 msgstr "¿¶¤êʬ¤±À褬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
 
-#: src/prefs_filter.c:607
-msgid "Header name is not set."
-msgstr "¥Ø¥Ã¥À̾¤¬»ØÄꤵ¤ì¤Æ¤¤¤Þ¤»¤ó¡£"
-
-#: src/prefs_filter.c:713
+#: src/prefs_filter.c:716
 msgid "Delete rule"
 msgstr "¥ë¡¼¥ë¤Îºï½ü"
 
-#: src/prefs_filter.c:714
+#: src/prefs_filter.c:717
 msgid "Do you really want to delete this rule?"
 msgstr "ËÜÅö¤Ë¤³¤Î¥ë¡¼¥ë¤òºï½ü¤·¤Æ¤â¤¤¤¤¤Ç¤¹¤«?"
 
@@ -3314,11 +3356,11 @@ msgstr "
 msgid "Creating progress dialog...\n"
 msgstr "¿Ê¹Ô¾õ¶·¥À¥¤¥¢¥í¥°¤òºîÀ®Ãæ...\n"
 
-#: src/recv.c:106
+#: src/recv.c:111
 msgid "error occurred while retrieving data.\n"
 msgstr "¥Ç¡¼¥¿¤Î¼èÆÀÃæ¤Ë¥¨¥é¡¼¤¬È¯À¸¤·¤Þ¤·¤¿¡£\n"
 
-#: src/recv.c:130 src/recv.c:167 src/recv.c:182
+#: src/recv.c:148 src/recv.c:185 src/recv.c:200
 msgid "Can't write to file.\n"
 msgstr "¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¹þ¤á¤Þ¤»¤ó¡£\n"
 
@@ -3802,15 +3844,15 @@ msgstr "
 msgid "Go to %s\n"
 msgstr "%s ¤Ë°ÜÆ°\n"
 
-#: src/textview.c:137
+#: src/textview.c:138
 msgid "Creating text view...\n"
 msgstr "¥Æ¥­¥¹¥È¥Ó¥å¡¼¤òºîÀ®Ãæ...\n"
 
-#: src/textview.c:372
+#: src/textview.c:365
 msgid "To save this part, pop up the context menu with\n"
 msgstr "¤³¤Î¥Ñ¡¼¥È¤òÊݸ¤¹¤ë¤Ë¤Ï¡¢±¦¥¯¥ê¥Ã¥¯¤Ç¥³¥ó¥Æ¥­¥¹¥È¥á¥Ë¥å¡¼¤ò\n"
 
-#: src/textview.c:375
+#: src/textview.c:368
 msgid ""
 "right click and select `Save as...', or press `y' key.\n"
 "\n"
@@ -3818,11 +3860,11 @@ msgstr ""
 "ɽ¼¨¤·¡¢¡Ö̾Á°¤òÉÕ¤±¤ÆÊݸ...¡×¤òÁªÂò¤¹¤ë¤«¡¢`y' ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 "\n"
 
-#: src/textview.c:379
+#: src/textview.c:372
 msgid "To display this part as a text message, select\n"
 msgstr "¤³¤Î¥Ñ¡¼¥È¤ò¥Æ¥­¥¹¥È¥á¥Ã¥»¡¼¥¸¤È¤·¤Æɽ¼¨¤¹¤ë¤Ë¤Ï¡¢\n"
 
-#: src/textview.c:382
+#: src/textview.c:375
 msgid ""
 "`Display as text', or press `t' key.\n"
 "\n"
@@ -3830,41 +3872,41 @@ msgstr ""
 "¡Ö¥Æ¥­¥¹¥È¤È¤·¤Æɽ¼¨¡×¤òÁªÂò¤¹¤ë¤«¡¢`t' ¥­¡¼¤ò²¡¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 "\n"
 
-#: src/textview.c:386
+#: src/textview.c:379
 msgid "To open this part with external program, select `Open',\n"
 msgstr "¤³¤Î¥Ñ¡¼¥È¤ò³°Éô¥×¥í¥°¥é¥à¤Ç³«¤¯¤Ë¤Ï¡¢¡Ö³«¤¯¡×¤òÁªÂò¤¹¤ë¤«¡¢\n"
 
-#: src/textview.c:389
+#: src/textview.c:382
 msgid "or double-click, or click the center button, or press `l' key."
 msgstr ""
 "¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢Ãæ±û¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤¹¤ë¤«¡¢\n"
 "`l' ¥­¡¼¤ò²¡¤·¤Æ²¼¤µ¤¤¡£"
 
-#: src/textview.c:410
+#: src/textview.c:403
 msgid "This signature has not been checked yet.\n"
 msgstr "¤³¤Î½ð̾¤Ï¤Þ¤À¸¡¾Ú¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: src/textview.c:413
+#: src/textview.c:406
 msgid "To check it, pop up the context menu with\n"
 msgstr "¸¡¾Ú¤¹¤ë¤Ë¤Ï¡¢±¦¥¯¥ê¥Ã¥¯¤Ç¥³¥ó¥Æ¥­¥¹¥È¥á¥Ë¥å¡¼¤òɽ¼¨¤·¡¢\n"
 
-#: src/textview.c:416
+#: src/textview.c:409
 msgid "right click and select `Check signature'.\n"
 msgstr ""
 "¡Ö½ð̾¤ò¸¡¾Ú¡×¤òÁªÂò¤·¤Æ¤¯¤À¤µ¤¤¡£\n"
 "\n"
 
-#: src/utils.c:1407 src/utils.c:1484
+#: src/utils.c:1425 src/utils.c:1502
 #, c-format
 msgid "writing to %s failed.\n"
 msgstr "%s ¤Ø¤Î½ñ¤­¹þ¤ß¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/utils.c:1427
+#: src/utils.c:1445
 #, c-format
 msgid "File copy from %s to %s failed.\n"
 msgstr "%s ¤«¤é %s ¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î¥³¥Ô¡¼¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
-#: src/utils.c:1645
+#: src/utils.c:1663
 #, c-format
 msgid "Open URI command line is invalid: `%s'"
 msgstr "URI ¤ò³«¤¯¤¿¤á¤Î¥³¥Þ¥ó¥É¥é¥¤¥ó¤¬Ìµ¸ú¤Ç¤¹: `%s'"
index add50ca4e259c32dff06fb6a8f66ea3c31770a4b..113fce5c784a8b1ea9f6879375ebe09a99122b36 100644 (file)
@@ -25,7 +25,9 @@ sylpheed_SOURCES = \
        prefs_common.c prefs_common.h \
        prefs_filter.c prefs_filter.h \
        prefs_account.c prefs_account.h \
+       prefs_display_header.c prefs_display_header.h \
        account.c account.h \
+       displayheader.c displayheader.h \
        addressbook.c addressbook.h \
        filesel.c filesel.h \
        foldersel.c foldersel.h \
@@ -77,8 +79,6 @@ sylpheed_SOURCES = \
        grouplist_dialog.c grouplist_dialog.h \
        customheader.c customheader.h \
        prefs_headers.c prefs_headers.h \
-       headers_display.c headers_display.h \
-       prefs_display_headers.c prefs_display_headers.h \
        scoring.c scoring.h \
        prefs_folder_item.c prefs_folder_item.h \
        matcher.c matcher.h
index 5446c59c2831f3d56cb723022b7fbc4960d2178f..79d5705aeb5581b3e99b944142b2f48ca1c15181 100644 (file)
@@ -39,6 +39,7 @@
 #include "prefs_account.h"
 #include "compose.h"
 #include "manage_window.h"
+#include "inc.h"
 #include "gtkutils.h"
 #include "utils.h"
 #include "alertpanel.h"
@@ -198,9 +199,12 @@ GList *account_get_list(void)
 
 void account_edit_open(void)
 {
+       inc_autocheck_timer_remove();
+       
        if (compose_get_compose_list()) {
                alertpanel_notice(_("Some composing windows are open.\n"
                                    "Please close all the composing windows before editing the accounts."));
+               inc_autocheck_timer_set();                                      
                return;
        }
 
@@ -223,6 +227,7 @@ void account_add(void)
        PrefsAccount *ac_prefs;
 
        ac_prefs = prefs_account_open(NULL);
+       inc_autocheck_timer_remove();
 
        if (!ac_prefs) return;
 
@@ -473,6 +478,7 @@ static void account_edit_prefs(void)
        Xstrdup_a(ac_name, ac_prefs->account_name, return);
 
        prefs_account_open(ac_prefs);
+       inc_autocheck_timer_remove();
 
        if (!prev_default && ac_prefs->is_default)
                account_set_as_default(ac_prefs);
@@ -571,6 +577,8 @@ static void account_edit_close(void)
        main_window_reflect_prefs_all();
 
        gtk_widget_hide(edit_account.window);
+
+       inc_autocheck_timer_set();
 }
 
 static void account_key_pressed(GtkWidget *widget, GdkEventKey *event,
index f68eef03955c7b0a6751502449d5457a9a306843..ca57327e9896fda3267bd633457c65bd2205a98d 100644 (file)
@@ -47,7 +47,7 @@
 #define ACCOUNT_RC             "accountrc"
 #define FILTER_RC              "filterrc"
 #define HEADERS_RC             "headersrc"
-#define HEADERS_DISPLAY_RC     "headersdisplayrc"
+#define DISPLAY_HEADER_RC      "dispheaderrc"
 #define FOLDERITEM_RC           "folderitemrc"
 #define SCORING_RC              "scoringrc"
 #define MENU_RC                        "menurc"
index 15cb21d8218a56d2fe4a61ed276613f6a3057004..e2235c6eb491eff30f6cbe023eb9bc1a23cd961b 100644 (file)
@@ -42,7 +42,7 @@ FolderItem *filter_get_dest_folder(GSList *fltlist, const gchar *file)
        g_return_val_if_fail(file != NULL, NULL);
        if (!fltlist) return NULL;
 
-       hlist = procheader_get_header_list(file);
+       hlist = procheader_get_header_list_from_file(file);
        if (!hlist) return NULL;
 
        for (cur = fltlist; cur != NULL; cur = cur->next) {
index 73cda7331c390bf3c25d626f9d006f5823232acf..47eaf3cd995989c1df0f06bbfbe7cbe1a5469690 100644 (file)
@@ -208,6 +208,7 @@ static void headerview_show_xface(HeaderView *headerview, MsgInfo *msginfo)
                }
                return;
        }
+       if (!GTK_WIDGET_VISIBLE(headerview->hbox)) return;
 
        strncpy(xface, msginfo->xface, sizeof(xface));
 
index 324ebf518b61f1728c0578e24644897d1586495b..133d3c2d0d28c77ffaabd4683152efedea2e6830 100644 (file)
--- a/src/inc.c
+++ b/src/inc.c
@@ -98,7 +98,7 @@ static gint connection_check_cb               (Automaton      *atm);
 #endif
 
 static void inc_pop3_recv_func         (SockInfo       *sock,
-                                        gint            read_len,
+                                        gint            read_bytes,
                                         gpointer        data);
 
 static void inc_put_error              (IncState        istate);
@@ -112,6 +112,8 @@ static gint get_spool                       (FolderItem     *dest,
 
 static void inc_all_spool(void);
 
+static gint inc_autocheck_func         (gpointer        data);
+
 static void inc_finished(MainWindow *mainwin)
 {
        FolderItem *item;
@@ -131,6 +133,7 @@ static void inc_finished(MainWindow *mainwin)
 
 void inc_mail(MainWindow *mainwin)
 {
+       inc_autocheck_timer_remove();
        summary_write_cache(mainwin->summaryview);
 
        if (prefs_common.use_extinc && prefs_common.extinc_path) {
@@ -139,6 +142,7 @@ void inc_mail(MainWindow *mainwin)
                /* external incorporating program */
                if ((pid = fork()) < 0) {
                        perror("fork");
+                       inc_autocheck_timer_set();                      
                        return;
                }
 
@@ -165,6 +169,7 @@ void inc_mail(MainWindow *mainwin)
        }
 
        inc_finished(mainwin);
+       inc_autocheck_timer_set();      
 }
 
 static void inc_account_mail(PrefsAccount *account, MainWindow *mainwin)
@@ -194,12 +199,16 @@ void inc_all_account_mail(MainWindow *mainwin)
        GList *list, *queue_list = NULL;
        IncProgressDialog *inc_dialog;
 
+       inc_autocheck_timer_remove();
        summary_write_cache(mainwin->summaryview);
 
        if (prefs_common.inc_local) inc_spool();
 
        list = account_get_list();
-       if (!list) return;
+       if (!list) {
+               inc_autocheck_timer_set();
+               return;
+       }               
 
        for (; list != NULL; list = list->next) {
                IncSession *session;
@@ -212,7 +221,10 @@ void inc_all_account_mail(MainWindow *mainwin)
                }
        }
 
-       if (!queue_list) return;
+       if (!queue_list) {
+               inc_autocheck_timer_set();
+               return;
+       }       
 
        inc_dialog = inc_progress_dialog_create();
        inc_dialog->queue_list = queue_list;
@@ -232,6 +244,7 @@ void inc_all_account_mail(MainWindow *mainwin)
        inc_start(inc_dialog);
 
        inc_finished(mainwin);
+       inc_autocheck_timer_set();
 }
 
 static IncProgressDialog *inc_progress_dialog_create(void)
@@ -668,7 +681,7 @@ static gint connection_check_cb(Automaton *atm)
 }
 #endif
 
-static void inc_pop3_recv_func(SockInfo *sock, gint read_len, gpointer data)
+static void inc_pop3_recv_func(SockInfo *sock, gint read_bytes, gpointer data)
 {
        gchar buf[MSGBUFSIZE];
        IncSession *session = (IncSession *)data;
@@ -677,8 +690,7 @@ static void inc_pop3_recv_func(SockInfo *sock, gint read_len, gpointer data)
        ProgressDialog *dialog = inc_dialog->dialog;
        gint cur_total;
 
-       state->cur_msg_bytes += read_len;
-       cur_total = state->cur_total_bytes + state->cur_msg_bytes;
+       cur_total = state->cur_total_bytes + read_bytes;
        if (cur_total > state->total_bytes)
                cur_total = state->total_bytes;
 
@@ -925,3 +937,41 @@ static gint get_spool(FolderItem *dest, const gchar *mbox)
 
        return msgs;
 }
+
+static guint autocheck_timer = 0;
+static gpointer autocheck_data = NULL;
+
+void inc_autocheck_timer_init(MainWindow *mainwin)
+{
+       autocheck_data = mainwin;
+       inc_autocheck_timer_set();
+}
+
+void inc_autocheck_timer_set(void)
+{
+       inc_autocheck_timer_remove();
+
+       if (prefs_common.autochk_newmail && autocheck_data) {
+               autocheck_timer = gtk_timeout_add
+                       (prefs_common.autochk_itv * 60000,
+                        inc_autocheck_func,
+                        autocheck_data);
+       }
+}
+
+void inc_autocheck_timer_remove(void)
+{
+       if (autocheck_timer) {
+               gtk_timeout_remove(autocheck_timer);
+               autocheck_timer = 0;
+       }
+}
+
+static gint inc_autocheck_func(gpointer data)
+{
+       MainWindow *mainwin = (MainWindow *)data;
+
+       inc_all_account_mail(mainwin);
+
+       return FALSE;
+}
index 132b43d81610b19af8ddb2d93dcea9fa3b74c0c5..7c59e0d1ee3b645949ae15bc19c3bc3dc3978342 100644 (file)
--- a/src/inc.h
+++ b/src/inc.h
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -102,5 +102,8 @@ void inc_progress_update    (Pop3State      *state,
                                 Pop3Phase       phase);
 gint inc_drop_message          (const gchar    *file,
                                 Pop3State      *state);
+void inc_autocheck_timer_init  (MainWindow     *mainwin);
+void inc_autocheck_timer_set   (void);
+void inc_autocheck_timer_remove        (void);
 
 #endif /* __INC_H__ */
index 549da44d723712a5728278655e778b0f5c657e8c..c9147cd61280315a0c1a2739d8366bb5f0609a7a 100644 (file)
@@ -57,6 +57,7 @@
 #include "prefs_common.h"
 #include "prefs_filter.h"
 #include "prefs_account.h"
+#include "prefs_display_header.h"
 #include "account.h"
 #include "procmsg.h"
 #include "inc.h"
@@ -198,14 +199,6 @@ int main(int argc, char *argv[])
 
        srandom((gint)time(NULL));
 
-       prefs_common_read_config();
-       prefs_common_save_config();
-       prefs_filter_read_config();
-       prefs_filter_write_config();
-       prefs_display_headers_read_config();
-       prefs_display_headers_write_config();
-       prefs_scoring_read_config();
-
 #if USE_GPGME
        if (gpgme_check_engine()) {  /* Also does some gpgme init */
                rfc2015_disable_all();
@@ -226,6 +219,14 @@ int main(int argc, char *argv[])
        gpgme_register_idle(idle_function_for_gpgme);
 #endif
 
+       prefs_common_read_config();
+       prefs_common_save_config();
+       prefs_filter_read_config();
+       prefs_filter_write_config();
+       prefs_display_header_read_config();
+       prefs_display_header_write_config();
+       prefs_scoring_read_config();
+
        gtkut_widget_init();
 
        mainwin = main_window_create
@@ -245,9 +246,11 @@ int main(int argc, char *argv[])
        account_set_missing_folder();
        folderview_set(folderview);
 
-       if (cmd.receive_all)
+       inc_autocheck_timer_init(mainwin);
+
+       if (cmd.receive_all || prefs_common.chk_on_startup)
                inc_all_account_mail(mainwin);
-       else if (prefs_common.chk_on_startup || cmd.receive)
+       else if (cmd.receive)
                inc_mail(mainwin);
        else
                gtk_widget_grab_focus(folderview->ctree);
index d365cc6680eb0712f5041d877faddd93d5a6326f..0fb8c56f07294e563fe25a610c0e74b7db329f21 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
index 7ae10d5db0baa0bf68b73ddc9342b92b5ddd0742..45eb018090ba0fd21be77276e51d1bc5d55bfa72 100644 (file)
--- a/src/pop.c
+++ b/src/pop.c
@@ -300,7 +300,7 @@ gint pop3_getsize_list_recv(SockInfo *sock, gpointer data)
 
                if (buf[0] == '.') break;
                if (sscanf(buf, "%d %d", &num, &size) != 2)
-                       continue;
+                       break;
 
                if (num <= state->count)
                        state->sizes[num] = size;
index 59641e06f4671e4e4ff432b3b4c1d42d6329f455..f835032f26338a3ad7fd1daf89cb1b7dc148146c 100644 (file)
@@ -39,6 +39,7 @@
 #include "account.h"
 #include "mainwindow.h"
 #include "manage_window.h"
+#include "inc.h"
 #include "menu.h"
 #include "gtkutils.h"
 #include "utils.h"
@@ -424,6 +425,8 @@ PrefsAccount *prefs_account_open(PrefsAccount *ac_prefs)
 
        debug_print(_("Opening account preferences window...\n"));
 
+       inc_autocheck_timer_remove();
+
        cancelled = FALSE;
 
        if (!ac_prefs) {
@@ -478,6 +481,8 @@ PrefsAccount *prefs_account_open(PrefsAccount *ac_prefs)
        gtk_main();
        gtk_widget_hide(dialog.window);
 
+       inc_autocheck_timer_set();
+
        if (cancelled && new_account) {
                g_free(ac_prefs);
                return NULL;
@@ -881,8 +886,9 @@ static void prefs_account_receive_create(void)
                           _("Remove messages on server when received"));
        PACK_CHECK_BUTTON (vbox2, getall_chkbtn,
                           _("Receive all messages on server"));
-       PACK_CHECK_BUTTON (vbox2, recvatgetall_chkbtn,
-                          _("Receive at getting from all accounts"));
+       PACK_CHECK_BUTTON
+                       (vbox2, recvatgetall_chkbtn,
+                                        _("`Receive all' checks for new mail on this account"));
        PACK_CHECK_BUTTON (vbox2, filter_on_recv_chkbtn,
                           _("Filter messages on receiving"));
 
index 5f9c597a94282be30b3704e18098b6999de9e53b..6a8cd6ca05e4443a034bf1cf5755e8063cb88573 100644 (file)
 #include "main.h"
 #include "prefs.h"
 #include "prefs_common.h"
+#include "prefs_display_header.h"
 #include "mainwindow.h"
 #include "summaryview.h"
 #include "messageview.h"
 #include "manage_window.h"
+#include "inc.h"
 #include "menu.h"
 #include "codeconv.h"
 #include "utils.h"
 #include "gtkutils.h"
 #include "alertpanel.h"
 #include "folder.h"
-#include "prefs_display_headers.h"
 
 PrefsCommon prefs_common;
 
@@ -425,6 +426,9 @@ static PrefParam param[] = {
         &message.chkbtn_halfpage,
         prefs_set_data_from_toggle, prefs_set_toggle},
 
+       {"show_other_header", "FALSE", &prefs_common.show_other_header, P_BOOL,
+        NULL, NULL, NULL},
+
        /* MIME viewer */
        {"mime_image_viewer", "display '%s'",
         &prefs_common.mime_image_viewer, P_STRING, NULL, NULL, NULL},
@@ -565,8 +569,9 @@ static void prefs_font_selection_ok         (GtkButton      *button);
 static void prefs_common_key_pressed   (GtkWidget      *widget,
                                         GdkEventKey    *event,
                                         gpointer        data);
-static void prefs_common_ok            (GtkButton      *button);
-static void prefs_common_apply         (GtkButton      *button);
+static void prefs_common_ok            (void);
+static void prefs_common_apply         (void);
+static void prefs_common_cancel                (void);
 
 void prefs_common_read_config(void)
 {
@@ -580,6 +585,8 @@ void prefs_common_save_config(void)
 
 void prefs_common_open(void)
 {
+       inc_autocheck_timer_remove();
+
        if (!dialog.window) {
                prefs_common_create();
        }
@@ -603,7 +610,7 @@ static void prefs_common_create(void)
        gtk_window_set_title (GTK_WINDOW(dialog.window),
                              _("Common Preferences"));
        gtk_signal_connect (GTK_OBJECT(dialog.window), "delete_event",
-                           GTK_SIGNAL_FUNC(gtk_widget_hide_on_delete), NULL);
+                           GTK_SIGNAL_FUNC(prefs_common_cancel), NULL);
        gtk_signal_connect (GTK_OBJECT(dialog.window), "key_press_event",
                            GTK_SIGNAL_FUNC(prefs_common_key_pressed), NULL);
        gtk_signal_connect (GTK_OBJECT(dialog.window), "focus_in_event",
@@ -615,7 +622,7 @@ static void prefs_common_create(void)
        gtk_signal_connect (GTK_OBJECT(dialog.apply_btn), "clicked",
                            GTK_SIGNAL_FUNC(prefs_common_apply), NULL);
        gtk_signal_connect_object (GTK_OBJECT(dialog.cancel_btn), "clicked",
-                                  GTK_SIGNAL_FUNC(gtk_widget_hide_on_delete),
+                                  GTK_SIGNAL_FUNC(prefs_common_cancel),
                                   GTK_OBJECT(dialog.window));
 
        /* create all widgets on notebook */
@@ -742,8 +749,6 @@ static void prefs_receive_create(void)
        gtk_widget_show (hbox_autochk);
        gtk_box_pack_start (GTK_BOX (vbox2), hbox_autochk, FALSE, FALSE, 0);
 
-       gtk_widget_set_sensitive(hbox_autochk, FALSE);
-
        PACK_CHECK_BUTTON (hbox_autochk, checkbtn_autochk,
                           _("Auto-check new mail"));
 
@@ -1308,7 +1313,6 @@ static void prefs_display_create(void)
        GtkWidget *hbox1;
        GtkWidget *label_datefmt;
        GtkWidget *button_dispitem;
-       GtkWidget *button_headers_display;
 
        vbox1 = gtk_vbox_new (FALSE, VSPACING);
        gtk_widget_show (vbox1);
@@ -1393,19 +1397,6 @@ static void prefs_display_create(void)
                            GTK_SIGNAL_FUNC (prefs_summary_display_item_set),
                            NULL);
 
-       hbox1 = gtk_hbox_new (FALSE, 8);
-       gtk_widget_show (hbox1);
-       gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, TRUE, 0);
-
-       button_headers_display = gtk_button_new_with_label
-               (_(" Set displaying of headers... "));
-       gtk_widget_show (button_headers_display);
-       gtk_box_pack_start (GTK_BOX (hbox1), button_headers_display, FALSE,
-                           TRUE, 0);
-       gtk_signal_connect (GTK_OBJECT (button_headers_display), "clicked",
-                           GTK_SIGNAL_FUNC (prefs_display_headers_open),
-                           NULL);
-
        display.entry_textfont  = entry_textfont;
        display.button_textfont = button_textfont;
 
@@ -1426,6 +1417,7 @@ static void prefs_message_create(void)
        GtkWidget *chkbtn_mbalnum;
        GtkWidget *chkbtn_disphdrpane;
        GtkWidget *chkbtn_disphdr;
+       GtkWidget *button_edit_disphdr; 
        GtkWidget *hbox_linespc;
        GtkWidget *label_linespc;
        GtkObject *spinbtn_linespc_adj;
@@ -1473,8 +1465,23 @@ static void prefs_message_create(void)
                 _("Display 2-byte alphabet and numeric with 1-byte character"));
        PACK_CHECK_BUTTON(vbox2, chkbtn_disphdrpane,
                          _("Display header pane above message view"));
-       PACK_CHECK_BUTTON(vbox2, chkbtn_disphdr,
-                         _("Display short headers on message view"));
+
+       hbox1 = gtk_hbox_new (FALSE, 8);
+       gtk_widget_show (hbox1);
+       gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, TRUE, 0);
+
+       PACK_CHECK_BUTTON(hbox1, chkbtn_disphdr,
+               _("Display short headers on message view"));
+
+       button_edit_disphdr = gtk_button_new_with_label (_(" Edit... "));
+       gtk_widget_show (button_edit_disphdr);
+       gtk_box_pack_end (GTK_BOX (hbox1), button_edit_disphdr,
+                                 FALSE, TRUE, 0);
+       gtk_signal_connect (GTK_OBJECT (button_edit_disphdr), "clicked",
+                                           GTK_SIGNAL_FUNC (prefs_display_header_open),
+                                           NULL);
+
+       SET_TOGGLE_SENSITIVITY(chkbtn_disphdr, button_edit_disphdr);
 
        hbox1 = gtk_hbox_new (FALSE, 32);
        gtk_widget_show (hbox1);
@@ -2466,20 +2473,28 @@ static void prefs_common_key_pressed(GtkWidget *widget, GdkEventKey *event,
                                     gpointer data)
 {
        if (event && event->keyval == GDK_Escape)
-               gtk_widget_hide(dialog.window);
+               prefs_common_cancel();  
 }
 
-static void prefs_common_ok(GtkButton *button)
+static void prefs_common_ok(void)
 {
-       prefs_common_apply(button);
+       prefs_common_apply();
        gtk_widget_hide(dialog.window);
        if (quote_desc_win && GTK_WIDGET_VISIBLE(quote_desc_win))
                gtk_widget_hide(quote_desc_win);
+
+       inc_autocheck_timer_set();
 }
 
-static void prefs_common_apply(GtkButton *button)
+static void prefs_common_apply(void)
 {
        prefs_set_data_from_dialog(param);
        main_window_reflect_prefs_all();
        prefs_common_save_config();
 }
+
+static void prefs_common_cancel(void)
+{
+       gtk_widget_hide(dialog.window);
+       inc_autocheck_timer_set();
+}
index 86595b15fcf699a23917438118f098e5619b89fb..5ba4e203ebd407993fe87a2bb6fd17d8371cacb3 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -144,6 +144,9 @@ struct _PrefsCommon
 
        gchar *force_charset;
 
+       gboolean show_other_header;
+       GSList *disphdr_list;
+
        /* MIME viewer */
        gchar *mime_image_viewer;
        gchar *mime_audio_player;
index 5d0fcfb05549a148e132837ad1e4128b7b4b710b..fbd2c5ebcaafc35e241bfbce5a73e1919c4b03d4 100644 (file)
@@ -39,6 +39,7 @@
 #include "mainwindow.h"
 #include "foldersel.h"
 #include "manage_window.h"
+#include "inc.h"
 #include "filter.h"
 #include "utils.h"
 #include "gtkutils.h"
@@ -110,10 +111,12 @@ static void prefs_filter_notrecv_radio_button_toggled     (void);
 static void prefs_filter_key_pressed   (GtkWidget      *widget,
                                         GdkEventKey    *event,
                                         gpointer        data);
-static void prefs_filter_close         (GtkButton      *button);
+static void prefs_filter_close         ();
 
 void prefs_filter_open(void)
 {
+       inc_autocheck_timer_remove();
+
        if (!filter.window) {
                prefs_filter_create();
        }
@@ -198,7 +201,7 @@ static void prefs_filter_create(void)
        gtk_window_set_title (GTK_WINDOW(window),
                              _("Filter setting"));
        gtk_signal_connect (GTK_OBJECT(window), "delete_event",
-                           GTK_SIGNAL_FUNC(gtk_widget_hide_on_delete), NULL);
+                           GTK_SIGNAL_FUNC(prefs_filter_close), NULL);
        gtk_signal_connect (GTK_OBJECT(window), "key_press_event",
                            GTK_SIGNAL_FUNC(prefs_filter_key_pressed), NULL);
        gtk_signal_connect (GTK_OBJECT(window), "focus_in_event",
@@ -804,11 +807,12 @@ static void prefs_filter_key_pressed(GtkWidget *widget, GdkEventKey *event,
                                     gpointer data)
 {
        if (event && event->keyval == GDK_Escape)
-               gtk_widget_hide(filter.window);
+               prefs_filter_close();
 }
 
-static void prefs_filter_close(GtkButton *button)
+static void prefs_filter_close(void)
 {
        prefs_filter_write_config();
        gtk_widget_hide(filter.window);
+       inc_autocheck_timer_set();      
 }
index 64252ad73d36e4c1bacb24eecd193873efd45499..22fce1034f273135e0f13c1cd06af80b78903cb8 100644 (file)
 
 #define BUFFSIZE       8192
 
-/*
-  procheader_get_one_field
-  - reads fp and puts the header and the corresponding content into buf
-    if one of these is one of hentry table.
-  - if hentry is NULL, ignores no headers
- */
-
 gint procheader_get_one_field(gchar *buf, gint len, FILE *fp,
                              HeaderEntry hentry[])
 {
@@ -192,6 +185,145 @@ gchar *procheader_get_unfolded_line(gchar *buf, gint len, FILE *fp)
        return buf;
 }
 
+GSList *procheader_get_header_list_from_file(const gchar *file)
+{
+       FILE *fp;
+       GSList *hlist;
+
+       if ((fp = fopen(file, "r")) == NULL) {
+               FILE_OP_ERROR(file, "fopen");
+               return NULL;
+       }
+
+       hlist = procheader_get_header_list(fp);
+
+       fclose(fp);
+       return hlist;
+}
+
+GSList *procheader_get_header_list(FILE *fp)
+{
+       gchar buf[BUFFSIZE], tmp[BUFFSIZE];
+       gchar *p;
+       GSList *hlist = NULL;
+       Header *header;
+
+       g_return_val_if_fail(fp != NULL, NULL);
+
+       while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
+               if (*buf == ':') continue;
+               for (p = buf; *p && *p != ' '; p++) {
+                       if (*p == ':') {
+                               header = g_new(Header, 1);
+                               header->name = g_strndup(buf, p - buf);
+                               p++;
+                               while (*p == ' ' || *p == '\t') p++;
+                               conv_unmime_header(tmp, sizeof(tmp), p, NULL);
+                               header->body = g_strdup(tmp);
+
+                               hlist = g_slist_append(hlist, header);
+                               break;
+                       }
+               }
+       }
+
+       return hlist;
+}
+
+GPtrArray *procheader_get_header_array(FILE *fp)
+{
+       gchar buf[BUFFSIZE], tmp[BUFFSIZE];
+       gchar *p;
+       GPtrArray *headers;
+       Header *header;
+
+       g_return_val_if_fail(fp != NULL, NULL);
+
+       headers = g_ptr_array_new();
+
+       while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
+               if (*buf == ':') continue;
+               for (p = buf; *p && *p != ' '; p++) {
+                       if (*p == ':') {
+                               header = g_new(Header, 1);
+                               header->name = g_strndup(buf, p - buf);
+                               p++;
+                               while (*p == ' ' || *p == '\t') p++;
+                               conv_unmime_header(tmp, sizeof(tmp), p, NULL);
+                               header->body = g_strdup(tmp);
+
+                               g_ptr_array_add(headers, header);
+                               break;
+                       }
+               }
+       }
+
+       return headers;
+}
+
+GPtrArray *procheader_get_header_array_asis(FILE *fp)
+{
+       gchar buf[BUFFSIZE], tmp[BUFFSIZE];
+       gchar *p;
+       GPtrArray *headers;
+       Header *header;
+
+       g_return_val_if_fail(fp != NULL, NULL);
+
+       headers = g_ptr_array_new();
+
+       while (procheader_get_one_field(buf, sizeof(buf), fp, NULL) != -1) {
+               if (*buf == ':') continue;
+               for (p = buf; *p && *p != ' '; p++) {
+                       if (*p == ':') {
+                               header = g_new(Header, 1);
+                               header->name = g_strndup(buf, p - buf);
+                               p++;
+                               conv_unmime_header(tmp, sizeof(tmp), p, NULL);
+                               header->body = g_strdup(tmp);
+
+                               g_ptr_array_add(headers, header);
+                               break;
+                       }
+               }
+       }
+
+       return headers;
+}
+
+void procheader_header_list_destroy(GSList *hlist)
+{
+       Header *header;
+
+       while (hlist != NULL) {
+               header = hlist->data;
+               procheader_header_free(header);
+               hlist = g_slist_remove(hlist, header);
+       }
+}
+
+void procheader_header_array_destroy(GPtrArray *harray)
+{
+       gint i;
+       Header *header;
+
+       for (i = 0; i < harray->len; i++) {
+               header = g_ptr_array_index(harray, i);
+               procheader_header_free(header);
+       }
+
+       g_ptr_array_free(harray, TRUE);
+}
+
+void procheader_header_free(Header *header)
+{
+       if (!header) return;
+
+       g_free(header->name);
+       g_free(header->body);
+       g_free(header);
+}
+
 /*
   tests whether two headers' names are equal
   remove the trailing ':' or ' ' before comparing
@@ -213,13 +345,6 @@ gboolean procheader_headername_equal(char * hdr1, char * hdr2)
        return (strncasecmp(hdr1, hdr2, len1) == 0);
 }
 
-void procheader_header_free(Header * header)
-{
-       g_free(header->name);
-       g_free(header->body);
-       g_free(header);
-}
-
 /*
   parse headers, for example :
   From: dinh@enseirb.fr becomes :
@@ -250,41 +375,6 @@ Header * procheader_parse_header(gchar * buf)
        return NULL;
 }
 
-GSList *procheader_get_header_list(const gchar *file)
-{
-       FILE *fp;
-       gchar buf[BUFFSIZE], tmp[BUFFSIZE];
-       gchar *p;
-       GSList *hlist = NULL;
-       Header *header;
-
-       if ((fp = fopen(file, "r")) == NULL) {
-               FILE_OP_ERROR(file, "fopen");
-               return NULL;
-       }
-
-       while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
-               header = procheader_parse_header(buf);
-               if (header != NULL)
-                       hlist = g_slist_append(hlist, header);
-       }
-
-       fclose(fp);
-       return hlist;
-}
-
-void procheader_header_list_destroy(GSList *hlist)
-{
-       Header *header;
-
-       while (hlist != NULL) {
-               header = hlist->data;
-
-               procheader_header_free(header);
-               hlist = g_slist_remove(hlist, header);
-       }
-}
-
 void procheader_get_header_fields(FILE *fp, HeaderEntry hentry[])
 {
        gchar buf[BUFFSIZE];
index 58753272f5b336e462ae08462a2ee4288c5fb579..f6292e48c2ec967836c873f4429649b7d0440035 100644 (file)
@@ -50,8 +50,14 @@ gchar *procheader_get_unfolded_line  (gchar          *buf,
                                         gint            len,
                                         FILE           *fp);
 
-GSList *procheader_get_header_list     (const gchar    *file);
-void procheader_header_list_destroy    (GSList         *hlist);
+GSList *procheader_get_header_list_from_file   (const gchar    *file);
+GSList *procheader_get_header_list             (FILE           *fp);
+GPtrArray *procheader_get_header_array         (FILE           *fp);
+GPtrArray *procheader_get_header_array_asis    (FILE           *fp);
+void procheader_header_list_destroy            (GSList         *hlist);
+void procheader_header_array_destroy           (GPtrArray      *harray);
+void procheader_header_free                    (Header         *header);
+
 void procheader_get_header_fields      (FILE           *fp,
                                         HeaderEntry     hentry[]);
 MsgInfo *procheader_parse              (const gchar    *file,
index 5af52685c6c30f47a42f525252e43bbb1d7654d8..9497bb73e74cc7948e3fe39ba019e5ccf10e6bfb 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
+#include <sys/time.h>
 
 #include "intl.h"
 #include "recv.h"
@@ -100,6 +101,10 @@ gint recv_write(SockInfo *sock, FILE *fp)
 {
        gchar buf[BUFFSIZE];
        gint len;
+       gint bytes = 0;
+       struct timeval tv_prev, tv_cur;
+
+       gettimeofday(&tv_prev, NULL);
 
        for (;;) {
                if (sock_gets(sock, buf, sizeof(buf)) < 0) {
@@ -108,10 +113,23 @@ gint recv_write(SockInfo *sock, FILE *fp)
                }
 
                len = strlen(buf);
-               if (len > 1 && buf[0] == '.' && buf[1] == '\r') break;
-
-               if (recv_ui_func)
-                       recv_ui_func(sock, len, recv_ui_func_data);
+               if (len > 1 && buf[0] == '.' && buf[1] == '\r') {
+                       if (recv_ui_func)
+                               recv_ui_func(sock, bytes, recv_ui_func_data);
+                       break;
+               }
+               bytes += len;
+
+               if (recv_ui_func) {
+                       gettimeofday(&tv_cur, NULL);
+                       /* if elapsed time from previous update is greater
+                          than 300 usec, update UI */
+                       if (tv_cur.tv_sec - tv_prev.tv_sec > 0 ||
+                           tv_cur.tv_usec - tv_prev.tv_usec > 300) {
+                               recv_ui_func(sock, bytes, recv_ui_func_data);
+                               gettimeofday(&tv_prev, NULL);
+                       }
+               }
 
                if (len > 1 && buf[len - 1] == '\n' && buf[len - 2] == '\r') {
                        buf[len - 2] = '\n';
index cae8dbae419386d007f76dc7da4c24b7c00a92a7..dd59ea57ddb6abfea8e4fb20bd7027276c1483a4 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999,2000 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2001 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -25,7 +25,7 @@
 #include "socket.h"
 
 typedef void (*RecvUIFunc)     (SockInfo       *sock,
-                                gint            read_len,
+                                gint            read_bytes,
                                 gpointer        data);
 
 gint recv_write_to_file                (SockInfo       *sock,
index 82906f0856aff743d6007607f7ec90b89f848179..f3e372fdb887e10a7f51d7b6f73075752f466b6c 100644 (file)
@@ -47,8 +47,7 @@
 #include "html.h"
 #include "compose.h"
 #include "addressbook.h"
-#include "headers_display.h"
-#include "prefs_display_headers.h"
+#include "displayheader.h"
 
 #define FONT_LOAD(font, s) \
 { \
@@ -331,16 +330,8 @@ void textview_show_part(TextView *textview, MimeInfo *mimeinfo, FILE *fp)
        gtk_text_freeze(text);
 
        if (headers) {
-               gint i;
-
                textview_show_header(textview, headers);
-               for (i = 0; i < headers->len; i++) {
-                       Header *header = g_ptr_array_index(headers, i);
-                       g_free(header->body);
-                       g_free(header->name);
-                       g_free(header);
-               }
-               g_ptr_array_free(headers, TRUE);
+               procheader_header_array_destroy(headers);               
        }
 
        tmpfp = procmime_decode_content(NULL, fp, mimeinfo);
@@ -637,8 +628,8 @@ static gchar *make_email_string(const gchar *bp, const gchar *ep)
        }
 
 /* textview_make_clickable_parts() - colorizes clickable parts */
-static void textview_make_clickable_parts(TextView *textview, GtkText *text,
-                                         GdkFont  *textfont,
+static void textview_make_clickable_parts(TextView *textview,
+                                         GdkFont  *font,
                                          GdkColor *fg_color,
                                          GdkColor *uri_color,
                                          const gchar *linebuf)
@@ -678,6 +669,8 @@ static void textview_make_clickable_parts(TextView *textview, GtkText *text,
                struct txtpos   *next;          /* next */
        } head = {NULL, NULL, 0,  NULL}, *last = &head;
 
+       GtkText *text = GTK_TEXT(textview->text);
+
        /* parse for clickable parts, and build a list of begin and end positions  */
        for (walk = linebuf, n = 0;;) {
                gint last_index = PARSE_ELEMS;
@@ -720,13 +713,14 @@ static void textview_make_clickable_parts(TextView *textview, GtkText *text,
 
                        uri = g_new(RemoteURI, 1);
                        if (last->bp - normal_text > 0)
-                               gtk_text_insert(text, textfont,
+                               gtk_text_insert(text, font,
                                                fg_color, NULL,
                                                normal_text,
                                                last->bp - normal_text);
-                       uri->uri = parser[last->pti].build_uri(last->bp, last->ep);
+                       uri->uri = parser[last->pti].build_uri(last->bp, 
+                                               last->ep);
                        uri->start = gtk_text_get_point(text);
-                       gtk_text_insert(text, textfont, uri_color,
+                       gtk_text_insert(text, font, uri_color,
                                        NULL, last->bp, last->ep - last->bp);
                        uri->end = gtk_text_get_point(text);
                        textview->uri_list =
@@ -734,11 +728,10 @@ static void textview_make_clickable_parts(TextView *textview, GtkText *text,
                }
 
                if (*normal_text)
-                       gtk_text_insert(text, textfont, fg_color,
+                       gtk_text_insert(text, font, fg_color,
                                        NULL, normal_text, -1);
        } else
-               gtk_text_insert(text, textfont, fg_color, NULL,
-                               linebuf, -1);
+               gtk_text_insert(text, font, fg_color, NULL, linebuf, -1);
 }
 
 #undef ADD_TXT_POS
@@ -797,8 +790,7 @@ static void textview_write_line(TextView *textview, const gchar *str,
                gtk_text_insert(text, spacingfont, NULL, NULL, " ", 1);
 
        if (prefs_common.enable_color)
-               textview_make_clickable_parts(textview, text,
-                                                 textview->msgfont,
+               textview_make_clickable_parts(textview, textview->msgfont,
                                              fg_color, &uri_color, buf);
        else
                gtk_text_insert(text, textview->msgfont, fg_color, NULL,
@@ -940,29 +932,11 @@ enum
 
 static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
 {
-       /*
-       static HeaderEntry hentry[] = {{"Date:",         NULL, FALSE},
-                                      {"From:",         NULL, TRUE},
-                                      {"To:",           NULL, FALSE},
-                                      {"Newsgroups:",   NULL, FALSE},
-                                      {"Subject:",      NULL, TRUE},
-                                      {"Cc:",           NULL, FALSE},
-                                      {"Reply-To:",     NULL, FALSE},
-                                      {"Followup-To:",  NULL, FALSE},
-                                      {"X-Mailer:",     NULL, TRUE},
-                                      {"X-Newsreader:", NULL, TRUE},
-                                      {"User-Agent:",   NULL, TRUE},
-                                      {"Organization:", NULL, TRUE},
-                                      {NULL,            NULL, FALSE}};
-       */
-       gchar buf[BUFFSIZE], tmp[BUFFSIZE];
-       gint hnum;
-       HeaderEntry *hp;
-       GPtrArray *headers;
-       GSList * l;
-
-       int i;
-       GPtrArray *sorted_headers;
+       gchar buf[BUFFSIZE];
+       GPtrArray *headers, *sorted_headers;
+       GSList *disphdr_list;
+       Header *header;
+       gint i;
 
        g_return_val_if_fail(fp != NULL, NULL);
 
@@ -972,72 +946,38 @@ static GPtrArray *textview_scan_header(TextView *textview, FILE *fp)
                return NULL;
        }
 
-       headers = g_ptr_array_new();
+       headers = procheader_get_header_array_asis(fp);
 
-       /*
-       while ((hnum = procheader_get_one_field(buf, sizeof(buf), fp, hentry))
-              != -1) {
-               Header *header;
-
-               hp = hentry + hnum;
+       sorted_headers = g_ptr_array_new();
 
-               header = g_new(Header, 1);
-               header->name = g_strndup(buf, strlen(hp->name));
-               conv_unmime_header(tmp, sizeof(tmp), buf + strlen(hp->name),
-                                  NULL);
-               header->body = g_strdup(tmp);
+       for (disphdr_list = prefs_common.disphdr_list; disphdr_list != NULL;
+            disphdr_list = disphdr_list->next) {
+               DisplayHeaderProp *dp =
+                       (DisplayHeaderProp *)disphdr_list->data;
 
-               g_ptr_array_add(headers, header);
-       }
-       */
-       //      while (procheader_get_unfolded_line(buf, sizeof(buf), fp) != NULL) {
-       while (procheader_get_one_field(buf, sizeof(buf), fp, NULL) != -1) {
-               gchar * p;
-               Header *header;
-
-               header = procheader_parse_header(buf);
-               if (header != NULL)
-                       g_ptr_array_add(headers, header);
-       }
+               for (i = 0; i < headers->len; i++) {
+                       header = g_ptr_array_index(headers, i);
 
-       sorted_headers = g_ptr_array_new();
-       for(l = prefs_display_headers.headers_list ; l != NULL ;
-           l = g_slist_next(l)) {
-               HeaderDisplayProp * dp = (HeaderDisplayProp *) l->data;
-               for(i = 0 ; i < headers->len ; i++) {
-                       Header * header = g_ptr_array_index(headers, i);
-                       if (procheader_headername_equal(header->name,
-                                                       dp->name)) {
-                               if (dp->hidden) {
-                                       g_ptr_array_remove_index(headers, i);
+                       if (!strcasecmp(header->name, dp->name)) {
+                               if (dp->hidden)
                                        procheader_header_free(header);
-                                       i--;
-                               }
-                               else {
-                                       g_ptr_array_add(sorted_headers,
-                                                       header);
-                                       g_ptr_array_remove_index(headers, i);
-                                       i--;
-                               }
+                               else
+                                       g_ptr_array_add(sorted_headers, header);
+
+                               g_ptr_array_remove_index(headers, i);
+                               i--;
                        }
                }
        }
 
-       if (prefs_display_headers.show_other_headers) {
-               while (headers->len != 0) {
-                       Header * header = g_ptr_array_index(headers, 0);
+       if (prefs_common.show_other_header) {
+               for (i = 0; i < headers->len; i++) {
+                       header = g_ptr_array_index(headers, i);
                        g_ptr_array_add(sorted_headers, header);
-                       g_ptr_array_remove_index(headers, 0);
                }
        }
 
-       for(i = 0 ; i < headers->len ; i++) {
-               Header * header = g_ptr_array_index(headers, i);
-               procheader_header_free(header);
-       }
-
-       g_ptr_array_free(headers, FALSE);
-
+       g_ptr_array_free(headers, TRUE);
        return sorted_headers;
 }
 
@@ -1057,27 +997,28 @@ static void textview_show_header(TextView *textview, GPtrArray *headers)
 
                gtk_text_insert(text, textview->boldfont, NULL, NULL,
                                header->name, -1);
-               gtk_text_insert(text, textview->boldfont, NULL, NULL,
-                               " ", -1);
+               gtk_text_insert(text, textview->boldfont, NULL, NULL, ":", 2);
+
+               if (!strcasecmp(header->name, "Subject") ||
+                   !strcasecmp(header->name, "From")    ||
+                   !strcasecmp(header->name, "To")      ||
+                   !strcasecmp(header->name, "Cc"))
+                       unfold_line(header->body);
+
                if (prefs_common.enable_color &&
-                   (strncmp(header->name, "X-Mailer", 8) == 0 ||
-                    strncmp(header->name, "X-Newsreader", 12) == 0) &&
+                   (!strncmp(header->name, "X-Mailer", 8) ||
+                    !strncmp(header->name, "X-Newsreader", 12)) &&
                    strstr(header->body, "Sylpheed") != NULL)
                        gtk_text_insert(text, NULL, &emphasis_color, NULL,
                                        header->body, -1);
-               else {
-                       if (prefs_common.enable_color) {
-                               textview_make_clickable_parts(textview, text,
-                                                                                         NULL,
-                                                                                         NULL, 
-                                                                                         &uri_color, 
-                                                                                         header->body);
-                       }                                                                                         
-                       else {                                                                                    
-                               gtk_text_insert(text, NULL, NULL, NULL,
-                                               header->body, -1);
-                       }                                               
-               }                                       
+               else if (prefs_common.enable_color) {
+                       textview_make_clickable_parts(textview,
+                                                     NULL, NULL, &uri_color,
+                                                     header->body);
+               } else {
+                       gtk_text_insert(text, NULL, NULL, NULL,
+                                       header->body, -1);
+               }
                gtk_text_insert(text, textview->msgfont, NULL, NULL, "\n", 1);
        }
 
index 62e95ad71ff656700b054cc25ef0191bc4c4bd00..0e65bbc55df67903237eb1231e2d54dd356a55ef 100644 (file)
@@ -826,6 +826,24 @@ void remove_space(gchar *str)
        }
 }
 
+void unfold_line(gchar *str)
+{
+       register gchar *p = str;
+       register gint spc;
+
+       while (*p) {
+               if (*p == '\n' || *p == '\r') {
+                       *p++ = ' ';
+                       spc = 0;
+                       while (isspace(*(p + spc)))
+                               spc++;
+                       if (spc)
+                               memmove(p, p + spc, strlen(p + spc) + 1);
+               } else
+                       p++;
+       }
+}
+
 void subst_char(gchar *str, gchar orig, gchar subst)
 {
        register gchar *p = str;
index 630c190ebfd1044b8b66e3077a75916e30cfcbe8..065f37f37e7b05c1fae50261ad4871269702d1e0 100644 (file)
@@ -219,6 +219,7 @@ GSList *newsgroup_list_append               (GSList         *group_list,
                                         const gchar    *str);
 void remove_return                     (gchar          *str);
 void remove_space                      (gchar          *str);
+void unfold_line                       (gchar          *str);
 void subst_char                                (gchar          *str,
                                         gchar           orig,
                                         gchar           subst);