2003-03-25 Charles Kerr <charles@rebelbase.com> * configure.in: added patch to fall back to libxml2-config if libxml2's pkgconfig .pc file isn't found. Apparently Sun left the .pc file out of their Gnome 2 packages. (Clinton Bunch) (Bug Fixes) * pan/base/gnksa.c (gnksa_split_from): Fixed crash that occured when a posters' email address is longer than 500 characters long. (107025, Mr. Nice) * pan/gui-headers.c (add_header_nolock): Fixed off-by-one error introduced on Feb 12th for bug #105879. * pan/base/message-check.c (strip_attribution_and_signature): Fix memory leak found by Valgrind. * pan/message-window.c (check_charset_for_body): Fix memory leak found by Valgrind. (HiG) * pan/server-ui.c: make sure the HiG's dialog spacer sizes don't get resized by adding the adustments with gtk_table_attach_defaults. * pan/identities/identity-edit-ui.c: same. * pan/prefs.c: same. * pan/dialogs/dialog-newuser.c: same. 2003-03-16 Charles Kerr <charles@rebelbase.com> * pan/base/article.c (article_get_author_str): optimizations for the most common case. cachegrind says this is a hotspot. 2003-03-15 Charles Kerr <charles@rebelbase.com> * pan/base/article.c (xref_foreach): small speedup. * pan/base/article.c (article_get_unique_threads): same. * pan/article-actions.c (remove_duplicate_articles): same. 2003-03-15 Charles Kerr <charles@rebelbase.com> * pan/base/group.c (group_remove_articles): small speedup. 2003-03-14 Charles Kerr <charles@rebelbase.com> * pan/articlelist.c (articlelist_read_selected): fix bug introduced yesterday that caused the first article to be downloaded twice. I only tested in text groups, and the articles came down so fast I didn't notice. (106078, Lee Reynolds, Torstein Sunde) 2003-03-13 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/articlelist.c (articlelist_key_press): handle HOME/END buttons to go to the top and bottom of the header pane. (88869, Martin Schrode) * pan/articlelist.c (articlelist_read_selected): if more than one article is selected, also download articles 2..n, because the user is probably going to read them next. (104155, Nicolas Girard) 2003-03-12 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/article-thread.c (sort_articles): don't alter the articles' threading information when sorting articles -- this information is critical for decoding multiparts correctly. (105611, Jim Faulkner, Adam Huffman, T'aZ, Dwayne Fontenot, Ken Ford) * pan/sockets.c (pan_socket_new): ignore SIGPIPE. (105890, Brian Morrison) * pan/gui-headers.c (add_header_nolock): On very long words that exceed the maximum width, don't overwrite characters with linefeeds. (105879, Jakob Breivik Grimstveit) 2003-03-09 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/base/filter-headers.c: * pan/base/group.c (group_ref_articles): * pan/base/group.c (group_add_articles): batch all the "group changed" events during loading/adding headers into a single change event. 2003-03-05 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/text.c: fix minor gcc warnings. * pan/task-save.c: same. * pan/socket-pool.c: same. * pan/base/pan-config.c: same. 2003-03-03 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/articlelist.c (articles_removed_mainthread): the previous way of removing deleted articles from the header pane's list of articles scaled very poorly to large groups. We keep that quick-and-dirty method if a few articles are deleted, such as if the user hit the `delete' key on an article, but use a better-scaling method if a lot of articles are deleted. (Mark Kelly) 2003-03-02 Charles Kerr <charles@rebelbase.com> (Usability) * pan/prefs.c: by popular demand, split the `single-click selects, rather than activates' preference option into two, for groups and headers. * pan/prefs.c: made some of the terminology more consistent. * pan/article-filter-ui.c: cleaned out the useless bits. 2003-02-31 Charles Kerr <charles@rebelbase.com> (Bugfixes) * pan/sockets.c: better handling of the GIOStatus return values from the g_io_*() functions. This should fix the SIGPIPE error reported on pan-users. 2003-01-31 Charles Kerr <charles@rebelbase.com> (Bugfixes) * pan/filters/filter-xml.c (populate_phrase): import phrase filters from <= 0.13.3.90 correctly. (Lars Bamberger) * pan/filter-edit-ui.c: fix signed/unsigned conflict in pulling out the phrase match_type. We were using -type to reflect `negate'; however, enumerated types are unsigned, so this didn't work right. (Lars Bamberger) * pan/filters/filter-phrase.c (filter_phrase_to_string): normal filters were tostring'ed as negated, and negated were tostring'ed as normal. And I committed this crap? :) (Lars Bamberger) 2003-01-31 Charles Kerr <charles@rebelbase.com> * Pan 0.13.3.91 Released! 2003-01-29 Charles Kerr <charles@rebelbase.com> (Header Matching) * pan/filters/filter-phrase.c: now works sort of like Evolution. * pan/filters/filter-xml.c: sync. * pan/article-toolbar.c: sync. * tests/test-filter.c: sync. * pan/filter-ui.c: added more user-visible features to filter-phrase. (Sorting Articles) * pan/base/article-thread (sort_articles): rethread the articles' children based on the same sorting order. That way the order of replies in the header pane is clearer to follow. 2003-01-28 Christophe Lambin <clambin@easynet.be> (Bugfixes) * gmime/gmime-utils.c (rfc2047_encode_phrase_get_words): suppressed the 'Invalid UTF-8 sequence encountered' error message. These are triggered by 8bit data in headers. (#103908, Bas Mevissen) * pan/socket.s (pan_socket_get_xfer_rate_KBps): fixed crash when downloading with the task manager open. * pan/prefs.c (apps_page): mozilla doesn't support openURL(url,raise). (Owen) 2003-01-27 Charles Kerr <charles@rebelbase.com> (Bugfixes) * pan/queue.c (queue_remove_tasks): add a reference to each Task in the list before adding REMOVE item to the queue's todo list. * pan/queue.c (queue_real_remove_tasks): when done, unref each task in the remove list, to balance out the reference added to queue_remove_tasks(). This ref/unref pair will let us gracefully handle cases where a task is queued for removal twice. (Dave Hill) 2003-01-27 Christophe Lambin <clambin@easynet.be> (Bugfixes) * pan/message-window.c (message_gen_attribution_string): fixed bug problem that would corrupt a follow-up if the original article's author contained 8bit characters, and the attribution line contained '%a'. (#104479, Jean-Marc Desperrier) * pan/message-window.c (message_window_save_ok_clicked): fixed crash in the Composer's 'Save Message' dialog when clicking OK if the filename was blank. (Michaela Susan Buesing) 2003-01-27 Daniel Yacob <locales@geez.org> * configure.in: Added Amharic (am) to ALL_LINGUAS. 2003-01-26 Charles Kerr <charles@rebelbase.com> (Bugfixes) * pan/task-manager.c (get_status_str): grok QUEUE_TASK_STATUS_REMOVING. (Thomas Gamble) * pan/queue.c (queue_real_set_online): handle the abort flags explicitly here so that going offline will stop the tasks immediately, and going online will clear the abort flags. (Thomas Gamble) 2003-01-23 Charles Kerr <charles@rebelbase.com> (Bugfixes) * pan/message-window.c: * pan/article-actions.c: accidentally mixed strdup() and g_strdup(). * pan/util.c: * pan/text.c: * pan/queue.c: ANSI fix: replaced C++-style comments with C comments. 2003-01-23 Charles Kerr <charles@rebelbase.com> (Added Article.byte_qty. This field is used by task-manager's new calculate-time-left code, and will be used by the slrn scoring) * pan/base/article.h: added gulong Article.byte_qty * pan/base/article.c (article_constructor): zero out byte_count. * pan/base/file-headers.c: bumped file format to 9, added byte_count * pan/nntp.c (nntp_download_headers): set byte_count from XOVER. * pan/base/message-identifier.h: added gulong field byte_qty * pan/base/message-identifier.c (add_source_from_article): set the byte_qty field from the Article struct. * pan/task-manager.c (get_xfer_str): use byte_qty to estimate how much time is remaining on a running task. (Cancel Articles) * pan/task-cancel.[ch]: new code. * pan/task-func-ptr.[ch]: removed obsolete code. * pan/article-actions.c: sync with task_cancel code. (Task State) * pan/task-state.[ch]: new object. This object is used by tasks and the queue to negotiate sockets and workprocs for queued tasks. This allows the queue to allocate all its sockets on a single task, speeding up the time it takes to download any given multipart. * pan/queue.c: rewrite to use task-state.c * pan/task.[ch]: sync with queue and task changes. * pan/task-save.c: same. * pan/task-bodies.c: same. * pan/task-headers.c: same. * pan/task-grouplist.c: same. * pan/task-post.c: same. (Bugfixes) * pan/nntp.c (nntp_disconnect): don't read the return result from the QUIT command, since the socket is in an unknown state when we send the command in the first place. * pan/nntp.c (nntp_download_headers): fix minor buffer corruption bug when the references field is extracted from XOVER. Since we previously were skipping the next field (byte qty), this bug never mattered before... :) 2003-01-22 Charles Kerr <charles@rebelbase.com> * pan/sockets.c: fix encoding/buffing glib warning. * pan/articlelist.c: * pan/sockets.c: * pan/status-item-view.c: very minor tweak: use g_string_truncate (str, 0); instead of g_string_assign (str, ""); * pan/base/file-grouplist.c (save_groups_to_file): remove erroneous g_return_if_fail() invoked if the number of groups being saved was zero. The proper behavior is to continue on into the function, which will remove the now-empty file. 2003-01-21 Christophe Lambin <clambin@easynet.be> (Usability) * pan/articlelist.c: added back custom colors for unread & read threads. Several people have complained that the default colours are hard to read. Thanks to Robert Boucher for submitting a patch. * pan/prefs.c: same. (Bug Fixes) * pan/socket-pool.c (connect_thread_func): compiler fix. * pan/message-window.c (create_reply_body): don't remove the signature unconditionally: when quoting selected text in a reply, we want to include it. Thanks to Harav Shivanan for fixing his own bug. :) 2003-01-20 Charles Kerr <charles@rebelbase.com> * pan/socket-pool.[ch]: new module. This lets us create sockets without blocking the queue, and decouples the socket code from the queue somewhat. This is also a prerequisite to the interruptable tasks idea I floated on pan-users last week. This also has the nice side-effect that tasks don't fail if a connection can't be made -- they just sit, queued, until a connection is available. * pan/queue.c: use the socket pool. * pan/gui.c: fix broken menu icon for the Log Viewer menubutton. (#103907, Bas Mevissen) 2003-01-19 Artis Trops <hornet@navigator.lv> * configure.in: Added Latvian (lv) to ALL_LINGUAS. 2003-01-17 Christophe Lambin <clambin@easynet.be> (New Features) * pan/prefs.c: implemented coloring the signature and automatically updating the text widget's color tags, so the user does not need to restart Pan to see the new colors. Thanks to Harav Shivanan for these patches. * pan/text.c: same. * pan/message-window.c: Pan now recognizes signature separators without a trialling space. Thanks to Haran Shivanan for this patch. (Bug Fixes) * pan/message-window.c (load_signature): fixed 0.13.3.90 bug that failed to convert the signature to UTF-8 when it was actually in US-ASCII. D'oh! (103779, Brian Morrison) 2003-01-16 Charles Kerr <charles@rebelbase.com> * pan/pan.c (main): wrapped calls to gtk_main() with gdk_threads_enter() and gdk_threads_end(), as recommended by the GTK faq. * pan/filter-mediator.[ch]: make `show watched' and `show mine' buttons tweak the FilterShow variable to show matching articles and replies, since that's usually what's desired. * pan/gui.c (gui_set_title_idle): small HiG tweak: rearrange the items in the titlebar so that the group comes first, then the news server, then Pan's name. (103563, Mike Hearn) 2003-01-16 Christophe Lambin <clambin@easynet.be> Pan 0.13.3.90 Released! 2003-01-15 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/filters/filter-xml.c (populate_new,write_new): save and load the state of the FilterNew class. Without this, filters for read or unread articles would be saved as filters for new articles. (103579, Matt Pinkham) 2003-01-11 Charles Kerr <charles@rebelbase.com> (Windows) * pan.iss.in: updated to sync with gtk2.2 build * README.windows: updated for beta2 * pan/base/util-file.c (pan_mkdir): silently skip mkdir("c:\") 2003-01-10 Charles Kerr <charles@rebelbase.com> (Usability) * pan/dialogs/dialog-newuser.c: refreshed the whole new user dialog, getting it more in spec with the Gnome HIG and getting rid of some of the more idiotic text. Also, added the ability for new users to specify their signature files there ... I've seen a surprising number of people asking `how do I specify a signature file with Pan?' on Usenet... 2003-01-09 Christophe Lambin <clambin@easynet.be> (Bug Fixes / Tweaks) * gmime/gmime-filter-html.c: recognize commas inside URLs. (102881, holger) * pan/message-window.c (load_signature): don't use a signature when we can't convert it to UTF-8 (i.e when it's not in the locale's charset) and warn the user as to what happened to his signature. (102158, Ville Skyttä) 2003-01-09 Charles Kerr <charles@rebelbase.com> (Netiquite) * pan/base/message-check.c (check_topposting): new function to check to see if a follow-up post is top-posting. * tests/test-message-check.c: added two regression tests for top-posting. * pan/base/message-check.c (strip_attribution_and_signature): new private utility function shared by check_topposting() and check_all_quoted(). (#100747, Pan Team) 2003-01-07 Charles Kerr <charles@rebelbase.com> (Usability) * pan/articlelist.c (articlelist_get_active_articles_nolock): new function like articlelist_get_selected_articles_nolock(), but adds any collapsed subthreads of those selected articles. This is for the Agent-like behavior of, when you click `delete' on an article with a collapsed subthread, the entire subthread is deleted instead of just the one article. This is used for delete, mark read/unread, flag/unflag for doewnload, copy to folder, "download selected". (102577, Jerry Segers) * pan/articlelist.c (remove_article_nolock): make sure children of deleted articles are reinserted to their grandparent in the correct order. (102586, Jerry Segers) 2003-01-06 Charles Kerr <charles@rebelbase.com> (Fixes) * pan/Makefile.am: include $(GNET_CFLAGS). * pan/dialogs/Makefile.am: same. (#102755, Nam SungHyun) * pan/base/util-file.c (pan_mkdir): silence minor compiler warning. (Usability) * pan/save-ui.c: when the user hits `enter' inside the directory entry field, the save dialog now behaves as if the OK button were pressed. (102208, Bobby D. Bryant) 2003-01-06 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/gui.c (log_entry_added_cb): Fixed bug that kept 'urgent' events from creating a popup dialog (e.g. rules with an alert configured). (Michael Waters) 2003-01-06 Charles Kerr <charles@rebelbase.com> (Windows) * pan/pan.iss.in: added README.windows to show up in the installer * pan/README.in: new template to generate README without having to edit the version number before rolling the tarball. * pan/README.windows.in: new template to generate README.windows without having to edit the version number before rolling setup.exe. 2003-01-05 Charles Kerr <charles@rebelbase.com> (Windows) * pan/configure.in: added pan.iss to AC_CONFIG_FILES * pan/pan.iss.in: New file: template for Pan's Windows install script * pan/pan.spec.in: Added gnet-1.1.5 and gnet-devel-1.1.5 2003-01-04 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/article-actions.c (article_supersede): fixed domain-mangling bug. (102469, Adam Warner) 2003-01-01 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/pan-color-picker.c (picker_clicked_cb): the color picker didn't display the currently active color. 2002-12-30 Charles Kerr <charles@rebelbase.com> More portability changes. * pan/sockets.h: made PanSocket an opaque data type. * pan/smtp.c: sync. * pan/queue.c: sync. 2002-12-30 Charles Kerr <charles@rebelbase.com> (Use GNet and GLib for socket I/O) * pan/smtp.c: use GNet instead of Unix-only socket APIs. * pan/sockets.c: same. * pan/dialog/dialog-newuser.c: same. * pan/configure.in: require GNet 1.1.7 or higher. * pan/pan.spec.in: same. (Portability Tweaks) * pan/prefs.c (prefs_init): windows path portability fixes. * pan/prefs.c (tasks_page): same. * pan/message-window.c (append_signature): same. * pan/base/base-prefs.c (get_data_dir): same. * pan/base/util-file.c (pan_mkdir): new function that #ifdefs out mkdir's second argument on windows. * pan/acache.c: add "b" to mode arg for fopen calls. * pan/base/decode.c: same. * pan/base/util-file.c (pan_file_copy): same. * pan/queue.c (queue_get_tasks_filename): portability tweaks. * pan/thread-watch.c (get_filename): same. * pan/base/pan-config.c (pan_config_load_ini): same. 2002-12-30 Charles Kerr <charles@rebelbase.com> Pan 0.13.3 Released! 2002-12-27 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/task-manager.c (periodic_update_timer): only update those rows whose tasks are running or have changed. Updating every row caused the CPU to spike when many tasks were queued. 2002-12-26 Charles Kerr <charles@rebelbase.com> (MingW portability changes) * pan/gmime: change all instances of ssize_t to gssize * pan/task-post.c: same. * pan/base/util-mime.c: same. * configure.in: add check to see how many arguments mkdir takes. * pan/base/util-file.c: added pan_mkdir(), which #ifdefs to handle platforms where mkdir takes only one argument. 2002-12-23 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/base/group.c (group_add_articles_impl): fixed bug that caused all read headers to removed from the group when loading. 2002-12-20 Charles Kerr <charles@rebelbase.com> (Intel compiler tweaks) * pan/article-toolbar.c (_filter_phrase_om): remove unused field. * pan/prefs.c (attribution_line): same. * pan/prefs.c (use_system_bg): same. * pan/prefs.c (use_system_fg): same. * pan/text.c (text_vbox): same. * pan/articlelist.c (refresh_mainthread_end): remove unused variables. * pan/base/gnksa.c (remove_broken_message_ids_from_references): same. * pan/base/util-mime.c (separate_encoded_parts): same. * pan/base/group.c (group_add_articles_impl): same. * pan/message-window.c (text_inserted_cb): same. * pan/sockets.c (read_from_socket): same. * pan/gui.c (update_menus_idle): same. * pan/gui.c (gui_set_queue_size): make this a static function. * pan/base/util-mime.c (pan_fake_partial): same. * pan/base/article.c (xref_foreach): same. * pan/task-xml.c (write_task): same. * pan/gui.c (create_image): same. * pan/gui-headers.c (max_header_width): make this a static field. * pan/pan-charset-picker.c (charset): same. * pan/gui-notebook.c (notebook): same. * pan/articlelist.c (_icons): same. * pan/gui.c (_status_icons): same. * pan/status-item-view.c (set_percentage_mainthread): type conversion. * pan/articlelist.c (articlelist_set_selected_nodes_nolock): same. * pan/grouplist.c (grouplist_set_selected_groups_nolock): same. * pan/articlelist.c (articlelist_set_node_style_nolock): same. 2002-12-17 Christophe Lambin <clambin@easynet.be> Pan 0.13.2.93 Released! 2002-12-16 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/task-manager.c (tasks_moved_cb): add unref the TreeModel's task for that row before deleting the row. This was a small leak. * pan/task-manager.c (ui_destroy_cb): call gtk_tree_model_foreach to unref each of the tasks in the task manager. This caused a minor leak in 0.13.1 (memory), and a HUGE leak in 0.13.2.92 (task-save objects were never destroyed, so the cache directory overflowed). 2002-12-15 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/task-save.c (task_save_run): fixed another bug that caused failed tasks to be removed from the Task Manager, even if the user has disabled this in the preferences. (Huub Reuver) 2002-12-14 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/base/acache.c (get_message_id_from_file): huge speedups. The Message-ID is now passed through a transform to make it safe for various filesystems, so we can reverse the transform to derive the Message-ID from the filename without having to open the file and parse the headers. * pan/server-edit-ui.c (server_edit_response_cb): call queue_wakeup() if the user hits `ok'. This is so that if the user changed the maximum number of connections for the server, the change will take place immediately. (101242, Pan Team) * pan/server-edit-ui.c: fix bug that crashed Pan if you hit `close' in the server list dialog when an edit dialog was still open: destroying the edit dialog tried to refresh the list dialog, which was already destroyed. (101247, Pan Team) 2002-12-14 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * gmime/gmime-utils.c (datetok): sync w/ GMime CVS. This fixes an incorrect parsing of timestamps with negative timezone offsets. As a result, articles with such timestamps contained incorrect dates in the thread pane. (97710, wsr23) 2002-12-13 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/message-window.c (make_reply_window): removed unneeded internal header, which caused corruption to boot. (101074, Pan Team) (Tweak) * pan/message-window.c (determine_charset_for_message): fall back to the group's charset if the original article contains a unsupported charset (previously it would fall back to the locale's charset). * pan/message-window.c (check_charset_for_body): moved & fixed the broken charset validation from message-check.c. (101043, Pan Team) 2002-12-12 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/util-wrap.c (pan_text_rot13_inplace): fix stupidity that I introduced yesterday. As an aside, http://czyborra.com/utf/#UTF-8 is a nice utf8 primer... 2002-12-12 Christophe Lambin <clambin@easynet.be> (Charset Fun) * pan/message-window.c (determine_charset_for_message): implemented checking the article's charset before falling back to the group's charset. Follow-ups to message with charsets different from the group should not have their charset set up correctly. * pan/pan-charset-picker.c (pan_charset_picker_new): since we may now pass the article's charset to the picker, make sure to cope with charsets that don't match any of our charsets. 2002-12-12 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/util-wrap.c (pan_text_rot13_inplace): ensure that the function doesn't choke on UTF-8 text. (101045, Pan Team) * pan/text.c: replace #warning with /* FIXME */ for portability. * pan/message-window.c: same. * pan/base/message-check.c: same. * pan/filters/filter-save.c: same. (100538, Brandon Corey) * pan/gui.c: replace C++ comments with C comments for portability. * pan/text.c: same. * pan/base/util-mime.c: same. (New Features) * pan/prefs.c (task_page): added in a togglebutton to tell Pan whether to start in online or offline mode. * pan/prefs.c (prefs_apply): sync. * pan/queue.c (queue_init): added new argument, gboolean "online" * pan/pan.c (main): sync. (101013, Maurizio) 2002-12-12 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/acache.c (get_message_id_from_file): handle folded Message-ID headers more gracefully. The parsing isn't the smartest in the world, but it for this, it doesn't need to be. 2002-12-11 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/identities/identity-xml.c (identity_xml_read): fixed bug that caused the default profile for News to be cleared. (100904, James Brost) 2002-12-10 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/base/acache.c (get_message_id_from_file): fixed crash when the cache contains articles with wrapped Message ID's. This needs a better fix (like supporting wrapped Message ID's), but I don't have time right now. 2002-12-10 Charles Kerr <charles@rebelbase.com> Pan 0.13.2.92 Released! 2002-12-10 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/decode.c: remove the acache_checkin call; move it to task_save_destructor() instead. This ensures that the task_save_constructor() checkout is always balanced, even if the task-save is not decoding attachments. (100870, Pan Team) * pan/base/acache.[ch]: require a key argument to tell acache which path you want to look for / get / check out / check in messages. This solves a slew of bugs, such as-- -- one's own posts not being marked as read. (90083, Bas Mevissen) (90112, Brian Morrison) (91341, Lars Bamberger) (93780, Uwe Naumann) -- following-up your own post had a broken References: header. (89435, Pan Team) -- it appeared that the "X-Pan-Internal" headers in your own posts had been sent to Usenet. (89435, Bobby Bryant, Gollum) 2002-12-09 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/pan-file-entry.c (entry_clicked_cb): remember to set the transient parent for the file picker, and to set gtk_window_set_destroy_with_parent(), so that the entry dialog doesn't stay alive longer than its parent. * pan/pan-font-picker.c (picker_clicked_cb): same. * pan/pan-color-picker.c (picker_clicked_cb): same. (100605, Bo Flynn) * gmime/gmime-stream.c: SGI portability fixes. * gmime/memchunk.c: same. * pan/article-toolbar.c: same. (100538, Brandon Corey) * pan/prefs.c (prefs_init): if all of the show_pane variables are turned off, then turn them all on. It's very confusing for Pan to start up with an empty window. :) * pan/gui.c (update_menus_idle): grey out the third `show pane' button, so that users can't turn off all of the panes at once. (99716, Pan Team) 2002-12-08 Charles Kerr <charles@rebelbase.com> (#100695 - Making tasks more self-descriptive) * pan/base/message-identifier.[ch]: added a field for a `readable name', such as the message's subject header. This is set automatically in mid_new_from_article(). * pan/task-save.c: use the MessageIdentifier's readable name. * pan/task-bodies.c: same. * pan/nntp.c: same. * pan/task-save.c: remove the `readable_name' field in the TaskSave struct, since the MessageIdentifier now holds this information. * pan/article-actions.c: sync with task-save API changes. * pan/save-ui.c: same. * pan/task-xml.c: sync with TaskSave, MessageIdentifier changes. 2002-12-08 Jeffrey Stedfast <fejj@ximian.com> (Backport of the fix for bug #91536 from GMime trunk) * gmime/gmime-object.c (g_mime_object_register_type): Use a struct to hold the object_type for the subtype hash. 64 archs use 32bit ints and so using GINT_TO_POINTER() and GPOINTER_TO_INT() doesn't work. (g_mime_object_new_type): Get the object_type from the subtype bucket. 2002-12-07 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/nntp.c (nntp_download_bodies): fixed bug that caused failed tasks to be removed from the Task Manager, even if the user has disabled this in the preferences. (Bobby D. Bryant) 2002-12-07 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/util-file.c (pan_file_ensure_path_exists): added a mutex to ensure that two tasks didn't try to create the same directory at the same time, causing one to fail with `cannot create: file exists'. (100611) 2002-12-05 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/smtp.c (smtp_send_message): fixed crash when forwarding/replying via email in Japanese locale. This was related to glibc's implementation of printf ("%.*s") in certain locales. (99873, petersen) * pan/base/serverlist.c (serverlist_save): worked around same printf behaviour. * pan/base/util-wrap.c (fill_paragraph): same. 2002-12-04 Charles Kerr <charles@rebelbase.com> Pan 0.13.2.91 Released! 2002-12-04 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/articlelist.c (style_set_cb): new callback that's run whenever the header pane's style changes. This syncs the header pane's colors up with new gtk2 themes. (97882, Marin Tomasek) * pan/gui.c (create_toolbar): added support to turn off the toolbar, or the labels in the toolbar, by editing pan.config and setting the keys "/Pan/Display/toolbar_labels_visible" and "/Pan/Display/toolbar_visible". I'll add these to the preferences dialog if enough people request it. (87553, Kang Jeong-Hee) 2002-12-03 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/util-mime.c (separate_encoded_parts): Fixed bug that tricked Pan into thinking a text message was a uuencoded message by starting the message with a uu begin line. (67554, Marcin Wojtczuk) * pan/articlelist.c (articlelist_set_sort_bits_nolock): Fixed minor display bug in the header pane which sometimes hid the sorting '+' or '-' in the column header. (90378, Wendell Dingus) * pan/base/gnksa.c (gnksa_trim_references): Fixed bug which caused follow-ups in some very long threads to fail. (99485, Marc Geerlings) * pan/base/article-thread.c (normalize_subject): Changed the way Subject sorting is done to better group similar posts in binaries groups. (94863, Chris Petersen) * pan/task-post.c (task_post_run): Changed bug that caused article bodies to not be saved if the user checked both `save attachments' and `save body' for an article that had no attachments. (99218, Sid Cowles) 2002-12-02 Charles Kerr <charles@rebelbase.com> (Bug Fixes) Changed the filenames of duplicate saved attachments so that they're easier to grep for. (97778, Jerry Segers) 2002-12-02 Charles Kerr <charles@rebelbase.com> (fnmatch -> GPatternSpec migration) * pan/base/fnmatch.[ch]: drop fnmatch(). GPatternSpecs are a little faster than this fnmatch code, plus we get to drop 300+ lines of code from pan/base/. :) * pan/grouplist.c: sync. * pan/article-find.c: sync. GPatternSpec is faster, which is good, but we have to do our case-insensitivity by hand, which is bad, so maybe the only real change here is better utf8 friendliness in case-insensitivity. * pan/filters/filter-phrase.c: sync. (speed tweaks) * pan/messageidset.c: since thousands of articles could get added when a group's articles are marked as `old', use a hash table internally instead of a sorted string array. * pan/filter-mediator.c (show_toggled_cb): stop if the button isn't set. This callback is called by FilterShow's radio menu buttons twice per change: once by the newly set button, once by the old, unset button. We only need to refresh the filters once. * pan/base/article.c (articles_set_new_impl): since we know the size, use g_ptr_array_sized_new() instead of g_ptr_array_new(). 2002-11-26 Charles Kerr <charles@rebelbase.com> (More grouplist tweaks; it hasn't been combed over in awhile) * pan/grouplist.c: grouped more related functions; labelled sections. * pan/grouplist.c: removed unnecessary `grouplist_server_set_callback'. * pan/grouplist.c (grouplist_add_group_nolock): pass the GtkCList* in as a function argument instead of downcasting a GtkWidget four times per call. * pan/grouplist.c (grouplist_server_activated_cb): move this to an idle func so that we can make sure we always rebuild the clist in the main gui thread. * pan/grouplist.c (grouplist_refresh_filter_nolock): always wrap the phrase with implicit wildcards. (91119, Michael Toomim) (Other Tweaks) * pan/filters/filter-phrase.c (filter_phrase_test_articles): always wrap the phrase with implicit wildcards. (91119, Michael Toomim) 2002-11-25 Charles Kerr <charles@rebelbase.com> (Fix gcc 3.2 Warnings) * pan/message-window.c (text_inserted_cb): fix some variable-possibly-uninitialized conditions found by gcc 3.2. * pan/message-window.c (run_external_editor): same. * pan/prefs.c (layout_get_new_string): same. * pan/server-menu-ui.c (server_menu_update): same. * pan/base/acache.c (acache_init): same. * pan/base/decode.c (decode_article): same. * pan/filters/filter-new.c (filter_new_to_string): same. (Cleanup #includes) * pan/dialogs/dialog-group-props.c: remove unnecessary #includes * pan/dialogs/dialog-headers.c: same. * pan/dialogs/dialog-log-viewer.c: same. * pan/dialogs/dialog-newuser.c: same. * pan/identities/identity-manager.c: add #include <config.h> * pan/identities/identity-xml.c: same. * pan/identities/identity.c: same. * pan/identities/identity-edit-ui.h: fix broken #include. 2002-11-25 Charles Kerr <charles@rebelbase.com> (Modularity) * pan/queue.c: decoupled from the gui.c status functions by adding PanCallback functions that fire notifications whenever the queue size or connecting state changes. * pan/gui.c: register for the queue's callbacks, so that the status bar can be updated when the queue changes. * pan/queue.c: removed dependency from `remove_failed_tasks' globals: this is now passed in via queue_init() and queue_set_remove_failed_tasks(). * pan/pan.c: sync call to queue_init(). * pan/prefs.[ch]: remove `remove_failed_tasks' global. 2002-11-23 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/prefs.c: added the `single click selects, rather than activates' option back in by popular demand. * pan/articlelist.c: same. * pan/grouplist.c: same. 2002-11-20 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/pan.c (restore_tasks_dialog): fix race condition that could cause Pan to crash on startup when the ``restore tasks'' dialog popped up. (99095) * pan/flagset.c: fixed memory leak when clearing flag list. (Valgrind) (Tweaks) * pan/flagset.c: remove the flagged/unflagged callback, since articlelist's dirty-messages messageidset can handle the refresh with a lot less work. * pan/base/pan-callback.h: Remove an unnecessary level of indirection from PanCallback's opaque data type. * pan/gui.c: clean up the log message callback handlers. * pan/gui.c: use g_alloca instead of g_malloc when appropriate. * pan/task-manager.c: same. * pan/base/util-mime.c: same. * pan/util.c (pan_info_dialog): make gui-threadsafe. * pan/util.c (pan_error_dialog): same. * pan/util.c (pan_error_dialog_parented): same. * pan/grouplist.c: removed some cruft from remove & refresh routines. 2002-11-19 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/util.c (pan_hig_frame_new): fix minor memory leak. (Valgrind) * pan/task-save.c (get_unique_fname): same. * pan/articlelist.c (articlelist_reset_style_nolock): same. * pan/dialogs/dialog-group-props.c (group_properties_response_cb): same. * pan/articlelist.c (articlelist_button_press): fix minor type error. * pan/util.c (pan_gtk_entry_set_text): fix minor gtk warning. (I18N Improvements) * pan/message-window.c: remove i18n strings by reusing similar strings. * pan/gui-headers.c: same. * pan/thread-watch.c: same. * pan/task-grouplist.c: same. * pan/base/file-headers.c: same. * pan/base/util-file.c: same. * pan/base/decode.c: same. * pan/base/newsrc-port.c: same. * pan/dialogs/dialog-newuser.c: same. * pan/identities/identity-edit-ui.c: same. (Tweaks) * pan/grouplist.c (group_popup_entries): reordered the popup menu items so that the delete-all and mark-all-read buttons are at the bottom next to `delete group', less likely to get clicked by accident. (93713, Gollum) * pan/base/pan-glib-extentions.c (pan_g_ptr_array_has_sorted): new func. * pan/messageidset.c: reimplement with a sorted ptr array set rather than the more heavyweight hashtable. * pan/base/acache.[ch]: changed the semantics of the cached/uncached callbacks to allow multiple message-ids to be batched into a single callback. * pan/articlelist.c: reuse `refresh_articles_from_message_id_array_cb' for acache callback handling; remove the old acache callback handler. * pan/base/pan-glib-extensions.c (pan_utfize): add GError logging. 2002-11-18 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/text.c (text_read_more_impl): if there is more of the current article to read, then the space key should scroll to the next page, even if the header or group pane's selection has changed. Jump to the new selection only after we've reached the bottom of the current article. (91365, Arcterex) * pan/articlelist.c (articlelist_selection_changed_cb): Hmm, today's tweaks overlooked the idea that it's _good_ to have the last article body hang around a bit in the text pane until the next article's done downloading. That way you can look at the last picture, rather than a blank window, until the next one's been downloaded. 2002-11-18 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/server-menu-ui.c (server_activated_cb): fix small memory leak. (Valgrind) * pan/status-item-view.c: added a mutex for accessing the last_status string. This was being read in one thread and changed in another. (Valgrind) 2002-11-18 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/articlelist.c (articlelist_selection_changed_cb): modify the selection behavior a little bit when deciding whether or not to activate an article on selection. There are fewer states to track in the new code and IMO it's more pleasant to use. * pan/text.c (text_set_from_identifiers): if 0 identifiers are passesd in, then clear the display. * pan/articlelist.c (articlelist_selection_changed_cb): modify the selection behavior somewhat to clear the text pane when the selected article hasn't been activated. (89959, Bas Mevissen) 2002-11-18 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/nntp.c (nntp_article_download): set the `STATE_ERROR' flag on articles which can't be downloaded. This added the red x back into the header pane when trying to read expired articles. (93169, Leonard Nutley) 2002-11-18 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/article-actions.c (article_supersede): Fixed domain-mangling bug that broke the Supersede function. (Chill) * pan/text.c (text_read_more_impl): Fixed bug that broke space reading when the subject contained 8bit data. (89281, Christian Lohmaier) 2002-11-18 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/article-thread.c (thread_articles): Fixed a bug in determining the multipart state of articles (SOME, ALL, NONE). The loop zeroed out the states of some children after they'd already been calculated earlier in the loop. (93894, Gollum) * pan/dialogs/dialog-newuser.c (dialog_newuser): fixed format error in the "Thank you for trying Pan!" welcome message. :) 2002-11-16 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/article-filter-ui.c (article_filter_dialog_new): don't convert author & subject to UTF-8, since they're already in UTF-8. This broke bozo & spam filters on 8bit data. (Tweaks) * pan/dialogs/dialog-newuser.c (dialog_newuser): changed the welcome string to be more i18n-friendly. (98334, Christian Rose) * pan/message-window.c (append_signature): if the signature file is not an absolute path, assume it's in the user's home directory. 2002-11-14 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-content-type.c (g_mime_content_type_new_from_string): #include "gmime-table-private.h" and use is_ttoken() to correctly parse type/subtype. Fixes bug #98463. 2002-11-14 Charles Kerr <charles@rebelbase.com> * pan/text.c: instead of looking for text/plain and text/html, just match on text/* and treat it as plaintext. This should handle more gracefully messages whose text subtype is corrupt. (98463, Martin Schrode) * pan/messageidset.c: for most uses there are only a few message-ids in the set, so g_strdup/g_free has less overhead than a GStringChunk. * pan/articlelist.c: tidy up & comment the node refresh changes. 2002-11-14 Charles Kerr <charles@rebelbase.com> (Speedups) * pan/articlelist.c: throw away about 400 of the most tricky and complex lines of code in favor of the periodic timer function "refesh_dirty_messages". This is called a few times per second to refresh in the header pane any changed articles. These changes are batched up due to the high overhead involved in refreshing the GUI for each individual article state change. * pan/messageidset.c: new helper class for articlelist.c. 2002-11-13 Charles Kerr <charles@rebelbase.com> (Bug Fix) * pan/nntp.c (nntp_download_headers): strip the subject, author, date, message-id, and references headers before using them. This fixes a wart when a message-id came in with a leading or trailing space -- GMime strips them, so the Article* and GMimeMessage message-ids differed, which broke a few things including space reading. (#98424) (Speed Tweaks) * pan/articlelist.c: add _article_ctree and _article_clist to avoid excessive downcasting of Pan.article_ctree. * pan/articlelist.c (articlelist_get_next_article_not_in_list): since the article array we're being passed in is sorted by message-id, we can bsearch that array instead of creating a local lookup table. * pan/articlelist.c (find_prev_article): only look up the `top' node if we actually need it. 2002-11-11 Christophe Lambin <clambin@easynet.be> * pan/gui.c (gui_construct/gui_shutdown): Pan now retains custom accelerator keys (shortcuts) between sessions. (Duncan) * pan/dialogs/dialog-newuser.c (dialog_newuser): fixed obsolete link. (Tom F) 2002-11-07 Christophe Lambin <clambin@easynet.be> Pan 0.13.2 Released! 2002-11-05 Christophe Lambin <clambin@easynet.be> * pan/message-window.c: sync w/ pan-0-13-fix (97772) 2002-11-04 Charles Kerr <charles@rebelbase.com> * pan/task-manager.c: Sync with 0-13-fix task manager bugfixes. (97527, Don Horsman) * pan/filter-mediator.c (rebuild_custom_filter_menu_with_filters): Properly handle custom filters whose names include underscores. (#97602, Carl Soderstrom) 2002-11-02 Charles Kerr <charles@rebelbase.com> * pan/articlelist.c (articlelist_expand_selected_threads): add freeze/thaw calls to make expanding selected threads less slow. Fixes (#97536). * pan/text.c: add some comments; rearrange some code blocks for readability. Add call to gui_page_set _before_ rebuilding the textbuffer's contents to fix #97535. 2002-10-27 Christophe Lambin <clambin@easynet.be> * pan/prefs.c: sync w/ pan-0-13-fix (95343) 2002-10-25 Charles Kerr <charles@rebelbase.com> * pan/base/pan-config.c: write bools out as "true" or "false" rather than 1's and 0's. * pan/base/pan-config.c: write ulongs out as unsigned longs. 2002-10-21 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-stream-filter.c: Backported a 64bit cleanliness patch from GMime HEAD. 2002-10-21 Christophe Lambin <clambin@easynet.be> * pan/articlelist.: sync w/ pan-0-13-fix (96258) 2002-10-17 Christophe Lambin <clambin@easynet.be> * pan/text.c: sync w/ pan-0-13-fix (cursor key scrolling) 2002-10-16 Charles Kerr <charles@rebelbase.com> * pan/text.c: sync w/ pan-0-13-fix (95893) * gmime/gmime-filter-html.[ch]: same. * pan.desktop.in: sync w/ pan-0-13-fix (95934) 2002-10-15 Christophe Lambin <clambin@easynet.be> * pan/save-ui.c: sync w/ pan-0-13-fix (94540) * pan/message-window.c: sync w/ pan-0-13-fix (95478) 2002-10-14 Charles Kerr <charles@rebelbase.com> g_type casting seems to have more overhead than in gtk 1.2, so articlelist now holds GtkCTree* and GtkCList* pointers to the tree widget to avoid unnecessary casting. 2002-10-13 Christophe Lambin <clambin@easynet.be> Pan 0.13.1 Released! 2002-10-08 Christophe Lambin <clambin@easynet.be> * pan/base/gnksa.c (tzoffset_sec): fixed incorrect timezone for New Zealand Daylight Time. (95159, Adam Warner) 2002-10-06 Christophe Lambin <clambin@easynet.be> * pan/util.c (pan_gtk_entry_set_text): use pan_header_to_utf8() to convert to UTF-8, so that quote-encoded headers are properly displayed and posted in follow-ups. 2002-10-06 Christophe Lambin <clambin@easynet.be> Pan 0.13.0.92 Released! 2002-10-04 Jacob Ilsø Christensen <firelake@stofanet.dk> * pan/task-manager.c: restored column width restore/save * pan/gui.c (gui_save_column_widths_tree_view): new function that saves column widths for GtkTreeViews (gui_restore_column_widths_tree_view): new function that restores column widths for GtkTreeViews * pan/gui.h: Added gui_restore_column_widths_tree_view and gui_save_column_widths_tree_view 2002-10-03 Christophe Lambin <clambin@easynet.be> * pan/task-manager.c (task_manager_build_ui): merged back the changes for #79270, after Jacob accidently removed them. Welcome to the team, Jacob. :) 2002-10-03 Jacob Ilsø Christensen <firelake@stofanet.dk> * pan/task-manager.c: converted the task-manager to use GtkTreeView. This also fixes (85442, Gabi Davar) and (80276, bloch@verdurin.com) * pan/queue.c (real_queue_move_tasks): fixes problem occuring when moving all tasks. 2002-10-02 Christophe Lambin <clambin@easynet.be> * pan/prefs.c (cache_page): increased maximum cache size to 20GB. (94684, Duncan) 2002-09-29 Christophe Lambin <clambin@easynet.be> * pan/articlelist.c (set_group_worker): prevent multiple groups from loading at the same time. This fixes at least one crash due to race conditions in article-toolbar.c 2002-09-28 Christophe Lambin <clambin@easynet.be> * pan/base/gnksa.c (gnksa_check_address): fixed bug which would convert email addresses for all incoming headers to lower case. As a result, filters on email addresses would not work as expected. 2002-09-27 Christophe Lambin <clambin@easynet.be> * pan/base/acache.c (acache_init): create the internal server (folders) before starting the cache indexing thread. This fixes a race condition between that thread and update_menu_idle(), which produced a burst of 'server_is_valid' assertion failures on startup. 2002-09-27 Charles Kerr <charles@rebelbase.com> * pan/text.c (set_text_from_message_nolock): Pan now tries to show headers `as-is' when `show all headers' is toggled on. (91532, Christian Lohmaier) * pan/gui.c: change the latency time between gui refreshes from 220 msec to 100 msec. * pan/task-manager.c: In the toolbar, move the button text to tooltips. In some locales the text made the task manager too wide for small screens. (79270, Kang Jeong-Hee) * pan/gui.c (gui_add_network_button_to_toolbar): Determine the icon size from the toolbar's size prefs. Previously we used ICON_SIZE_TOOLBAR_SMALL, which was wrong for the task manager's toolbar. * pan/pan/xpm (icon_online.png, icon_offline.png): tweaks to make them look a little better when stretched in the task manager and main window's toolbars. 2002-09-26 Jacob Ilsø Christensen <firelake@stofanet.dk> * pan/server-ui.c: added column sorting. Only respond to double-clicks when clicking on a row. 2002-09-23 Charles Kerr <charles@rebelbase.com> * pan/base/util-file.h: clean up API and documentation. * pan/base/util-wrap.h: clean up API and documentation. * pan/filter-mediator.c: added custom filters back into the gui -- in the Filter menu -- so that they can be applied to the header pane. * pan/gui.c: moved the `select servers' to the main Server menu, rather than a cascading menu. 2002-09-21 Christophe Lambin <clambin@easynet.be> Pan 0.13.0.91 Released! 2002-09-20 Charles Kerr <charles@rebelbase.com> * pan/base/decode.c: more GMime refcount fixes. Thanks to James Hawtin for reporting these. * pan/text.c: more GMime refcount fixes. * pan/message-window.c: more GMime refcount fixes. 2002-09-19 Charles Kerr <charles@rebelbase.com> * pan/server-ui.c: Applied patch from Jacob Ilsø Christensen which replaces the GtkCList with a GtkTreeView. * pan/base/util-mime.c: fix major refcount bugs of GMime objects. This caused both memory and file dscriptors to be leaked. (91916, John Portnoy) (93538, oolon) 2002-09-18 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: add support, turned on by default, to not use custom fonts for the group/header/article panes. * pan/grouplist.c: sync. * pan/articlelist.c: sync. * pan/text.c: sync. 2002-09-17 Charles Kerr <charles@rebelbase.com> * pan/queue.c: fix minor g_warning() that was tickled by going offline. 2002-09-17 Christophe Lambin <clambin@easynet.be> * pan/message-window.c: wrap the attribution line if required. Thanks to Steve Fox for suggesting this. (#89539) * pan/articlelist.c: fixed problem where ctrl-end would retrieve the last message in the articlelist. Thanks to Jacob Ilsø Christensen for reporting this and sending in a patch. 2002-09-17 Charles Kerr <charles@rebelbase.com> * pan/server-menu-ui.c: key the menu selection off of menu name, rather than index in the Server array. This fixes a 0.13.0 server selection bug. (Johann Glaser, 92645) (Alen Williams, 91348) (Stephen Beahm, 91212) * applied patch from Panagiotis Issaris that sets the policies of all scrollbars to automatic. 2002-09-17 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-charset.c (g_mime_charset_name): Sync with cvs GMime. Fixes bug #92646. 2002-09-16 Christophe Lambin <clambin@easynet.be> * pan/group-action.c: fixed crash when a user would try to get new headers in a folder. Thanks to Gollum for reporting this. (#93449) 2002-09-15 Christophe Lambin <clambin@easynet.be> Pan 0.13.0.90 Released! 2002-09-14 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: patch from Jacob Ilsø Christensen to disable the "smooth scrolling" spinbutton if the user has unset the smooth scrolling checkbox. * pan/articlelist.c: added code for flagging articles more like Agent: if the selected article is closed, then the flag/unflag operation recurses down to the hidden child articles. Thanks to o.t for suggesting this. (#90388) * pan/base/util-mime.c (pan_g_mime_message_get_group): try harder to extract a valid group from the Newsgroups: header. This should help the `default_charset' variable get found correctly even for crossposts. * pan/prefs.c: fixed a small leak. Thanks Valgrind. * pan/base/server.c: ditto. 2002-09-13 Charles Kerr <charles@rebelbase.com> * pan/gui.c: implemented the reverse-read-more function (read less? :) Thanks to o.t for suggesting this. (#90087) * pan/text.c: sync. * pan/prefs.c: minor layout tweak. * pan/base/serverlist.c: fix compiler warning I introduced earlier. * pan/base/serverlist.h: remove dup #define of INTERNAL_SERVER_NAME 2002-09-13 Christophe Lambin <clambin@easynet.be> * pan/gui.c: fixed 'Newsgroups / Get New Headers and Bodies'. Thanks to Devilkin for reporting this. (#92833) 2002-09-13 Charles Kerr <charles@rebelbase.com> * pan/base/serverlist.c: when a server is activated for the first time, import its .newsrc if newsrc files are turned on. * pan/base/server.c (server_destructor): if .newsrc files are turned on for this server, export the grouplist there. 2002-09-12 Christophe Lambin <clambin@easynet.be> * pan/gui.c: Pan now remembers its window position. Thanks to Marc Deslauriers for suggesting this and sending in a patch. (#88260) * pan/save-ui.c: don't save the attachment when the user presses the escape key. Thanks to Nicolas Girard for reporting fix. (#93092) 2002-09-12 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: Hack on prefs dialog a bit in a misguided attempt to make all the mnemonics unique 2002-09-10 Charles Kerr <charles@rebelbase.com> * pan/article-find.c: Add hig spacing, alignment, mnemonics * pan/dialogs/dialog-headers.c: same. * pan/dialogs/dialog-group-props.c: same. * pan/prefs.c: The draft prefs dialog is done & ready for feedback 2002-09-10 Christophe Lambin <clambin@easynet.be> * pan/message-window.c: add the encoding to the GMimeMessage. Thanks to Christian Lohmaier for reporting this. (#90760) 2002-09-09 Christophe Lambin <clambin@easynet.be> * pan/message-window.c: merged back pan-0.12.1 fix for (#85502). This fixes message corruption in the composer when a signature contains 8bit characters. 2002-09-09 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: more hig work. * pan/identities/identity-edit-ui.c: same. 2002-09-06 Charles Kerr <charles@rebelbase.com> * gmime: resync with GMime cvs head 2002-09-05 Charles Kerr <charles@rebelbase.com> * pan/gui.c: sync some of the menu icons with the toolbar icons. * pan/gui.c: added `get new in subscribed groups' back to the menu. * pan/server-ui.c: obscure the server password. Thanks to Jacob Ilsø Christensen for suggesting this. 2002-09-04 Charles Kerr <charles@rebelbase.com> * pan/base/server.h: remove the gen_msgid flag; this seems to be a feature that leaves people scratching their heads. Instead let's just always generate the Message-ID and see if anyone complains. Most NNTP servers overwrite it with their own anyway... 2002-09-04 Charles Kerr <charles@rebelbase.com> * pan/articlelist.c: make the default fg/bg theme-friendly by having the unread color be the widget's fg color, and the read color be partway between the widget's fg and bg colors. * pan/articlelist.c: keep the normal and new-replies font in sync by deriving one from the other: the new-replies font is now the normal font + boldface. * pan/prefs.c: sync. 2002-09-04 Charles Kerr <charles@rebelbase.com> * pan/identities/identity-edit-ui.c: HiG improvements: follow new dialog layout and keyboard navigation guidelines * pan/gui.c: remove `...' from a couple of menu items that don't need them. * pan/xpm/icon_server.png: updated to use one of jimmac's icons which looks better and is the right size. * pan/server-ui.c: fixed a section title typo; update the server list in the main menu when closing the dialog; make we default to port 119 for new news servers. 2002-09-01 Charles Kerr <charles@rebelbase.com> * pan/smtp.c: Fix memory trashing caused by forwarding mail. Thanks to Frederic Crozat for reporting this bug & sending in a patch. 2002-08-26 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: removed `article body date format' crack * pan/prefs.c: removed `set wrap column' crack * pan/newsrc-ui.[ch]: removed these functions. * po/POTFILES.in: sync. * pan/gui.c: sync. * pan/server-ui.c: minor layout improvements. 2002-08-26 Charles Kerr <charles@rebelbase.com> * pan/server-ui.[ch]: added max connections, reserve socket for reading. * prefs.c: removed Online Settings tab. * gui.c: sync. * task-manager.c: sync. 2002-08-26 Charles Kerr <charles@rebelbase.com> * pan/base/serverlist.c: save/restore newsrc flag & filename * pan/prefs.c: removed news server and .newsrc tabs * pan/server-menu-ui.[ch]: new module holding old serverlist menu code * pan/server-ui.[ch]: landed the new `edit news servers' dialog * pan/filter-ui.c: sync sidebar buttons with server dialog * pan/rules/rule-ui.c: sync sidebar buttons with server dialog 2002-08-25 Christophe Lambin <clambin@easynet.be> * pan/text.c (text_create): hide the cursor in the text window. Thanks to Joe Drew for suggesting this. (#89002). * configure.in, pan.spec.in: bumped gtkspell version to 2.0.2. 2002-08-23 Christophe Lambin <clambin@easynet.be> * pan/text.c (get_url_from_location): translate the coordinates from a (scrolled) window to the text buffer. This fixes the problem where URLs were not clickable when the reader had scrolled down the article. (#89290) * gmime/gmime-message-part.c: build fix for Alpha. Thanks to Kaj-Michael Lang for reporting this. (#91523) 2002-08-21 Charles Kerr <charles@rebelbase.com> * pan/save-ui.c: committed the new `save article as...' dialog 2002-08-18 Charles Kerr <charles@rebelbase.com> Pan 0.13.0 Released! 2002-08-18 Christophe Lambin <clambin@easynet.be> * pan.spec.in: sync. w/ configure.in's requirement for gtkspell 2.0.0 2002-08-16 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: fix some quoting problems with the "xterm -e" commands for external editors and web browsers. * pan/flagset.c (flagset_remove_articles): Fixed 0.12.90 bug that broke article unflagging. Thanks to Johan Ovlinger for reporting this bug. (#90966) 2002-08-15 Charles Kerr <charles@rebelbase.com> * pan/base/util-file.c (mbox_format_message): remove unused func. * pan/base/util-file.c (mbox_get_next_message): same. * pan/base/article.c (article_get_header_run_hash_from_text): same. * pan/base/run.[ch]: remove unused module. * replaced `g_string_sprintfa' with `g_string_append_printf' * replaced `g_string_sprintf' with `g_string_printf' * pan/base/newsrc.c (newsrc_get_read_str): made a little safer by using a GString instead of a `this should be big enough' buf. * pan/dialogs/dialog-newusr.c: made a little safer by using g_snrpintf instead of sprintf * pan/smtp.c (smtp_send_message): fix 0.12.90 bugs that prevented mail from being sent properly. Thanks to Mark Derricutt for reporting these bugs and submitting patches. 2002-08-13 Charles Kerr <charles@rebelbase.com> * pan/base/acache.c: added the `walk through the cache' code into a background thread so that startup time isn't killed when the cache is large. Thanks to Bas Mevissen for suggesting this. (#89455) 2002-08-12 Charles Kerr <charles@rebelbase.com> * pan/articlelist.c: replace "usleep" with "g_usleep" for (a) Win32 portability and (b) to fix a SIGALRM condition on Solaris 2.6 machines. * pan/articlelist.c: fix 0.12.9x bug that caused the "get new headers" tasks to be added to the end of the Task Manager queue, rather than the beginning. Thanks to Sam Solon for reporting this bug. * pan/dialogs/dialog-newuser.c: Fix glib warning. Thanks to Lars Bamberger for reporting this bug. * pan/filters/filter_manager: Fix bug that caused bozo/spam filters to not be created for new users. Thanks to Bas Mevissen for reporting this bug. (#90491) * pan/text.c: run the `all headers' in `show all headers' through pan_header_to_utf8() just in case they have illegal encodings. (Forte Agent 1.91/32.564) 2002-08-11 Charles Kerr <charles@rebelbase.com> * pan/gmime/gmime-iconv.c: update to newer snapshot of this code. This should help fix #90261. * pan/group-ui.c (new_folder_response_cb): fixed minor memory leak. Thanks to valgrind for finding this. * pan/rules/rule-edit-ui.c (move_selected_newsgroups): same. * pan/text.c (motion_notify_event): same. * pan/filter-ui.c: replaced the "ok" button with a "close" button. * pan/util.c (pan_dialog): same. 2002-08-11 Charles Kerr <charles@rebelbase.com> Pan 0.12.94 Released! 2002-08-10 Charles Kerr <charles@rebelbase.com> * replaced the 'ok' stock button in some of the dialogs with a more descriptive button (save, new, open, execute, etc...) 2002-08-09 Charles Kerr <charles@rebelbase.com> * configure.in: gtkspell 2.0.1 has problems, so force the user to have 2.0.0 installed if they want to use spellchecking. * pan/articlelist.c (articlelist_menu_poopup_nolock): fix bug that caused new folders to not appear in the popup menu. * pan/message-window.c: use gtk's builtin accelerators for the stock menuitems. * pan/util.h: remove unused prototypes. * pan/base/pan-glib-extension.c (pan_stristr): remove unused function. * pan/base/pan-glib-extension.c (commatize_ulong): same. * pan/base/pan-glib-extension.c (pan_g_convert_to_utf8): same. * pan/base/pan-glib-extension.c (get_lang_from_locale): same. * pan/base/pan-glib-extension.c: remove unused strings. * pan/group-store.[ch]: removed unused files. 2002-08-08 Charles Kerr <charles@rebelbase.com> * pan/base/pan-glib-extensions.c (pan_body_to_utf8): use the group's default charset if the one specified in the message's Content-Type header turns out to be a lie. Shame on you KNode/0.7.1! :) * pan/base/pan-glib-extensions.c (pan_body_to_utf8): silence false "some parts may not be displayed" warnings by using it only when g_utf8_validate() fails. 2002-08-08 Christophe Lambin <clambin@easynet.be> * pan/articlelist.c: utf8ize the date string. * pan/base/pan-glib-extensions.c: fallback is locale to utf-8, not the other way around. :) 2002-08-07 Charles Kerr <charles@rebelbase.com> * pan/articlelist.c: more hacking on 90068; Chris said that the patch earlier today actually hurt things on his end. On investigation I found why I was getting truncations on my Solaris box: g_convert() fails on strings like "juergen.beigang@epost.de (Jürgen Beigang)" to UTF-8, but gmime's iconv utils work. Maybe one is using Solaris' iconv and the other is using GNU's? 2002-08-07 Charles Kerr <charles@rebelbase.com> * pan/prefs.c: added "galeon --new-tab" to the dropdown list of browsers in the preferences dialog. Thanks to Martin Tomasek for suggesting this. (#89510) * pan/articlelist.c: fix bug that wasn't converting text to UTF-8 before populating the header pane, causing some strings to be truncated or lost. Thanks to Christian Lohmaier for reporting this bug. (#90068) * pan/rules/rule-edit-ui.c: A couple of strings needing translation weren't marked for translation. Thanks to Pablo del Campo for reporting this bug. (#90115) * pan/gui.c (main_menu_entries): fix accelerator typo. Thanks to Duarte "HappyGuy" Loreto for reporting this bug. * pan/base/pan-glib-extensions.c (pan_body_to_utf8): new function that tries a little harder to convert text into UTF-8, even if OE posted it in a broken form. Thanks to Christian Lohmaier for reporting this bug. (#90067) 2002-08-06 Charles Kerr <charles@rebelbase.com> --> BREAKING THE STRING FREEZE <-- * pan/gui.c: change "Read" to "Reading" to avoid symantic collision. Thanks to Benjamin Greiner for reporting this bug. (#90036) * pan/prefs.c: * pan/gui.c: * pan/gui-headers.c: * pan/message-window.c: Don't do things like #define HEADER_SUBJECT "Subject" char * foo = _(HEADER_SUBJECT); Because they don't translate properly. Thanks to Benjamin Greiner for reporting this bug. (#90041) * pan/dialogs/dialog-about.c: fix UTF-8izing credit strings. Thanks to Benjamin Greiner for reporting this bug. (#90045) 2002-08-04 Charles Kerr <charles@rebelbase.com> Updated all the copyrights to restrict to GPL version 2. Who knows what will be in future versions? If it's good, _then_ we'll update our license. 2002-08-04 Charles Kerr <charles@rebelbase.com> * pan/message-window.c: Fixed keyboard accelerator bug. Thanks to Philippe Gramoull for reporting this bug. * pan/task-xml.c: fixed a couple of minor memory leaks. * pan/task-xml.c: * pan/filters/filter-xml.c: * pan/rules/rule-xml.c: * pan/identities/identity-xml.c: const-ifying appropriate functions. 2002-08-04 Charles Kerr <charles@rebelbase.com> Pan 0.12.93 Released! 2002-08-03 Charles Kerr <charles@rebelbase.com> * pan/base/message-identifier.c (message_identifiers_mark_read): new function that handles all the cross-references with a minimum amount of events fired. * pan/base/decode.c: call message_identifiers_mark_read(). Fixes a 0.12.90 bug that decoding articles didn't mark them as read. Thanks to Aaron Digulla for reporting this bug. (#88729) 2002-08-03 Charles Kerr <charles@rebelbase.com> More waffling on spellchecking: rather than disabling by default, Pan enables automatically if gtkspell is installed, and disables if not. Also better handle error codes from gtkspell_init(). Thanks to Evan Martin for reporting this. 2002-08-02 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * configure.in: disable gtkspell by default. gtkspell is cool but I'm getting too many bug reports from aspell crashing when it can't find config files, etc. * pan/message-window.c (populate_post_info_pane): Fixed crash that occurred when composing messages. Thanks to DevilKin for reporting this bug. (#89603) * pan/task-post.c (build_nntp_message): make sure the message-id header doesn't get folded, because this annoys some NNTP servers. Chris reported this bug. (#88100) * pan/task-post.c (build_nntp_message): apply a gmime charset filter to each part that has a charset defined, because the files are read in from disk in UTF-8. Thanks to Martin Tomasek for being the first of many to report htis bug. (#88670) 2002-08-01 Christophe Lambin <clambin@easynet.be> (Bug Fixes) * pan/text.c (append_text_buffer_nolock): added Charles' hunch for fixing the crashes when mousing over URLs. (#89584) 2002-08-01 Charles Kerr <charles@rebelbase.com> (Removing Crackpipe Features) * removed the group `nickname' feature. Only one person has ever commented to me about using it, and it was just a stopgap measure until "View|Abbreviate Group Name" was implemented. * removed automatic generation of the X-Comment-To header, to see if any fidonet users complain. 2002-07-30 Charles Kerr <charles@rebelbase.com> (https) * pan/text.c: handle https:// urls. * pan/util.c: same. Thanks to Adam Huffman for suggesting this. (#89293) 2002-07-30 Charles Kerr <charles@rebelbase.com> Pan 0.12.92 Released! 2002-07-30 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/gui-headers.c: Headers above the body pane now use the right charset. Thanks to Toivo Leedjarv for reporting this bug. (#87065) * pan/base/article-thread.c: round 2 of the 'save-as' dialog bug. Now the problem is making sure that small followups to a multipart aren't themselves flagged as multiparts because of the (01/256) in their subject. * pan/articlelist.c: check the multipart state before popping up the "save as" dialog as a default action; that doesn't make sense as the default action of an incomplete multipart. 2002-07-30 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/task-post.c: * pan/message-window.c: Fix the bug that cut out the "Newsgroups:" header of posted messages before pushing them to pan.sent. * gmime/gmime-message.c: Sync with gmime head to fix minor bug. (Tweaks) * pan/message-window.c: set the focus in the correct widget, whether it's a new message or a followup. * pan/message-window.c: set the insert point to the correct place (before a sig, after the quotes) in the compose window. 2002-07-29 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/base/article-thread.c: fixed bug that caused some articles to incorrectly be marked as incomplete binaries. Thanks to Adam Huffman for reporting this bug. * pan/articlelist.c: same. 2002-07-29 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's add'l charsets. (#88669) 2002-07-29 Charles Kerr <charles@rebelbase.com> (Keeping up with Fejj) * gmime: resync with GMime CVS HEAD. Looks like it's about time to cut out GMime and rely on it as an outside library. * pan/base/decode.c: fix extra yenc info to work with GMime2 * pan/base/util-mime.c: same. * pan/text.c: same. (Strings) * merged similar strings to reduce the total number of strings that translators have to slog through. * for consistency, always use "quotes" instead of `quotes' or ``quotes''. * pan/filter-edit-ui.c: fixed string typo -- missing ")" * pan/pan-config.c: remove extra linefeed from a log message * pan/gui.c: Use "Followup" instead of "Follow-Up" 2002-07-29 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-parser.c (parser_step_headers): When refilling, make sure that the refilled buffer is larger than the buffer was before refilling, otherwise break out of the loop and parse whatever is left. Fixes bug #89260 on bugzilla.gnome.org 2002-07-28 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/article-actions.c (article_cancel_dtor): fixed bug that crashed Pan after the user cancelled an article. Thanks to Martin Tomasek for reporting this bug. (#88671) * pan/gui.c: the 'followup-to' toolbar button actually invoked the reply window instead of followup-to. Thanks to Brian Morrison for reporting this bug. (#88257) (Bug Fixes - More Valgrind) * pan/base/util-mime.c (separate_encoded_parts): fixed ugly UMR that occurred in obscure circumstances. * pan/base/pan-config.c (pan_config_load): fix another minor leak. * pan/message-window.c (post): Fixed a leaked GMimeMessage. 2002-07-27 Charles Kerr <charles@rebelbase.com> (Bug Fixes - Valgrind Found all these Leaks!) * pan/save-ui.c: fixed a memleak. * pan/message-window.c (remove_custom_headers): same. * pan/message-window.c (populate_message_from_mw): same. * pan/identities/identity-edit-ui.c (identity_from_headers_tab): same. * pan/base/message-check.c (check_mail_addresses): fixed _two_ leaks... * pan/identities/identity-edit-ui.c (identity_close_cb): and two more! * pan/base/gnksa.c: removed unused variable. 2002-07-26 Christophe Lambin <clambin@easynet.be> * fixed a memleak I introduced yesterday. Charles found this one. 2002-07-26 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/text.c (text_read_more): if the current article is queued, jump to the next article instead of requeueing the first article. This was apparently used in 0.11.x to the space key across a handful of articles to download them in a quick burst. Thanks to Alan for reporting this bug. (#88969) (Portability) * configure.in: add a check for ssize_t, and if we don't have it, typedef it to a long. Check one item of the mingw port checklist... :) 2002-07-25 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix changes for external editors and charsets. (#85289) 2002-07-25 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/articlelist.c (articlelist_read_article): Don't crap out if article==NULL. Thanks to Kevin for reporting this bug. (#88921) * pan/base/article-thread.c (normalize_subject): Handle subjects like "some text (1of2).part01.P01 (1/45)". We were incorrectly stripping out the "(1of2)" substring, which messed up threading. Thanks to Roman Moller for reporting this bug. (#82751) (Tweaks) * pan/base/pan-glib-extensions.c (pan_header_to_utf8): small tweaks to try to avoid extra malloc/free calls and get rid of an unused helper functions. * pan/base/article.c: sync. * pan/base/nntp.c: sync. 2002-07-24 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's charset changes for the articlelist. 2002-07-24 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/gui.c: remove the "tasks running; are you sure you want to quit?" dialog -- the tasks will just be reinstated when they restart Pan. (Bug Fixes) * pan/task-post.c: if the server has the "don't generate Message-ID" togglbutton checked, don't send a Message-ID header in new posts. Thanks to Markus Schorpp for reporting this bug. (#88092) * pan/base/decode.c: If we run out of disk space while saving an attachments, log an error and fail the task. Previously Pan didn't check for write errors and marked the article as saved. Thanks to Wolfgang Karall for reporting this bug. (#79993) * pan/base/file-headers.c: same, for headers * pan/base/file-grouplist.c: same, for grouplist * pan/base/util-file.c: same, for copying files 2002-07-23 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/group-ui.c: allow new folders to have capital letters. Thanks to Himanshu Gohel for reporting this bug. (#74892) 2002-07-22 Charles Kerr <charles@rebelbase.com> Pan 0.12.91 Released! 2002-07-22 Charles Kerr <charles@rebelbase.com> (Signatures) * If the user-specified signature file is executable, run it and use its output as the signature. (Bug Fixes) * pan/text.c (text_refresh): call set_current_message() instead of set_current_message_impl(). This fixes a problem with "show all headers" not refreshing the text pane. Thanks to DevilKin for reporting this bug. (#88790) * pan/message-window.c (rot13_cb): fix memory leak. * pan/group-actions.c (group_action_selected_update_count): same. (Tweaks) * pan/group-actions.c (start_task_headers): add all the header tasks to the queue in a batch, rather than one at a time, so that tasks.xml only gets written once. 2002-07-21 Charles Kerr <charles@rebelbase.com> (Tweaks) * tweaked a lot of places calling g_string_free (gstr, FALSE) to use glib2's new retval for this func. * pan/message-window.c: moved some information out of public header into private implementation. 2002-07-20 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/message-window.c (make_reply_window): fix dangling pointer error. Thanks to ccmalloc for finding this bug. * pan/base/article-thread.c (thread_articles): fix possible malloc(0). Thanks to ccmalloc for finding this bug. * pan/base/acache.c: fixed a couple of g_warnings. * pan/base/pan-config.c: * pan/base/serverlist.c: added debug_enter/debug_exit calls. 2002-07-19 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-iconv-utils.c (g_mime_iconv_strndup): Fix a logic mistake in the calculation of the number of bytes converted. 2002-07-19 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/acache.c: fix crash that occurred when trying to read expired articles. Thanks to Alex Jaques for reporting this bug. (#88665) * pan/text.c: * pan/gui.c: * pan/message-window.c: Fix refcount bug with get_current_message(). I think this is what's been causing the crash-on-followup bug. Also left in some odebug scaffolding in these files to help testing by CVS users for the next few days. (Tweaks) * pan/nntp.c: * pan/task-xml.c: small tweaks to make log messages more useful. 2002-07-18 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/message-window.c: added ctrl-return back in as the shortcut for "send now". Thanks to Laurent Duperval for reminding me. (#88386) * sync: with pan-0-12-fix's fix for not checking the user's setting of get-new-headers-in-subscribed-on-startup. (#88255) * pan/base/acache.c: silence a harmless g_warning. (Tweaks) * pan/pan.c: make the "restore tasks from last session?" dialog a little prettier by using the GtkMessageDialog. 2002-07-18 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's fix for crashing when editing filters from a rule. (#86215) 2002-07-16 Charles Kerr <charles@rebelbase.com> (Tweaks) * pan/base/pan-config.c: reduce the number of memory allocations/frees required to query pan-config. 2002-07-15 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's 'one "get headers" dialog for all selected groups' update. 2002-07-15 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * pan/gui.c: Fixed 0.12.0 bug the prevented the toggle "Show Group Pane", "Show Header Pane", and "Show Body Pane" buttons from working right. Thanks to Mike Robinson for reporting this bug. (#86881) * pan/filter-edit-ui.c: Fixed minor 0.11.90 bug. When the user clicks on a line, such as the text entry field in the subject/message-id line, then the radiobutton on that line is supposed to select itself automatically, but in the upgrade to gtk2 I flubbed that code. 2002-07-14 Charles Kerr <charles@rebelbase.com> (Usability) * pan/text.c: change the mouse pointer from GDK_XTERM to GDK_HAND2 whenever the user the user mouses over a link in the text pane. (Bug Fixes) * pan/message-window.c: Fix 0.12.90 bug that made replie bodies quoted-printable. sheesh. Thanks to DevilKin for reporting this bug. (#88010) * pan/message-window.c: Fix 0.12.90 bug that caused replies to pick up the same Message-Id as the messages they were replying to. Yuck. Thanks to Laurent Duperval for reporting this bug. (#87854) * pan/base/file-headers.c: Fix 0.12.90 log message that confused the log window. Thanks for DevilKin for reporting this bug. (#88008) * pan/save-ui.c: Fix 0.12.90 problem with "%g" and "%G" not being substituted correctly when saving articles/attachments. Thanks to quimvy72 for reporting this bug. (#88027) * pan/save-ui.c: Fix 0.12.0 bug that caused "add to front of queue" to not work. Thanks to Alen Williams for reporting this bug. (#88106) * pan/gui.c: Fix 0.12.0 wart: remove "..." from "Find Next..." because it doesn't open a dialog box. Also fixed .po files accordingly.' Thanks to Mike Robinson for reporting this bug. (#86876) 2002-07-12 Charles Kerr <charles@rebelbase.com> (Bug Fix) * pan/newsrc.c (mark_range_read): fixed a bug that I found while inspecting the code. 2002-07-11 Charles Kerr <charles@rebelbase.com> Pan 0.12.90 Released! 2002-07-08 Charles Kerr <charles@rebelbase.com> (Spellchecking) * pan/pan.c: * pan/message-window.c: added in gtkspell support. Thanks to Michael Alger for contributing this patch. (Fonts) * pan/prefs.c: * pan/grouplist.c: * pan/articlelist.c: use the system default for these fonts. 2002-07-08 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's queue retry fix. (#86795) * sync: with pan-0-12-fix's 'get all headers&bodies' fix. (#72555) 2002-07-06 Charles Kerr <charles@rebelbase.com> (XMLization) * pan/task-xml.c: implement the task reading. Restoring tasks on startup seems to work now! * pan/queue.c: added "dirty" flag to tell queue when tasks.xml should be written to disk. 2002-07-06 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's 'are you sure' dialog fix. (#87518) 2002-07-04 Charles Kerr <charles@rebelbase.com> (XMLization) * pan/pan.c: on startup, if the tasks.xml is present, ask the user if they'd like to restore those tasks. * pan/queue.c: fix bug that erased tasks.xml at startup. 2002-07-04 Jeffrey Stedfast <fejj@ximian.com> * gmime/gmime-iconv-utils.c (g_mime_iconv_utils_strndup): Multibyte charsets need to be nul-terminated by more than just a single nul byte (duh!). 2002-07-03 Charles Kerr <charles@rebelbase.com> (Cleanup) * removed about 20 translation strings that were unnecessary, identical except for case, or otherwise redundant. * spelling corrections: "newsereaders" "Followoup-To" * replaced ``string'' and `string' lines with "string" for consistency. (Decode) * pan/base/decode.c: fix MessageIdentifier problem that didn't set the "article saved" flag for Articles that are in memory. (Flagged) * pan/flagset.c: added a container that holds MessageIdentifiers to all articles that are flagged for download. This way articles can be flagged across groups. Previously only the current group could have its articles flagged. (Filters) * pan/filter-mediator.c: bug fixes. * pan/article-toolbar.c: bug fixes. 2002-07-02 Charles Kerr <charles@rebelbase.com> (Filters) * pan/gui.c: plugged in the filter menu buttons. * pan/filter-mediator.c: mediates between filter menu & toolbar * pan/filter-current-ui.c: removed. * pan/article-toolbar.c: sync. 2002-07-01 Charles Kerr <charles@rebelbase.com> (Toolbar) * pan/gui.c: plugged in the toolbar * pan/pan/xpm: reverted to the old attachment icons, copped balsa's "send now" icon, some icon naming cleanup * pan/article-actions.c: port supersede/cancel to GMimeMessage * pan/articlelist.c: sync. * pan/task-post.c: remove the X-Pan-Internal headers when posting. * pan/task-post.c: fix bug that kept post from moving to pan.sent. * pan/base/acache.c: fix free-memory-twice bug. 2002-06-30 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's changes for charsets in follow-ups. 2002-06-29 Charles Kerr <charles@rebelbase.com> * More work on the folder/acache integration. It all seems to be working again. Fixed copy-to-folder. I need to do some more testing and memprof it, but now all the pieces are in place and things should be usable. 2002-06-28 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's auto wrap changes. (#85508) 2002-06-26 Charles Kerr <charles@rebelbase.com> * More work to integrating acache and folders. 2002-06-26 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's new windows-1251 charset. * sync: with pan-0-12-fix's articlelist changes. (#86409) * sync: with pan-0-12-fix's smtp changes. (#85503) 2002-06-25 Charles Kerr <charles@rebelbase.com> * Toolbar, second draft. * pan/gui.c: wired in the net connection button s.t. it shows the connection status. * pan/pan/xpm: removed old network connection icon and added in Evolution's online/offline icons. 2002-06-25 Charles Kerr <charles@rebelbase.com> * pan/gui.c: committed non-functional toolbar. * pan/pan/xpm: threw away a lot of unused icons, added new ones for the toolbar, and changed a few by stealing liberally from evo and others ... er ... make that "changed a few for better consistency with the Gnome desktop" :) 2002-06-24 Charles Kerr <charles@rebelbase.com> * pan/message-window.c: Fix all the #warnings that got littered around when upgrading to GMimeMessage. * pan/nntp.c: Fix the progressbar while downloading articles. * pan/pan/xpm: updated the folder/newsgroup icons based on some user feedback on the toolbar's first draft. 2002-06-24 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's rule on renamed group fix. (#85725) 2002-06-23 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix's new charset picker and using the locale to determine the default charset. (#84995) * sync: with pan-0-12-fix's article state fix. (#85445) 2002-06-22 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix build fixes. (#85968, #86203) 2002-06-20 Charles Kerr <charles@rebelbase.com> Part one of moving text, tasks, and compose to GMimeMessage. Folders are broken, posting is probably broken. 2002-06-20 Charles Kerr <charles@rebelbase.com> (Bug Fixes) * fix spelling mistakes: "Cancelled", "Cancelling", "Portugese", "totalling", "Aricle", "likey". (Gnome HIG) * try to adhere better to the Gnome HIG suggestions: align labels in tables to the left, follow capitalization suggestions, consistent use of email, user name, put colons at the ends left-laying labels, etc. (I18N) * remove unnecessary translation strings. * use a consistent quote characters: "a", not ``a'' or `a' 2002-06-19 Christophe Lambin <clambin@easynet.be> * sync: with pan-0-12-fix gmime build fix (#85968)