3 * src/textview.c: textview_key_pressed(): pass GDK_Delete event to
5 * src/summaryview.c: summary_key_pressed(): scroll correct TextView
10 * src/news.c: news_scan_group(): fixed wrong message number
15 * major refactoring for POP3.
16 * src/inc.[ch]: moved Pop3State, inc_pop3_state_new(),
17 inc_pop3_state_destroy(), inc_get_uidl_table(), and
18 inc_write_uidl_list() into pop.c.
19 Moved Pop3State::folder_table and Pop3State::inc_state into
22 inc_put_error(): added lockbusy state.
23 inc_pop3_session_do(): obtain inc_state from Pop3State::error_val.
24 inc_cancel(): don't terminate the automaton here but just set
25 the flags to prevent crash.
27 pop3_getauth_pass_recv()
28 pop3_getauth_apop_recv(): check lockbusy state.
29 pop3_retr_recv(): check Pop3State::cancelled flag.
30 * src/automaton.[ch]: added 'cancelled' flag to Automaton.
31 automaton_input_cb(): terminate if cancelled flag is true.
32 * sylpheed.desktop: changed Type=Internet to Type=Application.
33 Added Categories=Application;Network;.
39 src/progressdialog.c: show detailed information to the status
41 Added cur_total_recv_bytes to Pop3State.
42 * src/prefs_common.[ch]: added an option to specify whether to
43 close receive dialog when finished.
47 * src/folder.[ch]: folder_get_path(): new. It returns the root path
54 news_folder_destroy(): remove cache directories / files when
55 deleting Folder / messages.
59 is_file_entry_exist(): check if the argument is NULL.
61 remove_numbered_files()
62 remove_expired_files(): fixed memory leaks on error.
71 src/smtp.[ch]: made Folder and Session destructor virtual method.
75 * src/compose.c: do joining of normal lines only when auto-wrapping.
76 * src/main.c: modified the warning message for GnuPG.
77 * src/about.c: about_create(): modified the compiled-in features
79 * configure.in: improved LDAP library checking (thanks to Alfons).
89 compose_wrap_line_all(): backed out the change to join lines that
94 * configure.in: require at least gpgme-0.3.5.
98 * src/alertpanel.c: alertpanel_create(): minor modification.
107 * src/alertpanel.c: alertpanel_create(): modified the layout.
108 * src/rfc2015.c: check_signature(): don't abort on error.
112 * src/compose.c: compose_wrap_line_all(): freeze widget only if
113 required to repress flickers.
117 * src/compose.c: improved line wrapping.
119 compose_wrap_line_all(): also join lines that are not indented.
120 dump_text(): handle multi-byte strings correctly.
124 * src/compose.c: compose_wrap_line_all(): fix for auto-wrapping
125 (go to next line when space is entered at line limit).
129 * src/inc.c: inc_get_uidl_table(): fixed a memory leak reported by
134 * src/mh.c: mh_scan_tree_recursive(): disabled Maildir folder
135 checking to prevent confusion.
139 * src/folder.[ch]: folder_item_get_msg_list(): added a wrapper for
140 method Folder::get_msg_list().
141 * src/account.c: account_edit_prefs(), account_delete(): use
142 folderview_set_all() instead of folderview_rescan_all().
143 * src/folderview.[ch]:
144 folderview_check_new_all(): new. Updates all folders.
145 folderview_rescan_tree(): confirm before executing.
146 folderview_rescan_all(): commented out since it's not used anymore.
147 folderview_update_item_foreach(): added a flag for summary update.
148 * src/inc.c: inc_finished(): update summary only when
149 prefs_common.scan_all_after_inc is set.
150 inc_drop_message(): set mtime of target folder to 0 to force
151 the updating of summary.
152 inc_start(), get_spool(): update also summary when updating
154 * src/mainwindow.c: changed 'File - Rescan folder tree' to
155 'File - Check for new messages in all folders'.
159 * src/compose.c: compose_write_to_file(): clearsign message body
161 compose_clearsign_text(): new. Replaces the string with clearsigned
163 * src/prefs_account.c: added an option for clearsign.
164 * src/rfc2015.c: rfc2015_clearsign(): new.
165 pgp_sign(): added a flag for clearsign.
166 * src/utils.[ch]: get_tmp_file(): return newly allocated unique file
167 name (needs to be freed by caller).
168 str_write_to_file(), file_read_to_str(): new.
172 * src/procmsg.c: procmsg_read_mark_file(): check key duplication
173 to avoid memory leak.
177 * src/base64.c: include string.h for memcpy().
178 * src/gtksctree.c: use macro ABS() instead of function abs().
179 * src/prefs_account.c
180 src/prefs_common.c: renamed 'send' to 'p_send' so as not to
181 conflict with the function send() in sys/socket.h.
182 * src/mainwindow.c: commented out the unnecessary functions.
183 * src/utils.c: canonicalize_file_replace(): correct warning message.
187 * src/utils.[ch]: get_tmp_file(): new. Returns the directory for
188 temporary files in ~/.sylpheed/.
189 * src/main.c: create temporary directory in ~/.sylpheed/.
191 src/inc.c: create temporary files in ~/.sylpheed/, and modified
193 compose_exec_ext_editor(): fixed a bug that failed to create the
194 temporary file if g_get_tmp_dir() returned directory other than
199 * src/utils.c: copy_file(): check if dest_bak != NULL when unlinking.
203 * src/utils.[ch]: canonicalize_file_replace(): fixed a bug that fails
204 to replace the file when the given file and temporary file are not
205 on the same filesystem.
206 copy_file(): added a flag whether to keep backup.
207 move_file(): added a flag whether to overwrite the destination file.
211 * src/socket.[ch]: fixed the linking failure when IPv6 is enabled.
212 * src/select-keys.c: modified key selection dialog.
216 * src/socket.[ch]: my_gethostbyname(): new.
217 * src/utils.c: get_domain_name(): return FQDN instead of short
218 hostname (thanks to Bob Woodside).
219 * src/template.c: made the debug messages less verbose.
223 * src/prefs_common.[ch]: removed obsolete default sign key setting.
224 * src/utils.c: canonicalize_file(): correct the error check of
229 * src/compose.c: compose_write_to_file():
230 canonicalize line endings before encrypting/signing (this will fix
231 interoperability with other MUAs).
232 Removed unnecessary strdup.
233 Don't encrypt/sign draft message.
235 canonicalize_file(), canonicalize_file_replace(): new.
237 src/select-keys.c: changed g_message() to debug_print() and
239 * src/mimeview.c: mimeview_check_signature(): removed unnecessary
240 MIME structure scanning.
241 * src/textview.c: textview_add_part(): show signature status in
244 src/sigstatus.c: modified translatable strings and some MIME
249 * src/procmsg.c: procmsg_save_to_outbox(): don't forget to remove
250 the temporary file when saving from queue.
256 src/prefs_account.[ch]
257 src/prefs_common.[ch]: merged GnuPG stuff from the claws branch.
258 Modified some messages.
262 * src/textview.c: textview_scan_header(): fixed a memory leak
267 * src/prefs_actions.c: execute_actions(): put create_io_dialog()
268 in right conditional block.
272 * src/compose.c: compose_wrap_line_all(): fixed character buffer
278 log_error(): add time stamp to log messages.
283 corrected a typo (HAVE_SYS_SELECT -> HAVE_SYS_SELECT_H)
287 * src/socket.c: implemented socket I/O timeout.
289 * src/pop.c: check errors and return error value correctly.
293 * src/prefs_actions.c: made the action's input/output dialog display
294 without delay. Made the dialog modal instead of making window
295 insensitive. Also cleaned up its UI.
299 * implemented --attach command line option.
301 Cmd::attach_files: new member to store file paths.
302 parse_cmd_opt(): added --attach option. --compose option is implied.
303 prohibit_duplicate_launch()
304 lock_socket_input_cb(): added "compose_attach" message.
307 src/textview.c: renamed compose_new_with_recipient() to
308 compose_new(), and added an argument for attachment files.
312 * src/logwindow.c: freeze GtkText widget while hidden.
313 log_window_append(): changed the header for message and warning.
317 * src/news.c: implement automatic cache expiration.
318 news_delete_expired_caches(): new.
319 news_get_article_list(): fixed a bug that nonexistent messages
320 were not removed from list.
321 * src/procmsg.[ch]: procmsg_get_last_num_in_msg_list(): renamed
322 procmsg_get_last_num_in_cache().
323 * src/utils.[ch]: remove_expired_files(): new.
328 inc_mail(): force summary refresh when using external command for
330 inc_all_account_mail(): fixed a bug on spool checking failure.
341 src/editldap_basedn.c
343 src/prefs_common.c: fixed memory leaks which didn't free strings
344 gtk_editable_get_chars() returned. And minor code cleanups.
346 src/vcard.h: removed C++-style comments.
350 * src/codeconv.c: conv_encode_header(): fixed a problem in encoding
351 strings which include both multi-byte and us-ascii characters.
355 * src/utils.c: remove_numbered_files(): don't try to unlink()
358 conv_get_code_conv_func(): return conv_anytodisp() if charset is
360 conv_unmime_header_overwrite()
361 conv_unmime_header(): do conv_anytodisp() before decoding header.
369 * src/compose.c: added 'Tools/Actions' menu.
373 * src/base64.c: a minor fix for BASE64VAL() macro.
377 * src/base64.c: base64_decode(): fixed a buffer overrun bug.
385 src/base64.[ch]: rewrote the BASE64 encode / decode routines.
386 base64_encode(), base64_decode(): new.
387 * src/rfc822.[ch]: removed.
389 src/about.c: removed the copyright notice for fetchmail.
395 src/unmime.[ch]: rewrote the MIME decode routines.
397 unmime_quoted_printable_line(): new.
399 procheader_get_one_field()
400 procheader_get_unfolded_line(): remove also CR.
404 * libkcc: removed from the source tree.
406 src/about.c: removed the copyright notice for libkcc.
407 * src/codeconv.c: conv_guess_encoding(): check for ASCII code first
409 * src/prefs_actions.c: removed unnecessary spaces/tabs.
413 * src/prefs_actions.c: comply with the coding style.
414 Modified the UI design.
415 * src/mainwindow.c: main_window_set_menu_sensitive(): enable Actions
416 menu when multiple messages are selected.
420 * src/prefs_actions.[ch]: merged the 'Actions' feature from claws.
421 update_actions_menu(): simplified the menu deletion.
422 * src/mainwindow.c: added 'Actions' menu to Tools and Configuration.
426 * src/codeconv.[ch]: implemented conv_jistoeuc(), conv_euctojis(),
427 conv_sjistoeuc(), and conv_guess_encoding(). Removed the dependency
432 * configure.in: added check for strchr.
436 * src/prefs_common.[ch]
437 src/inc.c: added an option to inhibit receive error dialog.
441 * src/account.c: account_find_from_address(): support multiple
446 * src/gtksctree.[ch]: changed GtkSCTree::anchor_row from gint to
447 GtkCTreeNode* so that it won't become invalid after the row move.
448 Removed dependency to gtkutils.c.
449 * src/prefs_common.[ch]
450 src/summaryview.c: summary_selected(): added an option to show
451 message when cursor keys are pressed on summary view.
457 src/compose.c: changed "host_alias" to "target_alias" so that it
458 shows the correct system name on cross-compiling (thanks to
463 * src/prefs_account.[ch]: added the option menu to force an
464 authentication method for SMTP AUTH.
466 src/smtp.[ch]: smtp_from(), smtp_auth(): added an argument to
467 specify the authentication method for SMTP AUTH.
468 smtp_ehlo(): allow AUTH responses that don't comply with the RFC.
472 * src/prefs_common.[ch]
473 src/compose.c: enabled "Wrap on input".
477 * src/summaryview.[ch]
478 src/mainwindow.c: added "Go to/{Prev,Next} new message" menu.
479 Made some code cleanups.
484 src/prefs_common.[ch]: added the hidden option to specify the
485 policy of the vertical scrollbar on folder view.
489 * src/messageview.[ch]:
490 messageview_copy_clipboard(): fixed a bug that couldn't copy text
492 messageview_get_current_textview(): new.
493 messageview_get_text_widget(): removed.
494 * src/quote_fmt_parse.y: quote message even if msginfo is empty.
495 * src/compose.[ch]: implemented the "Paste as quotation" feature.
496 text_inserted(): new callback for "insert_text" signal.
497 Add quote mark to the pasted text if Compose::paste_as_quotation
502 * src/compose.c: if the Content-Type of a file is text/*, check
503 its content and set the optimal Content-Transfer-Encoding (thanks
508 * src/textview.c: textview_key_pressed(): pass key press event to
509 main window to activate menu shortcuts (thanks to Alfons).
513 * src/folder.c: folder_build_tree(): use strtoul() instead of atoi()
514 for mtime to prevent flooring.
517 imap_move_msgs_with_dest()
518 imap_copy_msgs_with_dest(): fixed a bug that prevented multiple
520 imap_parse_envelope()
521 imap_cmd_envelope(): use RFC822.HEADER instead of ENVELOPE to get
522 full information of messages and simplify the parser. Also fixed
523 the bug that References header was ignored on threading.
524 imap_parse_one_address()
525 imap_parse_address(): removed.
526 imap_get_header(): new. It reads the RFC822 header and returns
527 a newly allocated string.
528 * src/procheader.[ch]: changed procheader_parse() to
529 procheader_parse_stream() and added different interfaces for it.
533 * po/zh_TW.Big5.po: fixed a mistake that caused a crash.
541 * src/inc.c: inc_get_uidl_table(): fixed a bug that garbage time
542 could be inserted into the hash table.
543 inc_write_uidl_list(): a minor code cleanup.
544 * src/mainwindow.c: main_window_get_current_state():
545 make the state unexecutable on an empty folder.
546 * src/summaryview.c: summary_sort(): don't sort on an empty folder.
547 * src/pop.c: minor code cleanups.
551 * src/prefs_account.c: CREATE_RADIO_BUTTONS(): fixed a typo and
552 corrected the behavior of the radio buttons.
556 * implemented 'Delete messages after N days' feature for POP3.
559 inc_write_uidl_list(): moved the location of UIDL list file from
560 RC_DIR/uidl-* to RC_DIR/uidl/*.
561 Added received time for each UIDLs.
562 src/main.c: main(): create RC_DIR/uidl/ directory.
563 src/pop.[ch]: LOOKUP_NEXT_MSG(): delete expired messages here.
564 Added recv_time to Pop3MsgInfo.
565 src/prefs_account.[ch]: added an option for the number of days for
574 * src/folder.c: folder_set_missing_folders(): fixed a bug that
575 caused multiplication of special folders on startup if their
577 * src/folderview.c: folderview_remove_mailbox_cb(): modified the
582 * src/compose.c: compose_reply(), compose_forward(): reverted the
583 last change since it causes lockup problem.
587 * src/compose.c: compose_reply(), compose_forward(): don't autowrap
589 compose_new_with_recipient(): workaround for initial XIM problem.
593 * src/mainwindow.c: sort ascending / descending order can be
594 specified with separated menu items.
595 Added "View/Sort/Don't sort" menu item.
596 * src/summaryview.[ch]: summary_sort(): added an argument for
601 * implemented persistent sort order.
603 folder_build_tree(): read 'sort_key' and 'sort_type' attributes.
604 folder_write_list_recursive(): write sorting state.
606 src/summaryview.[ch]: summary_show(): sort if required.
607 select the top node on descending sort.
608 Removed SummarySortType and sorting state variables from
616 src/prefs_account.[ch]: enabled NNTP over SSL.
617 * src/nntp.c: nntp_group(): issue MODE READER command and retry
618 when GROUP command once failed (this seems to avoid problems on
619 some broken news servers).
623 * faq/it/*.html: corrected DOS linebreaks.
624 * faq/*/*.html: changed ">" to ".
628 * src/prefs_account.c: prefs_account_protocol_activated(): hide
629 unnecessary frames in SSL tab.
635 src/prefs_account.[ch]: enabled STLS command in POP3.
636 * src/account.c: account_clist_set_row(): display TLS setting.
640 * src/compose.c: compose_send_later_cb(): support redirect function.
643 src/prefs_account.[ch]: enabled STARTTLS command in IMAP4.
645 src/smtp.[ch]: use SSLType instead of SSLSMTPType.
649 * src/utils.[ch]: make_dir(): wrapper for mkdir() and chmod().
650 * src/compose.c: compose_create(): removed unrequired lines.
654 * src/news.c: news_scan_group(): fixed a bug that set the wrong
655 values in some cases.
656 * src/prefs_account.c: corrected English in Advanced - Folder
661 * src/textview.c: textview_show_message(), textview_show_part():
662 fixed a bug that GtkSText *text pointed the incorrect object.
663 textview_add_part(): freeze GtkSText while adding RFC822 headers.
664 textview_show_part(): fixed a bug that couldn't display single
665 part MIME message as text.
669 * src/compose.c: compose_redirect_write_to_file(): correct the target
670 for change_file_mode_rw(). Check if fclose() succeeded. Unlink
671 incomplete file when an error occured.
676 compose_create(): disable menus for draft on redirection mode.
677 compose_redirect_write_to_file(): correct the error handling of
679 * src/prefs_common.c: turned off the "Display recipient on `From'
680 column if sender is yourself" option by default.
684 * src/compose.[ch]: implemented 'Redirect' (aka Bounce) feature.
685 Based on the implementation of the claws branch.
686 compose_redirect(): create a new window and make it uneditable.
687 compose_redirect_write_to_file(): copy headers and body of
688 original message except for some.
689 compose_redirect_write_headers(): add extra "Resent-*" headers.
690 compose_create(): set menu sensitivity for redirection mode.
694 * src/codeconv.c: conv_encode_header(): fixed a bug that unnecessary
695 space is inserted between encoded string and the following folded
696 one (thanks to Masahiro Tomita).
700 * src/mainwindow.[ch]: some refactoring has been made.
701 main_window_toggle_message_view(): moved summary_toggle_view_real()
703 * src/messageview.[ch]: messageview_is_visible(): new.
704 * src/summary_search.c
705 src/summaryview.[ch]: SummaryView::msg_is_toggled_on: removed.
706 Instead use messageview_is_visible().
710 * src/mainwindow.c: added 'Expand/Collapse all threads' menu.
711 * src/summaryview.[ch]:
712 summary_expand_threads(), summary_collapse_threads(): new.
716 * src/mainwindow.c: Fixed the behavior of
717 '/View/Show or hide/Folder tree' and
718 '/View/Show or hide/Message view' toggle menu.
719 Removed '/View/Toggle summary view' menu and integrated the
720 function into '/View/Show or hide/Message view'.
721 main_window_set_widgets(): change the state of toggle menu items.
722 * src/prefs_common.c: prefs_keybind_apply_clicked(): updated menurc
727 * src/mimeview.c: mimeview_set_multipart_tree(): show single part
728 MIME contents other than text as children of message/rfc822 part.
730 procmime_mimeinfo_next(): modified for message/rfc822 part which
731 content-type is single part MIME.
732 procmime_scan_multipart_message(): fix for nested message/rfc822
733 part. Corrected the size of the contents of message/rfc822.
734 * src/textview.c: textview_show_part(): extract the contents of
735 multipart/* and message/rfc822. Some code cleanups.
736 textview_add_parts(): new. It adds the all parts under a part to
738 textview_clear(): reset body_pos and cur_pos.
742 * src/addr_compl.c: modified so that it behaves better.
743 get_address_from_edit(): ignore comma inside of brackets.
744 completion_window_apply_selection(): new. Only apply the current
746 completion_window_accept_selection(): removed.
747 address_completion_complete_address_in_entry(): minor code cleanup.
748 don't replace address in entry here.
749 completion_window_select_row(): always apply clist selection to
751 completion_window_key_press(): don't apply selection here.
755 * src/imap.c: imap_create_folder(): keep trailing directory separator
756 to create a folder that contains sub folder.
760 * src/foldersel.c: sort tree with case insensitive.
761 * src/mainwindow.c: allsel_cb()
762 src/messageview.c: messageview_select_all(): fixed 'Select all'
764 * src/mainwindow.c: removed common and account prefs button from
769 * src/compose.c: compose_account_option_menu_create(): check if
778 * manual/ja/*: updated the Japanese manual (thanks to Yoichi Imai).
779 manual/en/*: updated the English manual.
781 faq/it/*: added German and Italian FAQ.
784 faq/fr/*: updated FAQs.
786 src/mainwindow.c: added German and Italian language.
790 * src/prefs_account.c: turn off "receive at get all" option by default
791 when creating an IMAP or News account.
795 * src/imap.c: imap_scan_tree(): don't use namespace for prefix.
796 * src/prefs_folder_item.c: show also identifier path.
797 Made layout using table. Show uneditable entry using background
799 * src/procmime.c: procmime_get_tmp_file_name(): generate safe
804 * src/automaton.[ch]: added UI callback to Automaton.
806 src/pop.c: use callback instead of calling inc_progress_update()
808 pop3_getrange_uidl_recv(): don't fall back to LAST when 'get all'
813 * src/folderview.c: properly sort abbreviated newsgroups.
818 src/prefs_common.[ch]
819 src/summaryview.c: added an option to specify the minimum length
820 for abbreviated newsgroups name.
824 * src/folderview.c: folderview_check_new(): skip unselectable folders.
825 * src/summaryview.c: added 'Create filter rule' to the context menu.
826 * src/imap.c: some code cleanups.
827 imap_scan_tree_recursive(): get path separator for each calls.
828 imap_get_path_separator(): new.
832 * src/imap.[ch]: supported namespace for others/shared folders
834 imap_parse_namespace(): parse also others/shared namespace.
835 imap_find_namespace(): search also others/shared namespace.
837 strchr_parenthesis_close(): return pointer to closing parenthesis.
838 strsplit_parenthesis(): split parenthetic list into array of
843 * src/procheader.c: procheader_date_parse(): fixed a bug that didn't
844 parse date string like "Mon,6 May 2002 20:31:12 +0800".
845 procheader_scan_date_string(): new. Separated string scanning
846 part from procheader_date_parse().
850 * src/summary_search.c: summary_search_execute(): unlock while
851 selecting summary row (thanks to Martin Schaaf).
852 * src/summaryview.c: summary_set_column_titles(): reversed the
853 direction of the arrow so that it matches with Win/Mac style.
857 * src/compose.c: compose_write_headers(): quote self address name
858 if required. Some code cleanups. Don't override Newsgroups and
859 Cc with custom headers.
860 * src/imap.c: imap_add_msg(): return UID for appended message.
861 * src/compose.c: compose_queue(): check if queue folder exists.
862 * src/imap.c: QUOTE_IF_REQUIRED(): quote also other IMAP special
864 imap_open(): removed an unrequired argument.
868 * src/utils.[ch]: trim_string(): new. It trim characters longer than
869 the specified length and adds "...".
870 * src/folderview.c: trim folder name when displaying dialog.
874 * src/imap.c: imap_create_folder(): don't add prefix for root INBOX
876 * src/folderview.c: folderview_select()
877 src/summary_search.c: summary_search_execute(): lock summary view
878 while searching (thanks to Martin Schaaf).
886 * sylpheed*.png: added new app icons by WAKAI Kazunao (thanks!).
890 * src/summaryview.c: summary_show(): fixed a bug that didn't process
892 * src/account.c: account_edit_prefs(): fixed a crash bug when account
894 * src/prefs_account.c: prefs_account_apply(): display error dialog
895 if account name is empty.
896 * src/imap.c: changed some log_print() to debug_print() to reduce
901 * src/mh.c: mh_get_new_msg_filename(): new. It returns the filename
905 mh_do_move_msgs_with_dest()
907 mh_copy_msgs_with_dest(): use mh_get_new_msg_filename().
908 * src/utils.[ch]: added is_file_entry_exist() which returns TRUE
911 imap_fetch_msg(): SELECT mailbox before FETCH if required.
912 imap_scan_folder(): set last_num using the value of UIDNEXT.
913 imap_select(): return immediately if there is no need for SELECT.
914 preserve the path of currently selected mailbox.
915 imap_status(): added UIDNEXT.
919 * src/folder.c: folder_item_scan(): removed the warning.
920 * src/inputdialog.[ch]: input_dialog_combo(): added an argument for
921 setting case sensitivity.
925 * src/mainwindow.c: main_window_create(): restrict the minimum size.
929 * src/compose.c: merged the new line-wrapping routine.
930 join_next_line(): fixed a bug that didn't join multibyte
932 get_indent_length(): modified enums and variable names.
933 INDENT_CHARS: don't indent ':'.
935 folderview_rename_folder_cb()
936 folderview_delete_folder_cb(): support folder identifier.
937 folderview_rm_imap_folder_cb(): integrated with
938 folderview_delete_folder_cb().
942 * src/folder.[ch]: folder_item_scan(): return -1 if scanning failed.
943 * src/folderview.c: folderview_check_new(): abort checking if
944 folder_item_scan() failed.
948 * src/imap.c: imap_create_missing_folders(): create only INBOX and
950 * src/prefs_folder_item.c: prefs_folder_item_set_dialog(): made the
951 type of news folders unchangeable.
952 prefs_folder_item_destroy(): use prefs_dialog_destroy().
953 * src/prefs.[ch]: prefs_dialog_destroy(): new.
957 * src/prefs_account.[ch]: added special folder setting to Advanced
958 tab. Also moved "IMAP server directory" setting to there.
959 * src/account.[ch]: account_get_special_folder(): new. It returns
960 the optimal special folder for accounts.
961 * src/compose.c: use account_get_special_folder().
962 * src/prefs_folder_item.[ch]: new. Implemented folder property
963 dialog, and the special folder settings (most of the functions in
964 claws are not integrated yet, and the structure is slightly
966 * src/folderview.c: enabled Property menu.
970 * src/textview.c: IS_RFC822_CHAR(): make email parser also stop
971 scanning when encountering separators ',' and ';'.
975 * src/mainwindow.c: reorderd the menu a bit.
976 * src/compose.c: made 'Ctrl-Enter' ignore some modifiers.
977 compose_reply_set_entry(): made 'Reply to sender' work for
982 * src/compose.c: compose_create(): set geometry hints to restrict
983 the maximum size of window.
984 * src/imap.c: imap_parse_list(): don't mark INBOX as \Noselect.
985 imap_get_uncached_messages()
986 imap_cmd_fetch(): ignore responses which don't include FETCH.
990 * COPYING: re-licensed (removal of "NO-VIRUS CLAUSE" and addition of
991 the clause for OpenSSL).
995 * src/prefs_account.c
996 src/smtp.[ch]: fixed a bug that didn't complie with OpenSSL enabled.
1002 src/session.[ch]: first reorganization of SMTP protocol handling.
1003 SMTPSession: new class which is a sub class of Session.
1004 smtp_session_new(): moved send_smtp_open() into this function.
1005 smtp_from(): moved SMTP AUTH calls into smtp_auth().
1006 smtp_auth(): use server response for SMTP AUTH method.
1007 smtp_ehlo(): read server response and set auth type flags.
1008 smtp_helo(): separated EHLO command.
1009 smtp_ok(): return the last server response if the buffer is
1011 * src/esmtp.[ch]: merged into smtp.[ch].
1012 * src/imap.c: imap_session_destroy_all(): use session_destroy().
1016 * src/imap.c: imap_open(): show warning message if IMAP4 session
1017 can't be established.
1021 * src/compose.c: made template able to be inserted into the current
1023 * src/mainwindow.c: moved some menu items under the submenu
1024 '/View/Show or hide'.
1029 src/inc.c: changed folder_find_item_from_path() to
1030 folder_find_item_from_identifier().
1032 src/prefs_filter.c: use folder_item_get_identifier() to specify
1037 * src/folder.[ch]: implemented "folder identifier" (and fixed a bug
1038 existed in claws' implementation).
1039 folder_find_from_name(): find Folder from name and type.
1040 folder_get_identifier(): return Folder id.
1041 folder_item_get_identifier(): return FolderItem id.
1042 folder_find_item_from_identifier(): find FolderItem from id.
1043 folder_get_type_string(): return folder type string.
1044 folder_get_type_from_string(): return FolderType from string
1045 (and fixed the wrong g_strcasecmp() usage).
1047 src/import.c: use folder_item_get_identifier() and
1048 folder_find_item_from_identifier().
1052 * src/imap.c: imap_parse_atom(): fixed a bug that cur_pos didn't
1053 point the correct address after reading the continuous line.
1054 imap_scan_folder(): set new number to 0 if unseen number is 0.
1055 imap_parse_flags(): don't add new and unread flag if \Seen flag
1057 * ac/Makefile.am: removed gpgme.m4 from MACROS.
1061 * fixed the old problem that couldn't add flags to currently opened
1064 compose_send(): update outbox after saving.
1066 compose_draft_cb(): use procmsg_add_flags().
1067 * src/folder.[ch]: added "opened" flag and "mark_queue" list to
1069 * src/main.c: send_queue(): send from all queue folders.
1070 * src/mainwindow.c: send_queue_cb(): send from all queue folders.
1072 procmsg_flush_mark_queue(): new. Write all queued flags into file.
1073 procmsg_add_flags(): new. Add specified flags to the folder.
1074 procmsg_send_queue(): added an argument to specify queue folder.
1075 procmsg_save_to_outbox(): use procmsg_add_flags().
1076 * src/summaryview.c:
1077 summary_show(): up the opened flag of FolderItem.
1078 summary_clear_list(): down the opened flag of FolderItem.
1079 summary_write_cache(): call procmsg_flush_mark_queue().
1083 * src/summaryview.[ch]: trim the tail of folder name and selected
1084 number on the status label if the space is not enough.
1088 * src/imap.c: imap_create_special_folder(): fixed a bug that didn't
1089 set SpecialFolderItemType when creating special folders under
1091 * ac/gpgme.m4: removed.
1093 * ac/missing/gdk-pixbuf.m4
1094 ac/missing/gettext.m4
1096 ac/missing/imlib.m4: added for convenience.
1100 * src/esmtp.c: esmtp_auth(): fixed a bug that some garbages are
1101 shown after the decoded challenge string. Fixed a memory leak.
1103 * src/compose.c: compose_draft_cb(): mark draft messages as read.
1104 * src/folderview.c: folderview_update_node(): disable emphasis
1105 for Outbox and Draft folders.
1109 * src/messageview.c: messageview_show(): fixed a memory leak.
1110 * src/summaryview.c: summary_save_as(): show error dialog if copy
1112 * src/about.c: about_show(): make the window active if it is already
1117 * src/compose.c: show confirmation dialog before sending if Subject
1119 compose_check_entries(): new.
1121 compose_send_later_cb(): use compose_check_entries().
1122 * src/imap.c: imap_parse_atom(): more fix for parsing responses.
1126 * src/imap.c: imap_parse_atom(): fixed a bug that didn't parse the
1127 responses with continuous line correctly, and fixed a memory leak.
1131 * src/undo.c: undo_insert_text_cb(): fixed a crash bug if the text
1133 * src/gtkstext.c: gtk_stext_button_press(): cancel current selection
1134 after pasting with middle button to prevent the selection growth.
1139 folderview_rename_folder_cb()
1140 folderview_delete_folder_cb(): modify filter rules only if the
1141 target folder is in the default mailbox.
1142 * src/utils.c: get_abbrev_newsgroup_name(): removed a redundant
1149 src/prefs_common.c: changed 'Tool' menu to 'Tools'.
1150 Moved 'Delete duplicated messages' under 'Tools'.
1154 * src/folderview.c: SET_SPECIAL_FOLDER(): keep the same parent
1156 * src/imap.c: imap_create_special_folder(): fixed a crash bug
1157 when folder creation failed, and re-try to create folders under
1159 imap_scan_tree_recursive(): don't automatically add namespace
1160 prefix if it's INBOX. Search also under the INBOX for special
1162 * src/foldersel.c: SET_SPECIAL_FOLDER(): keep the same parent
1167 * src/utils.[ch]: get_abbrev_newsgroup_name(): new. It returns the
1168 abbreviated newsgroup name.
1169 * src/folderview.c: folderview_update_node(): display newsgroups
1170 with abbreviated name if name and path is the same.
1171 * src/summaryview.c: summary_status_show(): show the newsgroup with
1177 src/folderview.c: changed the label 'Draft' to 'Drafts'.
1178 * src/imap.c: changed the directory name 'Draft' to 'Drafts'.
1179 imap_create_missing_folders(): fixed the wrong assignment of
1180 Queue folder to draft.
1184 * enabled Sent / Draft / Queue folders on IMAP server.
1185 * src/compose.c: compose_queue(), compose_draft_cb(): use account's
1186 queue and draft folder if they exist.
1188 imap_create_trash(): removed.
1189 imap_create_special_folder(): new. Generalized imap_create_trash().
1190 imap_create_missing_folders(): automatically create missing folders.
1191 imap_is_msg_changed(): added the dummy method.
1192 imap_scan_tree_recursive(): search also Sent, Draft and Queue
1193 folders. Minor code cleanups.
1194 imap_parse_envelope(): check for null strings.
1195 src/procmsg.c: procmsg_read_cache(): add F_QUEUE or F_DRAFT flag
1196 for messages on IMAP folder.
1200 * src/compose.c: compose_send(): use account's outbox folder
1202 * src/procmsg.[ch]: procmsg_save_to_outbox(): changed the API so
1203 that the outbox can be specified.
1207 * src/compose.c: don't save to outbox when messages are queued.
1208 compose_save_to_outbox(): moved to procmsg.c.
1209 * src/procmsg.[ch]: procmsg_send_queue(): save to outbox when
1211 procmsg_save_to_outbox(): new. Removes the queueing headers if
1212 needed, and adds the given file to the outbox.
1216 * src/compose.c: compose_wrap_line(): treat '|' also as quote char.
1217 get_indent_length(): treat ':' and '#' also as quote char, and
1218 cleaned up using strchr().
1222 * src/mainwindow.c: modified some menu items.
1226 * src/defs.h: changed OUTBOX_DIR from "outbox" to "sent"
1227 (current "outbox" will be kept until rescan).
1228 * src/folder.c: folder_set_missing_folders(): create the missing
1231 src/folderview.c: changed 'Outbox' to 'Sent'.
1232 * src/main.c: call folder_set_missing_folders().
1233 * src/mh.c: mh_scan_tree(): create missing folders.
1234 * src/summaryview.c: summary_set_menu_sensitive(): fixed a bug that
1235 didn't set the menu sensitivity correctly.
1240 src/imap.[ch]: implemented folder renaming on IMAP (thanks to Mio).
1241 folderview_rename_folder_cb(): reopen the current folder when
1242 the ancestor is renamed.
1243 imap_rename_folder(): new method implementation.
1245 imap_rename_folder_func(): new.
1246 imap_remove_folder(): remove also the cache directory.
1250 * src/imap.c: implemented locale encoding <-> modified utf-7
1251 conversion, and supported i18n of folder name (thanks to Suzuki
1253 imap_path_separator_subst(): handle the escape characters of
1255 imap_modified_utf7_to_locale()
1256 imap_locale_to_modified_utf7(): new.
1257 imap_create_trash(): modified so that it create the Trash folder
1258 to the correct location when imap directory is specified.
1259 imap_get_real_path(): removed debug print.
1263 * src/socket.c: implemented timeout for DNS lookup and connect().
1264 sock_connect_by_hostname(): timeout support and code cleanup.
1265 sock_connect_with_timeout(): new.
1266 sock_peek(): implemented SSL peek.
1270 * src/messageview.c: messageview_show(): display single-part
1271 text/html messages with the normal text view.
1285 src/prefs_customheader.c
1286 src/prefs_display_header.c
1301 src/xml.c: added 'b' to the option of all fopen().
1309 * src/ssl.[ch]: match its coding style.
1310 * src/compose.c: compose_send_later_cb(): fixed a bug that failed
1314 faq/en/sylpheed-faq*.html
1316 faq/es/sylpheed-faq*.html
1318 faq/fr/sylpheed-faq*.html
1324 src/manual.[ch]: added FAQs in English, Spanish and French.
1328 * manual/en/sylpheed*.html: updated to the latest version.
1333 src/mgutils.c: include string.h to remove warning about strlen()
1347 src/summaryview.c: added break to the last label of switch to
1348 prevent the 'deprecated use of label at end of compound statement'
1350 * src/rfc2015.c: passphrase_cb(): fixed the type of r_hd.
1354 * src/inc.[ch]: preserve the pointer to IncProgressDialog to the
1356 inc_cancel_all(): new. It cancels the all current incorporation.
1357 * src/mainwindow.c: added 'Cancel receiving' menu.
1358 * src/textview.c: a minor fix for single-part MIME messages, and
1359 a bit of cleanup for textview_write_body().
1363 * src/inc.c: inc_write_uidl_list(): fixed a bug that lost UIDL
1364 information if any errors occured before issuing UIDL command.
1365 src/inc.h: added uidl_is_valid to Pop3State.
1366 src/pop.c: set uidl_is_valid to TRUE if UIDL becomes valid.
1374 * src/mimeview.c: mimeview_create(): set the initial notebook page
1376 * src/folderview.c: folderview_selected(): scroll the view if the
1377 selected row is hidden.
1378 * src/prefs_filter.c: prefs_filter_register_cb(): scroll the view
1379 and select the added row.
1380 * src/summaryview.c: fix threading for null message ids.
1384 * src/textview.c: textview_show_message(): follow message/rfc822
1386 textview_add_part(): add a caption before the attached text files.
1387 textview_show_header(): don't add the newline.
1388 * src/messageview.c: enabled message search also in MIME mode.
1392 * src/messageview.c: messageview_show(): set header state of
1393 MimeView's TextView, too.
1394 * src/mimeview.c: mimeview_show_message(): call
1395 textview_show_message() to display message.
1396 * src/textview.c: textview_add_part(): new. It adds the content
1397 of message part without clearing the view.
1398 textview_show_message(): display all parts with appropriate
1400 textview_write_body(): separated from textview_show_part().
1405 src/prefs_common.c: added ISO-8859-15 to the codesets for
1406 displaying and sending.
1407 * src/codeconv.c: conv_codeset_strdup(): return NULL if code
1408 conversion failed, and made caller deal with it.
1409 * src/compose.c: compose_write_to_file(): show error dialog when
1410 code conversion failed, and let user select whether to send it
1412 * src/textview.c: textview_write_line(): show the original string
1413 if code conversion failed.
1417 * src/inc.c: get_spool(): fixed a bug that failed to unlock mbox
1418 if copy_mbox() failed (thanks to Alexander Kabaev).
1419 * src/prefs_account.[ch]: added separate user ID / password setting
1421 * src/send.c: send_message_smtp(): use separate user ID / password
1422 for SMTP AUTH if it is specified.
1427 src/pop.[ch]: refactored the UIDL management.
1428 store the information of messages into the array of Pop3MsgInfo
1429 structure, and do full scanning of not retrieved messages.
1435 src/mainwindow.c: set WMCLASS for window/dialog.
1436 * src/codeconv.c: conv_codeset_strdup(): return source string
1437 when jconv_alloc_conv() failed.
1441 * src/mh.c: mh_scan_tree_recursive(): changed the hardcoded directory
1448 src/summaryview.c: implemented the new notebook tab interface for
1450 * src/textview.[ch]: fixed line space related glitches.
1454 * src/prefs_filter.c:
1455 prefs_filter_rename_path()
1456 prefs_filter_delete_path(): fixed a crash when flt->dest was NULL.
1460 * src/recv.[ch]: cancel data receiving if RecvUIFunc returns FALSE.
1461 * src/pop.c: pop3_retr_recv(): fixed false 'No space' when cancelled
1463 * src/inc.c: inc_pop3_recv_func(): abort data receiving when
1464 cancelled, and fixed potential crash bug.
1465 * src/grouplistdialog.c: enabled cancelling of data receiving.
1466 * src/news.c: news_get_group_list(): destroy current session if
1471 * src/manage_window.[ch]: fixed a bug that caused crash when
1472 the main window was hidden.
1473 MANAGE_WINDOW_SIGNALS_CONNECT(): new macro.
1474 Monitor "unmap_event", "destroy" events.
1481 src/grouplistdialog.c
1485 src/message_search.c
1489 src/prefs_customheader.c
1490 src/prefs_display_header.c
1492 src/prefs_template.c
1493 src/summary_search.c
1494 src/summaryview.c: use MANAGE_WINDOW_SIGNALS_CONNECT() macro to
1495 connect signals for window management.
1499 * src/prefs_account.[ch]: added receive size limit option.
1500 * src/pop.c: skip messages larger than the limit size.
1501 LOOKUP_NEXT_MSG(): new macro.
1502 * src/compose.c: compose_attach_append(): check whether the file
1507 * src/rfc2015.c: commented out dump_mimeinfo() and dump_part().
1508 changed g_message()'s to debug_print() and g_warning().
1509 rfc2015_decrypt_message(): fixed a bug that duplicated message
1510 parts when decryption was failed/cancelled. And made some code
1512 * src/passphrase.c: made the dialog transient.
1513 * src/prefs.c: prefs_config_parse_one_line(): removed debug_print().
1518 src/procmsg.[ch]: fixed a bug that failed to parse multipart
1519 messages if GPGME was enabled.
1520 * src/rfc2015.c: commented out copy_gpgmedata_to_temp() which
1522 * src/prefs_account.c: prefs_account_privacy_create(): modified
1523 the vertical spacing.
1527 * src/menu.[ch]: menu_set_sensitive_all(): new.
1528 menu_set_insensitive_all(): made it a wrapper for
1529 menu_set_sensitive_all().
1530 * src/prefs_account.c:
1531 prefs_account_open()
1532 prefs_account_protocol_set_optmenu(): made the protocol type
1533 unchangeable after creating an account.
1534 * src/compose.c: compose_attach_parts(): traverse MIME tree to
1535 extract all attathed files from nested multipart MIME message.
1539 * src/procmsg.[ch]: procmsg_get_mark_sum(): added arguments to
1540 obtain minimum/maximum number, and to specify first number
1543 src/inc.c: enabled new message checking on news folder.
1544 * src/news.c: news_scan_group(): implemented. Guess new/unread
1545 message number from the response of GROUP command and the mark
1547 news_select_group(): return the total/first/last number.
1548 * src/prefs_account.c: prefs_account_receive_create(): modified
1549 the text of the 'Get all' check button.
1553 * src/account.c: made 'Get all' checkbox available for IMAP4 and
1555 * src/inc.c: corrected the argument of folderview_check_new().
1556 * src/prefs_account.c: modification for the "`Get all' checks for
1557 new mail on this account" checkbox.
1561 * src/folderview.[ch]:
1562 folderview_rescan_tree(), folderview_rescan_all(): renamed from
1563 folderview_update_tree() and folderview_update_all().
1564 folderview_update_all_node(): removed.
1565 folderview_check_new(): new. If the argument is NULL, it checks
1566 all local folders. If the arguments is specified, it checks
1567 the (local and remote) folder.
1570 inc_all_account_mail(): check also IMAP4 account.
1575 folderview_rename_folder_cb()
1576 folderview_delete_folder_cb(): modify the filter rules when folder
1578 * src/prefs_filter.[ch]:
1579 prefs_filter_rename_path(): new. It renames the destination paths
1581 prefs_filter_delete_path(): new. It deletes the filter rules if
1582 the destination paths matched.
1583 * thanks to Neill Miller for above.
1587 * src/compose.c: inherit attached files when forwarding or reediting
1588 (rewrote the code in claws branch).
1589 compose_attach_parts(): new. It extracts and attaches the files
1590 in the given message.
1591 compose_attach_append(): chnaged the types of arguments.
1592 * src/messageview.c: messageview_show(): moved the GPG decryption
1594 * src/procmsg.[ch]: procmsg_open_message_decrypted(): new.
1602 * src/summary_search(): summary_search_execute(): scroll the view
1603 when message view is hidden.
1607 * src/foldersel.c: foldersel_set_tree(): made different type of
1608 folders selectable in moving mode.
1609 * src/folderview.[ch]: folderview_update_msg_num(): compare the
1610 numbers with the CTree's labels, and don't update folder_item here.
1611 * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
1612 implemented moving between different type of folders.
1613 * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
1614 mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
1615 mh_move_msg() and mh_move_msgs_with_dest()).
1616 mh_move_msg(), mh_move_msgs_with_dest(): implemented message
1617 moving between different type of folders.
1618 mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
1619 * src/summaryview.c: summary_status_show(): update folder_item
1621 * po/POTFILES.in: removed reference to headerwindow.c.
1622 * src/summaryview.c: summary_step(): fixed the behavior on the
1623 head and tail of the list.
1627 * src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
1628 all header' toggle state from the property of the TextView.
1629 * src/summaryview.[ch]: made 'All header' toggle switch.
1630 Prohibited unnecessary menu update.
1631 summary_select_node(): added the argument 'do_refresh'.
1636 * src/utils.c: strsplit_with_quote(): remove quotation characters
1637 in the function (fix composer's external editor problem) (thanks
1638 to Stefaan A Eeckels).
1639 * src/mainwindow.[ch]: made 'Show all header' toggle switch.
1640 main_window_menu_callback_block()
1641 main_window_menu_callback_unblock(): new.
1642 main_window_set_menu_sensitive(): set the toggle status of
1644 show_all_header_cb(): read the status of toggle menu item.
1645 * src/mainwindow.[ch]: made 'Thread view' toggle switch.
1646 * src/prefs_common.c: prefs_keybind_apply_clicked(): removed
1651 * src/imap.c: imap_add_msg(): fixed a bug that didn't replace
1652 the path separator (thanks to Sergey Vlasov).
1653 * src/gtkutils.c: gtkut_editable_get_selection(): return NULL
1654 if the length of selection is zero.
1655 Fixed the assertion.
1656 * src/utils.c: str_open_as_stream(): return immediately if
1657 the length of str is zero.
1658 * src/headerwindow.[ch]: removed.
1660 src/inc.c: removed stale thread support codes.
1664 * src/procmsg.c: procmsg_open_message(): modified so that it
1665 returns the stream of decrypted message file if it exists
1666 (this fixes the failure of gpg decryption in messageview.c).
1676 src/prefs_template.c
1678 src/quote_fmt_parse.y
1680 src/utils.[ch]: if the part of the message text is selected, use
1681 it for quoted text instead of the entire message body (thanks to
1683 src/utils.[ch]: str_open_as_stream(): new. It returns an
1684 temporary stream for the given string.
1685 * src/main.c: added "--send" command line option.
1686 * src/compose.c: compose_reply_set_entry(): add From address to
1687 Cc if Reply-To and to_all are both specified.
1688 * Makefile.am: correct the Source: line in the RPM spec file in
1693 * src/procmsg.c: procmsg_open_message(): fetch message if the cache
1695 * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
1696 that specifies the folder selection type.
1707 src/prefs_customheader.c
1709 src/summaryview.c: made it compile with C compilers other than gcc
1710 (thanks to Shawn Houston).
1714 * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
1716 * src/prefs_common.c: made the key binding setting separate dialog.
1717 * src/addressbook.c: addressbook_format_address(): add "" around
1718 the display name if it contains comma (thanks to Satoshi Watanabe).
1719 * src/addr_compl.c: get_complete_address(): add "" around the
1720 display name if it contains comma.
1721 get_address_from_edit(): handle the quotation character correctly.
1722 * src/addr_compl.c: get_complete_address()
1723 src/addressbook.c: addressbook_format_address(): fixed a bug that
1724 caused wrong text processing if the display name is empty.
1729 * src/compose.c: compose_exec_ext_editor_real(): replaced
1730 g_strsplit() with strsplit_with_quote().
1732 src/folderview.c: folderview_drag_motion_cb(): minor code cleanups.
1734 folderview_drag_motion_cb()
1735 folderview_drag_received_cb(): allow dropping into IMAP4 folder.
1736 * src/utils.c: get_file_size_as_crlf(): use fgets() instead of
1740 imap_copy_msgs_with_dest(): use imap_add_msg() if the source
1741 of the message is different from the current mailbox.
1742 Return the correct value.
1743 imap_cmd_append(): properly implemented the APPEND command.
1748 src/messageview.[ch]
1749 src/summaryview.[ch]
1750 src/textview.[ch]: show all headers in the message view, and don't
1751 use the header window anymore.
1753 src/prefs_common.c: changed the default shortcut of 'compose new
1756 src/summaryview.[ch]: summary_display_msg_selected(): new.
1757 Show the selected message if 'Show all header' is selected.
1759 src/sourcewindow.c: changed some procmsg_get_message_file_path()
1760 to procmsg_get_message_file() to be sure the message is
1762 * src/folderview.c: folderview_drag_motion_cb(): allow DnD from
1763 any folder to MH folder.
1764 folderview_drag_received_cb(): copy messages instead of moving
1765 if the source folder is news or IMAP.
1767 src/summaryview.c: allow copy from news folder.
1771 * src/prefs_common.c: prefs_other_create(): modified the design
1772 of the external command settings.
1773 prefs_keybind_apply_clicked(): made the Mew / Wanderlust keybind
1774 preset closer to the original.
1775 Added Mutt keybind preset.
1776 Also change the compose keybinds.
1777 * src/compose.c: modified some menu shortcuts.
1778 * src/codeconv.c: modified the locale_table for Thai encoding.
1782 * src/Makefile.am: added $(GPGME_CFLAGS) to INCLUDES.
1783 * src/prefs_common.c: prefs_interface_create(): modified the
1784 description for menu shortcut.
1788 * src/gtkutils.[ch]: added gtk_stext_clear().
1791 src/summaryview.[ch]: enabled multiple forwarding.
1792 * src/summaryview.c:
1793 summary_set_marks_selected(): set marks for all selected row.
1794 summary_reply(): moved from summary_reply_cb().
1795 * compose.[ch]: compose_forward(): modified so that it receives
1797 * src/mainwindow.c: cleanup for reply processing.
1798 * src/summaryview.c: summary_reply(): fixed a memory leak.
1799 summary_key_pressed(): removed hardcoded mark / mark as unread
1802 src/prefs_common.c: added mark / mark as unread shortcuts to
1807 * src/compose.c: compose_wrap_line_all(): wrap quoted part even
1808 if prefs_common.linewrap_quote is not set (it is only for
1809 auto-wrapping on reply).
1810 * src/prefs_account.c: prefs_account_open(): initialize tmp_ac_prefs
1811 when creating a new account.
1812 * src/mh.c: mh_get_msg_list(): use also st_ctime to detect
1814 * src/prefs_common.c: prefs_interface_create(): modified the
1815 description of key binds selector.
1819 * src/mimeview.c: fixed multiple dialog / moving by correcting
1820 button / key event processing.
1822 src/textview.c: pass some key press events to MimeView in MIME
1824 * src/prefs_filter.c: fixed a bug that didn't set the order of
1826 * src/prefs_common.c: prefs_keybind_apply_clicked(): fixed
1827 empty_menurc string.
1832 src/prefs_common.c: reorganized the menu shortcuts.
1833 Added 'View - Toggle summary view'.
1834 * src/summaryview.[ch]: summary_toggle_view(): made it public
1836 * src/prefs_common.[ch]: swapped the position of 'Shortcut key'
1838 * src/importldif.c: imp_ldif_delete_event(): fixed segfault when
1839 closing the dialog with window manager (in more appropriate way).
1840 * src/imageview.[ch]
1842 src/mimeview.c: fixed wrong scrolling position when switching
1843 between text and image parts. Also free the unrequired image
1844 (thanks to Sergey Vlasov).
1845 * src/prefs_common.c: disabled 'Go to inbox after receiving new mail'
1850 * src/prefs_common.c: implemented shortcut quick changer.
1851 * src/folderview.c: folderview_key_pressed()
1852 src/summaryview.c: summary_key_pressed(): removed some hardcoded
1858 procmime_get_mime_type()
1859 procmime_get_mime_type_table(): made the MIME type search case
1862 gtk_stext_delete_line(): delete newline on empty line.
1863 gtk_stext_delete_to_line_end(): delete newline if cursor is on
1865 (thanks to Yasuzaki Masayoshi.)
1870 src/gtkstext.[ch]: removed the hardcoded shortcuts in GtkSText,
1871 and made them customizable.
1872 * src/utils.[ch]: added get_file_size_as_crlf() which returns
1873 the file size when converting LF to CR+LF.
1877 * src/compose.c: enabled 'Ctrl-Enter' or
1878 'Ctrl-(other modifier keys)-Enter' shortcut that didn't work
1880 * src/gtkstext.c: disabled some Emacs key bindings.
1881 gtk_stext_key_press(): don't extend selection when Shift-Enter
1882 is pressed to prevent the disapperance of cursor.
1883 * src/summaryview.c: summary_select_next_unread(): added the button
1884 to search unread message again from the beginning to the dialog.
1885 * src/folderview.c: folderview_key_pressed(): go to next unread
1886 folder if space key is pressed on the empty folder.
1887 Move CTree focus before selecting row.
1891 * src/defs.h: modified the XLFD of default fonts.
1892 * src/textview.c: textview_create(): fixed a bug that caused
1893 segfault if font couldn't be loaded.
1895 src/grouplistdialog.c: compare subscribed groups with path.
1896 * src/prefs_filter.c: changed 'Operator' to 'Condition'.
1900 * src/compose.c: compose_wrap_line_all(): fixed wrapping crash
1901 when URL is wider than wrapping margin.
1903 src/prefs_filter.[ch]
1904 src/summaryview.[ch]: added "Create filter rule" function based
1905 on the patch from Luca Rosellini.
1906 * src/summaryview.c: summary_filter_open(): added X-List and
1907 X-Mailing-list to the automatically detected headers.
1911 * configure.in: support Mac OS X (Darwin).
1915 * src/prefs_filter.c: use inc_(un)lock() instead of
1916 inc_autocheck_timer_{remove|set}().
1917 * src/summaryview.c: summary_sort(): use gtk_ctree_sort_recursive()
1918 instead of gtk_ctree_sort_node() so that messages within threads
1920 * src/procmsg.c: procmsg_read_mark_file(): fixed a bug that the
1921 target of sizeof was wrong and caused crash on Alpha architecture
1922 (thanks to Motonobu Ichimura).
1927 foldersel_gnode_func(): made the names of special folders
1929 foldersel_set_tree(): move the special folder to the top.
1930 * src/inputdialog.[ch]: input_dialog_query_password(): new.
1934 src/send.c: use input_dialog_query_password() instead of their
1935 own query functions.
1939 * src/defs.h: modified the default font.
1943 src/news.[ch]: moved the class definition and some methods to
1944 the proper location.
1948 * src/mimeview.c: mimeview_save_as()
1949 src/summaryview.c: summary_save_as(): put the default filename
1950 based on the subject.
1951 * src/utils.[ch]: added subst_chars() and subst_for_filename()
1952 which substitute some special characters with underscore.
1953 * src/filesel.c: filesel_select_file(): select the default filename.
1958 INSTALL.jp: added the description and the URL for libjconv.
1959 * src/mainwindow.c: menu entries cleanup.
1965 src/about.c: modified the copyright year.
1966 * src/gtkstext.h: added the notice for modification by the Sylpheed
1972 INSTALL.jp: added the URL for compface.
1980 * src/headerwindow.c
1983 src/sourcewindow.c: set wmclass when creating windows.
1987 * src/compose.c: compose_wrap_line_all(): fixed the bug that
1988 caused infinite loop when wrapping certain patterns of quoted text.
1992 * src/imap.c: imap_parse_envelope(): put the assertion after
1993 imap_parse_address() to prevent segmentation fault.
1998 src/mainwindow.c: modified some labels of menu items.
1999 * src/ldif.c: put the return value of fgetc() in a gint.
2000 * src/importldif.c: don't brace null strings with _().
2001 * src/compose.c: moved the position of Subject entry to the last.
2002 Reorganized the menu.
2003 compose_draft_cb(): added 'keep editing after saving to draft'
2008 * src/mainwindow.c: reorganization of main menu. Removed 'Summary'
2009 menu. Moved 'Help' menu to just the right of 'Configuration'.
2010 Removed 'File - Close' menu item.
2014 * src/mainwindow.c: some menu reorganization.
2015 * AUTHORS: updated. Added more contributors.
2016 * src/account.c: account_row_moved(): new. Moves displayed row to
2017 the appropriate position when up / down button are pressed.
2018 account_clist_set(): move displayed row to the appropriate position.
2020 src/mainwindow.c: set title and wmclass when creating windows.
2024 * src/gtkstext.c: fixed a bug that didn't show block cursor
2025 correctly. Removed unnecessary GdkGC copy. Fixed cursor
2030 src/undo.c: modified to use GtkSText.
2031 * src/menu.h: added #include <gtk/gtkmenu.h>.
2036 configure.in: added XIM checking for GTK+.
2037 * src/gtkstext.[ch]: new. Copied GtkText in GTK+ and renamed.
2041 * src/filter.c: added #include <sys/types.h>.
2045 * src/template.c: template_write_config(): fixed a typo.
2046 * src/compose.c: toolbar_linewrap_cb(): call compose_wrap_line_all().
2048 src/prefs_filter.c: supported regular expression (thanks to
2050 * src/undo.c: undo_paste_clipboard_cb(): fixed a bug that broke
2051 undo state when pasted clipboard was empty.
2052 undo_check_size(): use g_list_last().
2054 undo_redo(): fixed NULL checking and made a bit of optimization.
2056 * src/prefs_common.c: changed the default value of linewrap length
2061 * reorganization of pixmap management.
2062 * src/stock_pixmap.[ch]: new. This module manages all static pixmaps.
2063 * modified every files which directly use pixmaps data to use
2065 * src/undo.[ch]: renamed undo_set_undo_change_funct() to
2066 undo_set_change_state_func(), and changed its argument from
2067 GtkWidget* to gpointer.
2068 undo_merge(): code cleanup.
2069 * src/compose.c: renamed compose_set_undo() to
2070 compose_undo_state_changed().
2074 * src/account.c: account_find_from_address(): made it case
2076 * src/addressbook.c: addressbook_create(): set wmclass.
2077 * src/compose.c: compose_insert_file(): supported DOS/Win/Mac line
2080 src/ldif.[ch]: merged from the claws branch.
2081 * src/importldif.c: removed some warnings.
2082 imp_ldif_field_list_toggle(): fixed button checking.
2083 imp_ldif_dialog_create(): minor layout fix.
2084 * src/ldif.c: removed some warnings.
2086 INSTALL.jp: updated confirmation list.
2089 vcard_test_read_file(): fixed a memory leak of tagtemp.
2090 Some code cleanups (decreasing the indent level).
2093 src/syldap.[ch]: disabled runtime library checking because JPilot
2094 and LDAP libraries are linked on the build time, and the program
2095 doesn't execute without them anyway.
2097 src/addrindex.c: changed "J-Pilot" to "JPilot".
2098 Removed warning for atoi().
2102 * src/procmsg.c: procmsg_empty_trash()
2103 src/mainwindow.c: main_window_empty_trash(): empty trash only if
2104 it contains some messages.
2105 * src/imap.c: search_array_str(): new.
2106 imap_status(): fixed a bug that didn't parse the command response
2111 * merged undo function (by Jens Oberender).
2112 * src/undo.[ch]: new.
2113 undo_insert_text_cb(): fix for multibyte characters (obtain the
2114 number of letters instead of bytes).
2115 * src/compose.[ch]: added the code for undo.
2116 * src/prefs_common.[ch]: added the interface for setting undo level.
2120 * src/compose.c: compose_template_apply()
2121 src/prefs_template.c: prefs_template_clist_set_row()
2122 src/template.c: template_write_config(): don't replace To: and
2123 Subject: entry in composition window if they are empty.
2131 * src/folderview.c: folderview_drag_motion_cb(): fixed a DnD bug.
2132 * src/ldif.c: ldif_get_line(): ignore CR.
2133 * src/mimeview.c: mimeview_show_message(): search also text/html
2134 for first text part.
2138 * src/prefs_account.c: prefs_account_save_config_all(): fixed a bug
2139 that didn't update accountrc if account_list == NULL (thanks to
2144 * src/utils.h: added the macro Xstrcat_a() that concatenates
2145 two strings and return alloca'd string.
2146 * src/imap.c: imap_scan_tree_recursive(): fixed a bug that didn't
2147 handle folder name which includes some spaces correctly
2148 (based on the patch from Willem van Engen (thanks!)).
2149 * src/compose.c: compose_wrap_line_all(): fixed the crash when
2150 wrapping long lines if linewrap quotation is disabled and
2151 a word spanning more than one line.
2155 * applied the Tobias' patch with modification (thanks!).
2157 imap_msg_set_perm_flags()
2158 imap_msg_unset_perm_flags(): new. They set permanent flags to
2161 src/summaryview.c: set flags on IMAP server when flags are changed.
2165 * src/gtkutils.[ch]: gtkut_container_remove(): new. It's a wrapper
2166 of gtk_container_remove() for workaround of a bug in
2167 Gtk{Text,Entry} (thanks to Sergey Vlasov).
2173 src/textview.c: replaced gtk_container_remove() with
2174 gtkut_container_remove(), and removed previous partial fix.
2178 * src/prefs_account.c: prefs_account_apply(): fixed a bug that
2179 checked user ID on "local", but didn't on IMAP4.
2180 * src/imap.c: imap_session_get(): fixed a crash bug when
2181 rfolder->session == NULL.
2182 * Makefile.am: changed the arguments of tar from 'chojf' to
2184 * src/summaryview.c: summary_toggle_view(): disclaim the selection
2185 of textview before removing vpaned.
2189 * src/messageview.c: messageview_change_view_type(): disclaim the
2190 selection before removing textview. This solves the mysterious
2191 copy-paste disability (thanks to Melvin Hadasht).
2192 * src/textview.c: textview_set_font(): use
2193 gtk_editable_claim_selection() instead of
2194 gtk_editable_select_region().
2198 * src/prefs_template.c: prefs_template_window_create(): supported
2199 address completion on the To: entry.
2204 folder_count_total_msgs()
2205 folder_count_total_msgs_func(): use g_node_traverse() to traverse
2210 * src/compose.c: fixed a bug that empty body was refused.
2211 * src/prefs_template.c: fixed a bug that didn't set To: entry
2212 correctly. Display error dialog if format is illegal.
2213 * src/prefs_common.c
2215 src/quote_fmt_parse.y: changed parenthesis "( )" to curly braces
2216 "{ }" to prevent confusion on using parenthesis.
2217 * src/html.c: html_get_parenthesis(): ignore CSS / script stuff.
2221 * src/prefs_template.c: added colon to the header labels.
2226 src/prefs_template.c
2227 src/template.[ch]: added To field to the template.
2231 * src/textview.c: textview_show_part(): use first found
2232 message/rfc822 header.
2233 * src/folderview.c: added "Search messages..." to the context menu.
2234 * src/prefs_common.c: prefs_quote_description_create(): added
2235 description for characters which need to be escaped.
2239 * src/compose.c: compose_wrap_line_all(): more merging from claws.
2240 GET_CHAR(): renamed GET_TEXT() and made it more generic.
2241 Modified compose_wrap_line() and compose_wrap_line_all() to use
2243 * src/textview.c: textview_show_part(): show the header of nested
2244 RFC822 attachment correctly.
2249 src/main.c: added --status option to get new, unread and total
2250 message count from a running Sylpheed (merged from claws).
2251 prohibit_duplicate_launch(): output '\n' only once.
2256 src/gtkutils.[ch]: merged the new wrapping function.
2257 gtkut_text_str_compare_n()
2258 gtkut_text_str_compare()
2259 gtkut_text_is_uri_string(): backport from the GtkSText in the
2260 claws branch, and made modification.
2261 * src/prefs_template.c
2262 src/template.[ch]: added Subject to the template.
2266 * src/compose.c: compose_write_headers(): added missing parenthesis
2267 that generated invalid custom header (thanks to Masaaki Noro).
2268 Allow Sender: custom header.
2272 * src/procheader.c: procheader_date_parse(): workaround for
2273 RFC-incompliant Date header.
2277 * src/addrbook.c: removed redundant functions, and fixed generation
2278 of spurious address book file names.
2279 * src/addrindex.c: V-Card -> vCard.
2283 * src/textview.c: get_email_part(): replaced isalnum() with
2284 the macro IS_ASCII_ALNUM() which restricts the range of
2285 characters to 7bit ASCII (thanks to Shimamoto).
2286 * src/utils.c: remote_tzoffset_sec(): workaround for malformed
2291 * src/textview.c: textview_show_part(): show headers on nested
2296 * src/imap.c: imap_session_get()
2297 src/news.c: news_session_get(): fixed segfault when reconnection
2299 * src/grouplistdialog.c: removed redundant code, and expand nodes
2300 that doesn't match the pattern.
2304 * src/compose.c: modified so that it sends message when any of
2305 To:, Cc:, Bcc:, or Newsgroups: fields have valid recipient.
2306 compose_check_for_valid_recipient(): new.
2307 * src/grouplistdialog.c: improved the UI.
2308 Added appropriate description and search button.
2309 Search doesn't get group list again.
2313 * src/news.[ch]: news_session_get(): update the last access time
2315 news_group_list_free(): new.
2316 * src/grouplistdialog.c: free resources correctly.
2321 src/grouplistdialog.[ch]: more merging of new newsgroup
2322 subscription dialog.
2323 * src/news.[ch]: renamed news_remove_group_list() to
2324 news_remove_group_list_cache().
2328 * src/defs.h: added MAX_ENTRY_LENGTH definition.
2329 * src/compose.c: compose_add_entry_field(): create new entry with
2334 * src/grouplistdialog.c: made non-leaf node selectable.
2335 Give the complete newsgroup name for each nodes.
2339 * src/grouplistdialog.c
2340 src/news.[ch]: merging of new newsgroup subscription dialog
2341 (still in progress. Don't use it yet!).
2345 * src/utils.[ch]: decode_uri(): new. It decodes URL-encoded strings.
2346 * src/compose.[ch]: compose_new_with_recipient(): accept mailto
2348 compose_entries_set(): new. It parses mailto URL and put each
2349 values into the entries.
2353 * src/compose.c: compose_forward(): fixed a bug that forward
2354 quote mark wasn't used (thanks to Hironori IWANE).
2357 src/prefs_common.c: added Thai encodings (thanks to Manrat
2362 * src/socket.c: sock_connect_by_hostname(): removed h_errno.
2366 src/news.c: added last_access_time to Session.
2367 imap_session_get(): check connection only when access interval
2376 * src/socket.c: ssl_gets(): use SSL_peek.
2377 * updated NEWS and AUTHORS.
2378 * Makefile.am: fixed release target.
2382 * src/template.c: changed the format of template file to
2384 * src/compose.c: compose_template_apply(): freeze the text widget
2385 while inserting strings.
2389 * po/POTFILES.in: removed src/template_select.c.
2390 * src/summaryview.c: summary_set_header()
2391 src/address.c: address_parse_str()
2392 src/filter.c: filter_read_str()
2393 src/news.c: news_parse_xover()
2394 src/procheader.c: procheader_get_fromname()
2395 src/utils.c: subject_compare():
2396 replaced Xalloca() + strcpy() with Xstrdup_a().
2397 * src/inputdialog.[ch]: added combo mode.
2398 input_dialog_combo(): new.
2399 * src/prefs_common.[ch]: added MIME open command setting.
2400 prefs_common_{read, save}_config(): read / write command history.
2401 * src/mimeview.c: mimeview_open_with(): use combo input dialog.
2402 * src/utils.[ch]: add_history(): history list management function.
2406 * src/compose.c: select templates from the menu.
2407 compose_set_template_menu(): new.
2408 compose_reflect_prefs_all(): new.
2409 compose_template_apply(): new. Use dummy MsgInfo for parsing.
2410 * src/template.[ch]: store template list to the static heap.
2411 template_get_config(): new.
2412 template_set_config(): new.
2413 * src/prefs_template.c: don't store template list to the global area.
2414 * src/template_select.[ch]: removed.
2415 * src/quote_fmt_parse.y: check folderitem when quoting messages.
2416 * src/mh.c: mh_add_msg(): try to copy file whenever link() failed
2417 (thanks to OSHIRO Naoki).
2421 * src/utils.[ch]: get_template_dir(): new.
2422 * src/template.c: use get_template_dir().
2426 * src/prefs_template.c: modified the dialog layout.
2427 Added symbol description button.
2428 * src/summaryview.c: show an arrow mark to the column of the sort
2430 summary_set_column_titles(): new.
2436 TODO.jp: updated the documents.
2440 * src/Makefile.am: add missing checkbox_{on, off}.xpm.
2441 * src/textview.c: textview_key_pressed()
2442 src/mimeview.c: mimeview_key_pressed()
2443 src/summaryview.c: summary_key_pressed(): delete messages with
2448 * src/socket.c: ssl_gets(): fixed a bug that caused infinite loop
2449 when SSL_read() returned 0.
2450 * src/utils.[ch]: strcrchomp(): new. It removes CR from the tail
2452 * src/quote_fmt_parse.y: convert CRLF to LF when inserting messages.
2453 Add prototype of yylex() to suppress the warning.
2454 * merged the template function.
2455 * src/prefs_template.[ch]
2457 src/template_select.[ch]: new.
2458 Renamed prefs_templates_* -> prefs_template_*.
2459 * src/compose.c: added template menu. Added replyinfo to Compose.
2460 * src/mainwindow.c: added template setting menu.
2461 * src/quote_fmt_lex.l: output literal tab and return as is.
2462 * src/prefs_common.c: changed the pref. name of quote format to
2463 'reply_quote_{mark, format}' and 'fw_quote_{mark, format}'.
2467 * src/prefs_common.[ch]: added Quote tab, and moved the quote
2468 setting from Compose tab.
2469 * merged the new quote format parser.
2470 * src/quote_fmt_lex.h
2473 src/quote_fmt_parse.y: new files for quote format parser.
2474 * configure.in: added checks for lex and yacc.
2475 * src/compose.c: compose_quote_file(), compose_quote_parse_fmt():
2477 compose_quote_fmt(): new.
2478 * src/prefs_common.[ch]: added forward format setting to the
2479 Quote tab. Updated the quote description dialog.
2480 * src/quote_fmt_parse.y: fixed bugs that tried to read file even
2481 if they couldn't get text part.
2485 * src/pixmaps/checkbox_off.xpm
2486 src/pixmaps/checkbox_on.xpm: new.
2487 * src/account.c: display `get all' status with the checkbox pixmaps.
2491 * src/send.c: code cleanup. Pass account prefs structure instead
2493 Query password for SMTP AUTH if not specified (thanks to Mio).
2497 * src/procheader.c: procheader_parse(): fixed a bug that didn't
2498 parse multiple message-id in In-Reply-To: header correctly
2499 (thanks to KAJIWARA).
2503 * src/account.c: enabled 'Get all' setting by clicking the 'G'
2504 column of account list, and added some description.
2505 * src/prefs_common.c: prefs_send_create(): added a description
2506 for outgoing codeset.
2510 * src/prefs_account.[ch]: moved inbox entry to the receive tab,
2511 and added select button and short description.
2512 * src/Makefile.am: added SYSCONFDIR to CPPFLAGS.
2514 procmime_get_mime_type_table()
2515 procmime_get_mime_type_list(): modified so that
2516 $(SYSCONFDIR)/mime.types (or /etc/mime.types if not found) and
2517 $(HOME)/.sylpheed/mime.types are read.
2521 * src/prefs_account.c: moved the address auto-setting to the compose
2523 prefs_account_create(): removed gtk_widget_show_all() for proper
2525 * src/prefs_common.c: changed "Program path" to "Command".
2529 * src/textview.c: textview_set_font(): support Russian charset
2531 * src/summaryview.c: summary_delete(): (hopefully) fixed the crash
2535 prefs_summary_column.c: minor improvements to the English.
2536 * src/main.c: get_queued_message_num(): don't output the warning
2537 when queueing folder is not found.
2545 * src/prefs_summary_column.[ch]:
2546 made prefs_summary_column_get_config() public.
2547 * src/summaryview.c: summary_ctree_create(): some code cleanup.
2548 * configure.in: moved the position of SSL checking after LDAP
2549 for linking problem.
2554 src/summaryview.c: allowed reedit in the outbox.
2555 * src/prefs_summary_column.[ch]: new. UI for setting summary
2557 * src/mainwindow.[ch]: main_window_set_summary_column(): new.
2558 It calls summary_set_column_order().
2559 * src/summaryview.[ch]:
2560 summary_ctree_create(): new. separated from summary_create().
2561 summary_set_column_order(): new. It destroys the current
2562 CTree and replaces it with the new one.
2566 * src/smtp.[ch]: smtp_from(): abort if auth failed.
2567 * changed C++-style comments into C-style in some files, and
2568 removed unnecessary commented out codes.
2569 * src/addrcache.[ch]
2573 src/syldap.[ch]: updated the addressbook code, and fixed the
2576 src/importldif.[ch]: new.
2580 * src/about.c: added some items to compiled-in features.
2581 * src/addr_compl.c: changed LOG_MESSAGE to debug_print.
2582 * src/addressbook.c: changed "V-Card" to "vCard".
2583 addressbook_edit_address_cb(): added
2584 invalidate_address_completion() to the point address is changed.
2585 * src/codeconv.c: changed C++-style comments into C-style.
2589 * src/compose.c: changed "Send" shortcut to Ctrl+Enter.
2593 * src/inc.c: fixed a bug that crashed sylpheed if Cancel button
2598 * src/procmsg.c: procmsg_get_thread_tree(): complete the unfinished
2600 * src/summaryview.c:
2601 summary_thread_init(): separated from summary_thread_build().
2602 summary_thread_build(): removed the codes for initialization.
2603 summary_set_ctree_from_list(): call summary_thread_init() instead
2604 of summary_thread_build().
2605 summary_filter(): fixed a bug that didn't moved messages despite
2606 of immediate execution setting.
2610 * src/procmsg.c: procmsg_get_thread_tree(): new. It generates the
2611 reversed thread tree from message list.
2612 * src/summaryview.c: summary_set_ctree_from_list(): prepend the
2613 node to the head instead of appending to the tail. This prevents
2614 the traverse of node list inside of the GtkCTree, and considerably
2615 speeds up the summary display (the order is O(n^2) -> O(n)).
2619 * src/prefs_common.c
2620 src/summaryview.[ch]: initial modification for reorderable columns.
2624 * src/procmsg.c: procmsg_get_mark_sum(), mark_sum_func(): fixed a
2626 * src/folderview.c: folderview_button_pressed(): code cleanup, and
2627 turn sensitivity off if main window is locked.
2628 * src/syldap.c: syldap_read_data(): removed unnecessary and
2629 unportable sched_yield().
2633 * src/folderview.c: renamed "Update folder tree" context menu to
2634 "Rescan folder tree", and made "Update folder tree" only updates
2636 folderview_update_all_node(): don't show message dialog.
2637 * src/gtkutils.c: gtkut_widget_get_uposition()
2638 src/mainwindow.c: main_window_popup(): clip the coordinate to
2643 * src/utils.c: to_human_readable(): made a bit of optimization.
2644 * src/summaryview.c: summary_delete(): fixed a focus problem.
2645 summary_find_{prev,next}_msg(): new. They find previous/next
2646 message that is not deleted.
2647 * src/prefs_filter.c: scroll CList automatically if moved row
2648 becomes not fully visible.
2652 * updated some autotool scripts.
2653 * src/codeconv.c: conv_encode_header(): fixed a bug that caused
2654 infinite loop when failed to convert encoding.
2655 * src/codeconv.[ch]: a fix for older version of libjconv
2656 (jconv_info_get_current_codeset() returned "EUCJP" instead of
2665 * src/compose.c: compose_write_to_file()
2666 src/codeconv.c: conv_codeset_strdup(): more workaround for
2667 libjconv problem on C locale.
2668 * src/editldap_basedn.c: fixed segfault when opening dialog.
2669 * src/utils.c: is_next_mbs()
2670 src/compose.c: compose_wrap_line(), compose_wrap_line_all():
2671 changed MB_CUR_MAX to MB_LEN_MAX for compliance to ANSI C.
2672 * configure.in: increased the reqired version of GPGME to 0.2.3.
2673 * src/pop.c: pop3_getauth_user_recv(): fixed a bug that closed
2674 the receive dialog when POP3 server refused normal authentication.
2678 * src/prefs_common.c: prefs_receive_create(): correction to English.
2679 * src/compose.c: compose_set_ext_editor_sensitive(): fixed a bug
2680 that didn't set the menu sensitivity correctly (thanks to
2682 * src/summaryview.c: delete messages permanently if the current
2683 folder is trash and 'delete' operation is executed.
2684 Fixed the bug that didn't select the last row correctly (thanks
2685 to Alfons Hoogervorst).
2686 * src/folder.[ch]: folder_item_remove_msgs(): new. It removes
2687 all messages given in the list.
2691 * src/summaryview.c: summary_show(): fixed a bug that didn't show
2692 message even if the 'open unread message on entering folder'
2693 option was turned on.
2697 * src/procmime.c: procmime_get_text_content(): supported HTML.
2701 * src/summaryview.[ch]: implemented new locking mechanism, and
2702 replaced every static locks with summary_lock(), summary_unlock(),
2703 and added locks to some extra functions.
2704 This fixes a bug that caused segfault when 'd' (delete) key
2709 * src/addressbook.c: addressbook_folder_load_person(): fixed a bug
2710 that caused segfault (thanks to Stefaan A Eeckels).
2714 * src/textview.[ch]: added textview_set_position().
2715 * src/messageview.[ch]: added messageview_set_position().
2727 src/editldap_basedn.c
2732 src/vcard.c: converted C++-style comments into C-style one.
2733 * src/imap.c: QUOTE_IF_REQUIRED(): new macro. Copy string into
2734 new buffer and quote with double quotes if required.
2735 imap_status(), imap_cmd_login(), imap_cmd_list(),
2736 imap_cmd_do_select(), imap_cmd_create(), imap_cmd_delete(),
2737 imap_cmd_copy(): use QUOTE_IF_REQUIRED().
2738 * compose.c: compose_write_to_file(): workaround for the problem
2739 when using libjconv and 8bit codes cannot be converted on C
2741 * codeconv.[ch]: added "ANSI_X3.4-1968" to encoding strings.
2742 conv_codeset_strdup(): don't convert if source and destination
2743 codeset are identical.
2747 * src/textview.[ch]: textview_search_string_backward(): new.
2748 Add the new member cur_pos to TextView.
2749 Connect button_press_event with gtk_signal_connect_after() to
2750 obtain the correct editable position.
2754 * src/folder.c: folder_write_list_recursive(): preserve unthreaded
2759 * src/summaryview.c: modified the layout of popup menu.
2766 src/summaryview.c: applied the patch from Alfons that allows
2767 threading setting for each folders (tnanks!).
2771 * src/message_search.[ch]: new. A Dialog for searching in current
2773 * src/gtkutils.[ch]: gtkut_text_match_string(): new. Compare the
2774 text in current position of GtkText and given wide-character
2776 * src/messageview.[ch]: messageview_search_string()
2777 src/textview.[ch]: textview_search_string(): return TRUE if
2779 * src/textview.[ch]: remember the beginning of body.
2783 * src/procmime.c: procmime_get_first_text_content(): modified so
2784 that it search entire MIME structure.
2785 * src/summary_search.c: summary_search_execute(): use
2786 strdup_mbstowcs() instead of macro. Display matched message.
2790 * src/inc.c: fix for background POP3 hangs and crashes (thanks to
2792 * src/summary_search.c: added body searching function.
2793 * src/procmime.[ch]: procmime_find_string(): changed arguments
2794 and return value. Added case sensitivity option.
2798 * src/procmime.[ch]:
2799 procmime_find_string()
2800 procmime_find_string_part(): new. It searchs the string from
2802 Renamed procmime_get_text_part() to
2803 procmime_get_first_text_content().
2804 procmime_get_text_content(): new. It returns the text contents
2805 of the specified MIME part.
2806 procmime_mimeinfo_next(): new. It returns the next node of
2811 * src/procmime.c: procmime_get_text_part(): modified so that it
2812 finds a text part in nested multipart message correctly.
2813 * src/procmime.h: added an example of MimeInfo structure.
2814 * src/mimeview.c: mimeview_show_message(): search the first text
2819 * src/mainwindow.c: ac_menu_popup_closed(): fixed the bug that
2820 caused segfault. Changed 'Preferences per account...' menu item.
2828 * src/addrindex.c: translate the "Common address" and "Personal
2829 address" from old addressbook.
2833 * src/utils.c: get_quote_level(): some optimization and bugfixes.
2834 * src/codeconv.[ch]: conv_get_current_locale(): new.
2835 * src/editaddress.c: edit_person_page_basic(): reverse the order
2836 of first and last name on some locales.
2840 * src/compose.c: applied the patch from Yasumatsu that reformats
2841 the current paragraph (thanks!). Modified so that it doesn't
2842 reformat quoted paragraphs.
2843 compose_create(): don't fill the entry automatically on reedit
2846 src/summaryview.[ch]: added the "Mark all read" option.
2847 summary_mark_all_read(): new.
2855 src/editldap_basedn.c
2857 src/editjpilot.c: removed all warnings.
2859 src/jpilot.[ch]: fixed the problem that failed to detect JPilot
2860 header files on the Debian system.
2862 src/summaryview.[ch]: enabled sorting by mark, unread, attachment,
2863 and color label. Enabled moving to next/prev flagged messages.
2867 * src/pixmaps/dir-close.xpm
2868 src/pixmaps/dir-open.xpm
2870 src/pixmaps/unread.xpm: modified the color balance.
2871 * src/utils.[ch]: execute_sync(): new.
2872 execute_command_line(): added the arg for async mode.
2873 * src/inc.c: inc_mail(): use execute_command_line().
2878 src/prefs_common.[ch]
2879 src/prefs_account.c: modified the layout. Added the option to
2880 launch the external editor automatically.
2881 * src/compose.c: launch the external editor automatically if the
2886 * src/Makefile.am: added extra xpm's.
2890 * src/addressbook.c: fixed a compilation problem when enabling
2892 addressbook_open(): fixed a missing 'else'.
2896 * src/pixmaps/dir-close.xpm
2897 src/pixmaps/dir-open.xpm
2898 src/pixmaps/trash.xpm: replaced with the new blue icons.
2899 * merged Match Grun's new addressbook code.
2900 * src/pixmaps/address.xpm
2901 src/pixmaps/book.xpm
2902 src/pixmaps/category.xpm
2903 src/pixmaps/interface.xpm
2904 src/pixmaps/jpilot.xpm
2905 src/pixmaps/ldap.xpm
2906 src/pixmaps/vcard.xpm: new icons.
2910 src/addressitem.[ch]
2913 src/editaddress.[ch]
2918 src/editldap_basedn.[ch]
2923 src/vcard.[ch]: new. Many fixes to remove the huge amount of
2925 addrbook_build_avail_email_vis(): fixed a memory leak.
2929 * NEWS: brought in the all of the changes previously put on the web.
2934 src/summaryview.c: modified the layout of menus.
2935 * src/mainwindow.c: ac_menu_popup_closed(): fixed a bug that didn't
2936 return a focus to the main window after selecting the account menu.
2944 * src/send.c: send_message_data(): fixed a bug that didn't process
2945 body part correctly.
2949 * src/inc.[ch]: changed inc_autocheck_(un)lock() to inc_(un)lock().
2950 inc_mail(), inc_all_account_mail(): return immediately if locked.
2953 src/prefs_account.c: use inc_lock() and inc_unlock() instead of
2954 inc_autocheck_timer_{remove,set}().
2955 * src/summaryview.c: summary_set_colorlabel_color(): get the average
2956 of label color and selected fg color for visibility.
2960 * src/inc.[ch]: inc_autocheck_lock(), inc_autocheck_unlock(): new.
2961 They increase/decrease the lock count.
2962 inc_autocheck_func(): if locked, delay the autochecking 1 second.
2963 inc_autocheck_timer_set_interval(): set interval by its argument.
2964 * src/summaryview.c: summary_show(): lock the autochecking while
2966 * src/main.c: app_will_exit(): remove autocheck timer.
2968 src/defs.h: removed the definitions of PACKAGE and VERSION to
2969 prevent unnecessary compilation.
2970 * configure.in: changed AC_DEFINE_UNQUOTED of PACKAGE and VERSION
2971 to AC_SUBST, and added src/version.h to AC_OUTPUT.
2972 * src/version.h.in: new.
2973 * src/intl.h: changed dgettext() to gettext().
2977 * po/ja.po: fixed a typo that crashed Sylpheed with older version
2979 * configure.in: fixed a bug that didn't show results correctly.
2980 Fixed a bug that --enable-compface and --enable-jconv disabled
2982 * src/procmsg.c: procmsg_send_queue(): don't abort when sending
2984 * src/compose.c: compose_write_headers(): add Bcc: header to the
2986 * src/send.c: send_message_data(): new. Separated from
2987 send_message_smtp(). Remove Bcc: header before sending.
2995 * src/send.c: implemented sending with local sendmail command.
2996 send_message_local(): new. It executes command with popen()
2997 and send the contents of RFC822 message to the command.
2998 * src/prefs_common.[ch]: enabled the external sending command option.
2999 * src/defs.h: #define DEFAULT_SENDMAIL_CMD /usr/sbin/sendmail -t
3000 * src/account.c: account_edit_create(): widened the protocol column.
3001 * src/summaryview.c: summary_set_colorlabel_color(): cleanup of
3006 * src/folder.c: folder_item_remove_msg(): scan the folder again
3007 if the last message is removed.
3008 * src/compose.c: compose_queue(), compose_draft_cb(): remove the
3009 old reedited message after adding the new message.
3013 * src/compose.c: compose_queue(): added AID: to the queueing header.
3014 * src/send.c: send_message_queue(): look for AID: header, and use
3015 the server specified in the account instead of SSV: header.
3017 src/compose.[ch]: queued messages can be reedited now.
3018 compose_remove_reedit_target(): new. It removes the old reedited
3020 compose_send(), compose_queue(), compose_draft_cb(): if reedit
3021 mode, remove the old message.
3022 * src/procmsg.c: procmsg_msg_exist(): fixed a bug that output
3027 * applied the XML string table patch from Alfons Hoogervorst that
3028 stores strings in a hash table and minimizes memory allocations
3030 * src/stringtable.[ch]: new.
3031 removed all G and g_ prefix from type and function names since
3032 they're not official GLib symbol names.
3033 string_table_insert_string(): fixed a bug that might refer to an
3034 invalid pointer on lookup, and also made a bit of optimization.
3038 * merged the color label feature from the claws branch (thanks to
3039 Satoshi Nagayasu and Alfons Hoogervoost).
3040 * src/colorlabel.[ch]: new. Renamed from labelcolors.[ch].
3041 Renamed labelcolors_*() to colorlabel_*().
3042 * src/summaryview.[ch]: added color label support.
3043 * src/procmsg.h: added color label flags to the permanent flags.
3044 * updated to gettext 0.10.39.
3045 * src/summaryview.[ch]: put the color label menu item to ItemFactory.
3046 * sylpheed.desktop: added for GNOME.
3047 * configure.in: added AC_MSG_CHECKING() for some options.
3048 Output the configuration results when configure is finished.
3052 * src/account.c: account_clist_set_row(): fixed a bug that failed
3053 to compile if SSL was not enabled.
3057 * merged the SSL support from the claws branch (thanks to Christoph
3059 * src/ssl.[ch]: new.
3060 * src/socket.[ch]: added ssl_read(), ssl_write(), ssl_gets(), and
3062 sock_close(): call ssl_done_socket() if SSL is active.
3063 * src/md5.[ch]: removed MD5_CTX typedef and use MD5_CONTEXT to
3064 prevent type confliction.
3065 * src/prefs_account.[ch]: added SSL tab, and modified the expression.
3066 * src/esmtp.[ch]: added esmtp_ehlo(), and esmtp_starttls().
3067 Removed SSL initialization and HELO from esmtp_starttls().
3068 esmtp_auth(): removed use_smtp_auth from its arguments.
3069 * src/send.c: send_smtp_open(): added SSL support.
3070 * src/smtp.c: smtp_helo(): call esmtp_ehlo() if esmtp is true.
3074 * src/mimeview.c: mimeview_open_with(): braced '%s' with single
3079 * src/main.c: open new account dialog if no account is set.
3080 * src/utils.[ch]: log_verbosity_set(): new. It increase/decrease
3081 the verbosity count.
3082 log_print(): put to statusbar only if log_verbosity_count > 0.
3083 log_message(): put to statusbar.
3084 * src/inc.c: inc_pop3_session_do(): set log verbosity.
3085 * src/mainwindow.c: main_window_set_menu_sensitive(): added the
3086 "Compose new message" item.
3087 main_window_show_cur_account(): removed "Current account: " string.
3088 * src/summaryview.c: summary_show(): ignore the current marks if
3089 main window is locked.
3090 * src/compose.c: compose_attach_property(): fixed a bug that caused
3095 * src/mainwindow.c: main_window_get_current_state(): new. It returns
3096 the current state for the sensitivity of UI.
3097 main_window_set_toolbar_sensitive(): use table like
3098 main_window_set_menu_sensitive().
3102 * src/mainwindow.[ch]: added progressbar and status label to the
3104 main_window_close_cb(): don't exit if locked.
3105 * src/inc.c: update the progressbar of main window, too.
3109 * src/mainwindow.[ch]: main_window_set_toolbar_sensitive(): removed
3110 the second argument, and determine the sensitivity with the
3111 state of summary view.
3115 * src/pop.c: pop3_getsize_list_recv(), pop3_retr_recv(),
3116 pop3_delete_recv(): don't try to receive messages which are not
3121 * src/mainwindow.c: main_window_lock(), main_window_unlock():
3122 removed the whole menubar locking.
3123 main_window_set_menu_sensitive(): process the sensitivity change
3124 with a table, and deal with locking.
3128 * src/summaryview.[ch]: summary_get_selection_type(): new.
3129 It returns the current selection state of summary view.
3130 summary_key_pressed(): abort on some commands if main window
3132 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
3133 increase/decrease the lock count.
3137 * src/prefs_filter.c: prefs_filter_create(): added List-Id to the
3138 default header list.
3139 * src/prefs_common.[ch]: added the option for receive dialog mode
3140 to the Interface tab.
3141 * src/inc.[ch]: inc_progress_dialog_create(): don't make the dialog
3142 transient, and show dialog only if the setting is
3143 RECV_DIALOG_ALWAYS, or RECV_DIALOG_ACTIVE and a window is active.
3144 * src/mainwindow.[ch]: main_window_lock(), main_window_unlock():
3145 new. Lock / unlock the user-interface.
3146 * src/progressdialog.c: progress_dialog_create(): don't make the
3151 * src/folderview.c: folderview_update_node(): suppressed unnecessary
3153 * src/menu.[ch]: menu_button_position(): new. It calculates the
3154 position of popup menu.
3155 * src/mainwindow.c: toolbar_account_button_pressed(),
3156 ac_label_button_pressed(): put the popup menu to the correct
3157 position. Change the style of the button while opening the menu.
3158 ac_menu_popup_closed(): new function called on selection_done
3160 * src/gtkutils.c: gtkut_ctree_node_next(): fixed a crash bug when
3162 * src/summaryview.c: applied the summary fix patch from Sergey Vlasov
3164 Fixed the bug that didn't select previous message in refresh mode
3165 if threads were not expanded.
3166 summary_select_node(): new.
3167 * src/inc.c: applied the summary view update optimization patch from
3168 Sergey Vlasov (thanks!).
3169 If no new messages are received, don't perform summary refreshing.
3170 In addition to the Vlasov's patch, POP3 receive information is
3172 * src/inc.h: added a new member cur_total_num to Pop3State.
3173 * src/pop.c: pop3_retr_recv(): increase state->cur_total_num.
3181 * src/summaryview.c: summary_set_row_marks(): got the color of
3182 unread row set properly.
3183 * src/folderview.c: foldreview_update_node(): don't use
3184 gtk_style_copy(), and reuse previously allocated styles.
3185 * README, README.jp: modified.
3189 * src/pop.c: pop3_getsize_list_recv(): fixed a remotly exploitable
3190 memory corruption bug (thanks to David Looney).
3191 * src/inc.c: inc_all_account_mail(): call inc_finished() even if
3192 there are no enabled accounts, or local spool only.
3193 * src/summaryview.c: applied the summary update improvement patch
3194 from Sergey Vlasov (thanks!). It keeps the position of the
3195 message displayed. Selected and displayed message are also kept.
3196 summary_get_msgnum(): new.
3197 summary_get_current_msgnum(): removed.
3198 summary_select_by_msgnum(): don't display the message.
3199 * src/account.c: added "Get all" column.
3200 account_clist_set_row(): show default and get-all flags with the
3202 * src/utils.c: to_human_readable(): increased the number of decimals
3207 * implemented the long-awaited :) "Add sender to address book" feature.
3208 * src/address.[ch]: added the argument for remarks to
3210 address_get_folder_list(): new. It traverses the address tree and
3211 returns the folder list.
3212 address_delete_object(): modified so that it removes the node
3214 * src/addressbook.[ch]: addressbook_add_submenu(): new. It creates
3215 a address folder menu and attaches it to the menu item.
3216 addressbook_refresh(): reload the address book folder tree.
3217 * src/summaryview.c: summary_set_add_sender_menu(): new. It attaches
3218 the menu to add sender to address book.
3219 summary_button_pressed(): call summary_set_add_sender_menu()
3220 before popup the menu.
3224 * src/summaryview.c: summary_thread_build(): fixed a bug that locked
3225 up the process. Optimized the initial thread build.
3229 * src/summaryview.c: made many code cleanups.
3230 summary_show(): block/unblock the signal handlers instead of
3231 disconnect/connect them.
3232 summary_set_row_marks(): made the font of collapsed node bold if
3233 it has cnildren marked as unread.
3234 summary_thread_build(): block tree_expand signals while processing.
3235 Use loop instead of the recursive function. Mark collapsed nodes
3237 summary_unthread(): block tree_collapse signals while processing.
3238 Use loop instead of the recursive function.
3239 summary_thread_func(), summary_unthread_func(): removed.
3240 summary_tree_expanded(), summary_tree_collapsed(): new callback
3242 * src/inc.[ch]: inc_pop3_session_do(): don't show alert panel when
3243 failed to connect. Show more detailed status on the dialog.
3247 * src/folderview.c: folderview_update_all_node(): new. It updates
3249 * src/inc.c: update all local folders after incorporation if
3250 scan_all_after_inc option is set.
3251 * src/prefs_common.[ch]: added scan_all_after_inc option.
3252 * src/folder.h: FOLDER_IS_LOCAL(): new macro.
3261 src/prefs_common.h: made bold and small font configurable.
3262 src/summaryview.c: display unread messages with bold font.
3263 * src/prefs_common.c
3265 src/summaryview.c: added an option to enable/disable the
3266 emphasis of unread messages.
3270 * src/pixmaps/mark.xpm: modified.
3271 * src/gtkutils.[ch]: gtkut_ctree_expand_parent_all(): new.
3272 * src/summaryview.c: summary_set_ctree_from_list(): don't expand
3273 the root messages of threads for performance improvement.
3275 summary_select_next_unread()
3276 summary_step(): expand threads when opening messages.
3277 summary_thread_build(): expand threads if the option is turned on.
3278 * src/prefs_common.[ch]: added "Expand threads" option.
3282 * src/prefs_common.c: removed "Emulate the behavior of mouse
3283 operation of Emacs-based mailer".
3284 * src/prefs_common.c
3285 src/prefs_account.c: changed the value of VSPACING_NARROW to 3.
3286 * src/pixmaps/new.xpm
3287 src/pixmaps/unread.xpm: reverted.
3292 address_folder_new()
3294 address_item_new(): changed the return value to AddressObject.
3295 address_build_tree(): don't put assertion for file.
3296 * src/pixmaps/new.xpm
3297 src/pixmaps/unread.xpm: modified a bit.
3301 * src/addressbook.c: fixed some bugs.
3305 * separated the logic part of addressbook into another module
3306 (still in progress).
3307 * src/address.[ch]: new. It contains the logic part of addressbook.
3308 * src/addressbook.[ch]: removed the logic part.
3312 * src/textview.c: textview_show_header(): fixed a bug that a garbage
3313 character was shown after header names.
3317 * src/inc.c: inc_start(): don't abort with non-fatal error.
3325 * src/mimeview.c: mimeview_view_file(): added -x option to the
3326 metamail to prevent the suspention of the main process.
3327 mimeview_button_pressed(): deactivate `Open' menu item if
3328 content-type is application/octet-stream.
3332 * src/imap.c: imap_parse_atom(): parse escaped characters properly.
3333 get_quoted(): new. It handles the escape character '\'.
3334 * src/folder.c: folder_read_list(): don't output warning if
3335 folderlist.xml doesn't exist.
3336 * src/main.c: main(): write folder list after setup.
3337 * src/textview.c: textview_create()
3338 src/compose.c: compose_create(): set default tab width to 8.
3342 * src/prefs_common.c: date_format_select_row(): fixed a bug that
3343 caused segfault when selecting the list with key.
3347 * src/mainwindow.c: main_window_popup(): deiconize the window
3348 when popup (thanks to Henrik Carlqvist).
3349 * src/procmime.c: procmime_scan_mime_type(): new.
3350 procmime_scan_content_type(): use procmime_scan_mime_type().
3351 procmime_scan_mime_header(): scan the extension of attached files
3352 and add the correct MIME type if the Content-Type is
3353 "application/octet-stream" (thanks to Don Quijote).
3354 * src/compose.c: compose_toolbar_create(): added a new "Send later"
3355 icon (thanks to Leandro Pereira).
3359 * src/prefs_common.c: date_format_create(): modified the layout of
3364 * src/account.c: account_find_from_address(): fixed a minor bug.
3365 * src/prefs_common.c: incorporated the user-interface for setting
3366 date format from the claws branch, and made some modification to
3371 * src/account.[ch]: account_edit_create(): modified the text of
3373 account_find_from_address(): new.
3375 procmime_scan_content_type(), procmime_scan_content_disposition():
3376 fixed ESC code detection.
3377 * src/compose.c: compose_reply(): automatically select account
3378 according to the message header.
3379 * src/prefs_common.[ch]: added member "reply_account_autosel".
3383 * src/progressdialog.c: made the CList scrollable.
3384 * src/inc.c: inc_start(): don't abort with non-fatal error.
3388 * added English Sylpheed User's Manual by Paul Kater
3389 (paul@nlpagan.net) (thanks!).
3392 src/mainwindow.c: added support for English manual.
3393 * manual/en/sylpheed*.html: added English documentation.
3398 * src/nntp.c: nntp_ok(): fixed the bug that didn't handle a response
3399 that didn't have any trailing messages.
3400 * src/smtp.c: smtp_ok(): ditto.
3401 * src/compose.c: compose_account_option_menu_create(): modified
3402 the style of the account option menu.
3406 * src/prefs_customheader.c: prefs_custom_header_clist_set_row():
3407 remove return code from strings automatically.
3408 prefs_custom_header_create(): added "X-Face" to the default
3410 * src/news.c: news_fetch_msg(), news_get_group_list()
3411 src/imap.c: imap_fetch_msg(): create the cache directory before
3414 procmime_scan_content_type()
3415 procmime_scan_content_disposition(): convert JIS into EUC-JP
3417 * src/codeconv.c: conv_unmime_header(): cleaned up a bit.
3418 * src/compose.c: don't append attachment headers if the attach
3419 pane is visible but the list is empty.
3420 * src/recv.c: recv_bytes_write(): use g_malloc() instead of alloca().
3428 * src/compose.c: compose_quote_parse_fmt()
3429 src/prefs_common.c: prefs_quote_description_create(): added the
3430 symbol `%c' that allows to include Cc in reply format (thanks
3433 src/procmime.c: procmime_decode_content(): applied the patch
3434 from Sergey Vlasov that allows to decode base64 data with
3435 unusual line length (not a multiple of 4) (thanks!).
3439 * src/procmsg.[ch]: separated the permanent flags and temporary
3440 flags into two variables, and made MsgFlags a structure that
3442 MSG_SET_PERM_FLAGS()
3444 MSG_UNSET_PERM_FLAGS()
3445 MSG_UNSET_TMP_FLAGS(): new macros.
3453 src/summaryview.c: modified for the new MsgFlags.
3454 * src/utils.[ch]: hash_free_value_mem(): new. It frees the values
3459 * src/inc.c: inc_pop3_recv_func(), inc_progress_update():
3460 display current size with human-readable format.
3461 * src/grouplistdialog.c: grouplist_recv_func(): ditto.
3468 conv_unmime_header(), conv_unmime_header_overwrite(): workaround
3469 for raw-JIS code in header fields.
3471 folder_get_default_folder()
3472 folder_get_default_inbox()
3473 folder_get_default_outbox()
3474 folder_get_default_draft()
3475 folder_get_default_queue()
3476 folder_get_default_trash(): fixed a bug that caused segfault
3477 if folder_list is NULL.
3487 * src/grouplistdialog.c: grouplist_dialog_set_list(): update UI
3488 while retrieving newsgroup list.
3489 grouplist_dialog_create(): added entry widget and status label.
3490 grouplist_recv_func(): new.
3491 refresh_clicked(): added exclusive lock variable.
3492 clist_selected(): set text entry when the CList is selected.
3493 renamed from group_clist_select().
3494 entry_activated(): new.
3495 grouplist_clear(): renamed from grouplist_free(). Also clears
3496 list and entry widget.
3497 * src/news.c: news_get_group_list(): sped up the list appending
3498 (g_slist_append() becomes very slow if list size is large).
3499 * src/defs.h: added UI_REFRESH_INTERVAL definition.
3500 Changed the definition of NEWSGROUP_LIST.
3501 * src/recv.c: recv_write()
3502 src/send.c: send_message_smtp(): changed the UI refresh interval
3503 to UI_REFRESH_INTERVAL (50msec).
3504 * src/account.c: account_add(): fixed a bug that didn't update
3505 folder tree when a news account was added.
3506 * src/grouplistdialog.c: made exclusive lock variable global, and
3507 lock at grouplist_dialog_set_list().
3508 * src/textview.c: fixed a bug that disabled clickable URI if
3509 message color was disabled.
3513 * src/grouplistdialog.c: ok_clicked(), cancel_clicked(): don't
3514 quit main loop if gtk_main_level() is 1.
3515 grouplist_dialog_set_list(): freeze CList while appending the list.
3516 grouplist_dialog(): show dialog before updating the list.
3520 * src/folder.c: folder_write_list_recursive(): add the attribute
3521 `collapsed' if a node have some children.
3522 * src/grouplistdialog.[ch]: new. Newsgroups can be selected from
3525 news_get_group_list(): new. It returns newsgroup list.
3526 news_remove_group_list(): new. It removes newsgroup list cache.
3527 * src/folderview.c: folderview_new_news_group_cb(): call
3528 grouplist_dialog() instead of input_dialog().
3532 * autogen.sh: modified.
3534 src/folderview.c: made expand/collapse state of folders persistent
3543 * src/imap.c: imap_remove_folder(): select INBOX with EXAMINE before
3545 imap_cmd_do_select(): new. It toggles between SELECT and EXAMINE
3546 according to the argument.
3547 imap_cmd_select(): use imap_cmd_do_select().
3548 imap_cmd_examine(): new.
3549 * src/folderview.c: folderview_rm_imap_folder_cb(): select current
3550 folder again when removing failed.
3556 * manual/ja/sylpheed.sgml
3557 manual/ja/*.html: updated the Japanese manual (thanks to Imai).
3558 * src/summaryview.c: summary_set_row_marks(): fixed a bug that
3559 didn't set foreground correctly.
3561 src/summaryview.h: removed the member color_normal from FolderView
3563 * src/mainwindow.c: main_window_create(): removed color_normal.
3567 * src/prefs_account.[ch]: the port numbers of IMAP4 and NNTP
3569 * src/imap.c: imap_session_get()
3570 src/news.c: news_session_new_for_folder(), news_session_get():
3571 use user-defined port number if specified.
3575 * src/imap.c: imap_scan_tree_recursive(): get mailbox status when
3577 imap_scan_folder(): implemented. It updates the numbers of new,
3578 unread and total messages.
3579 imap_status(): new. It parses the response of STATUS command.
3580 imap_status_uidnext(): removed.
3581 imap_cmd_status(): removed.
3582 * src/textview.c: textview_show_part(): fixed potential memory leaks.
3586 * src/alertpanel.c: alertpanel_create(): fixed truncated message.
3587 * src/rfc2015.c: rfc2015_decrypt_message(): fixed the case problem
3588 of content-type (thanks to René Rebe for the patch).
3589 * src/codeconv.c: code_get_code_conv_func(): fixed the ISO-8859-1
3591 * src/prefs_common.c: prefs_send_create(): made some more character
3592 sets specifiable when not using libjconv.
3593 * configure.in: disabled --enable-threads option temporarily.
3595 INSTALL.jp: deleted the description about --enable-threads option.
3599 * updated gettext to 0.10.38.
3605 * src/folderview.[ch]: folderview_set_all(): new.
3606 * src/account.c: account_add(): call folderview_set_all() after
3607 creating IMAP4 tree.
3608 account_edit_create(): account preferences dialog can be opened
3609 with double clicking of the list.
3610 account_selected(): new.
3611 account_clist_set(): made the CList focus set correctly.
3615 * src/imap.c: imap_scan_tree(): call imap_create_trash() if trash
3617 imap_scan_tree_recursive(): search the sub folders of INBOX.
3618 recognize Trash folder.
3619 imap_create_tree(): separated the part of creating trash.
3620 imap_create_trash(): new.
3621 * src/folder.c: folder_build_tree(), folder_write_list_recursive():
3622 preserve no_sub and no_select.
3623 * src/summaryview.c: summary_show(): don't proceed if item->no_select
3628 * src/imap.c: imap_scan_tree(): fixed a bug that didn't set the
3629 root folder correctly.
3633 * src/folderview.[ch]:
3634 folderview_update_tree(): new. It updates one folder tree.
3635 folderview_update_tree_cb(): new.
3636 Added "Update folder tree" to the popup menu, and modified some
3641 * src/imap.c: implemented the autoscan of IMAP4 folder list.
3642 imap_scan_tree(): new. It scans the whole IMAP4 folder.
3643 imap_scan_tree_recursive(): new. It traverses the IMAP4 folder tree.
3644 imap_parse_list(): new. It parses the LIST response.
3645 imap_get_real_path(): new. It converts local path into IMAP4 path.
3646 * src/folder.h: added no_sub and no_select to FolderItem.
3647 * src/folder.c: folder_tree_destroy(): reset some variables.
3648 * src/folderview.c: folderview_scan_tree_func(): supported IMAP4.
3652 * src/imap.c: imap_parse_envelope(): fixed a bug that didn't
3653 parse the FETCH response that continues to the next line.
3654 imap_parse_fetch_element(): removed.
3655 imap_parse_atom(), imap_parse_one_address(), imap_parse_address(),
3656 imap_parse_envelope(), imap_get_uncached_messages(): use GString
3657 and sock_getline() to parse the FETCH response.
3658 imap_remove_all_msg(): fixed a bug that didn't delete messages
3660 imap_parse_address(): fixed a bug that didn't concaternate
3661 addresses correctly, using GString.
3662 * src/socket.[ch]: sock_getline(), fd_getline(): new. They read
3663 the whole line and return the newly allocated string.
3664 * src/prefs_account.[ch]: added `IMAP server directory' entry.
3670 * src/imap.c: imap_create_tree(): pass the path that is separated
3671 by the local filesystem separator to imap_create_folder().
3672 imap_create_folder(): examine the existence of folders using
3673 LIST command instead of STATUS.
3674 imap_cmd_list(): new.
3675 imap_query_password(): new.
3676 imap_session_new(): query password if it is not set.
3680 * src/imap.c: imap_parse_envelope(): FETCH results can be parsed
3681 with arbitrary order.
3682 imap_parse_fetch_element(): new. it parses one pair of name and
3683 value of FETCH results.
3684 imap_parse_flags(): modified for more flexibility.
3685 * src/utils.[ch]: set_log_file(): new. it opens a new file for
3687 close_log_file(): new. it closes the opened log file.
3688 log_print(), log_message(), log_warning(), log_error(): also
3693 * src/imap.c: imap_cmd_status(): check the pointer to "value"
3694 before the assignment (thanks to NISHIJIMA).
3698 * src/folderview.c: folderview_drag_motion_cb(): don't allow DnD
3699 across MH and IMAP4 folder (for now) (thanks to Hiramatu).
3700 * src/foldersel.[ch]: don't show folders which can't be targets
3712 imap_cmd_store(): use UID instead of sequential number.
3713 Renamed imap_set_article_flags() to imap_set_message_flags().
3714 * src/summaryview.c: summary_execute(): don't update summary
3715 even if current folder is IMAP4.
3716 * src/utils.[ch]: remove_numbered_files(): changed the type of
3717 arguments from gint to guint.
3721 * src/imap.c: imap_cmd_login(), imap_cmd_select(), imap_cmd_status(),
3722 imap_cmd_create(), imap_cmd_delete(), imap_cmd_copy(): don't
3723 enclose with double quotation if string doesn't have space
3724 (workaround for old Cyrus IMAP4 server).
3725 imap_create_folder(): fixed a bug of separator substitution.
3726 renamed imap_session_connect_if_not() to imap_session_get().
3727 imap_get_msg_list(): delete all cached messages if use_cache
3729 imap_delete_cached_messages(): remove cached files in between
3730 the specified range by reading directory entry.
3731 imap_parse_one_address(): set fromname same as the from address
3733 * src/utils.[ch]: remove_numbered_files(): new. The range is
3735 * src/summaryview.c: summary_execute(): update summary if current
3737 KEY_PRESS_EVENT_STOP(): new macro.
3738 summary_key_pressed(): stop signal emission when calling
3740 summary_select_by_msgnum(): show message only if
3741 msg_is_toggled_on is TRUE. Move current page to the selected
3743 * src/news.c; news_delete_old_articles(): remove cached files in
3744 between the specified range by reading directory entry.
3746 folderview_selected(), folderview_button_released(): fixed a bug
3747 that didn't select folder correctly.
3753 src/prefs_common.c: improvements to the English (thanks to Paul
3755 * src/mainwindow.c: compose_cb()
3756 src/summaryview.c: summary_key_pressed()
3757 src/compose.c: compose_new_with_recipient(): newsgroups entry
3758 is automatically filled when composing a new article.
3762 * src/procmsg.c: procmsg_msg_list_free(): fixed a bug that didn't
3763 free list correctly.
3769 * src/imap.c: imap_find_namespace(): replace namespace path
3770 separator with slash before comparison.
3771 imap_remove_folder(): use namespace.
3772 imap_create_tree(): use namespece when creating Trash.
3773 imap_get_msg_list(): fixed a bug that returned old list and caused
3774 memory leak if exists == 0.
3775 imap_select(): new. It's a wrapper for imap_cmd_select().
3776 * src/foldersel.c: foldersel_set_tree(): show IMAP4 folder too.
3781 folderview_new_folder_cb()
3782 folderview_new_imap_folder_cb(): show error dialog when creation
3783 or deletion of folder failed.
3784 Made it allow users to create a folder which contains subfolders.
3785 folderview_button_pressed(): disabled delete menu on the special
3787 * AUTHORS: incorporated from claws branch. It now contains all
3789 * src/send.c: enabled cancellation.
3790 EXIT_IF_CANCELLED(): new macro.
3791 Added cancelled flag to SendProgressDialog.
3792 * src/utils.[ch]: strtailchomp(): new. It removes the trailing
3793 specified character.
3794 * src/imap.c: imap_cmd_fetch(): a fix for MS Exchange 2000 server.
3798 * src/imap.c: imap_create_tree(): new. It creates required