+2002-02-16
+
+ * version 0.7.2
+
+2002-02-16
+
+ * src/summary_search(): summary_search_execute(): scroll the view
+ when message view is hidden.
+
+2002-02-15
+
+ * src/foldersel.c: foldersel_set_tree(): made different type of
+ folders selectable in moving mode.
+ * src/folderview.[ch]: folderview_update_msg_num(): compare the
+ numbers with the CTree's labels, and don't update folder_item here.
+ * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
+ implemented moving between different type of folders.
+ * src/mh.c: SET_DEST_MSG_FLAGS(): new macro.
+ mh_do_move(), mh_do_move_msgs_with_dest(): new (renamed previous
+ mh_move_msg() and mh_move_msgs_with_dest()).
+ mh_move_msg(), mh_move_msgs_with_dest(): implemented message
+ moving between different type of folders.
+ mh_copy_msg(), mh_copy_msgs_with_dest(): some code cleanups.
+ * src/summaryview.c: summary_status_show(): update folder_item
+ here.
+ * po/POTFILES.in: removed reference to headerwindow.c.
+ * src/summaryview.c: summary_step(): fixed the behavior on the
+ head and tail of the list.
+
2002-02-15
* src/mainwindow.c: main_window_set_menu_sensitive(): set 'Show
+2002-02-16 [paul] 0.7.1claws6
+
+ * sync with sylpheed 0.7.2 release
+ see ChangeLog entry 2002-02-15 and 2002-02-16
+
2002-02-15 [paul] 0.7.1claws5
* sync with sylpheed 0.7.1cvs9
+2002-02-16
+
+ * version 0.7.2
+
+2002-02-16
+
+ * src/summary_search(): summary_search_execute(): ¥á¥Ã¥»¡¼¥¸¥Ó¥å¡¼
+ ¤¬±£¤ì¤Æ¤¤¤ë¾ì¹ç¥Ó¥å¡¼¤ò¥¹¥¯¥í¡¼¥ë¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+
+2002-02-15
+
+ * src/foldersel.c: foldersel_set_tree(): °ÜÆ°¥â¡¼¥É¤Ç°Û¤Ê¤ë¥¿¥¤¥×
+ ¤Î¥Õ¥©¥ë¥À¤òÁªÂò²Äǽ¤Ë¤·¤¿¡£
+ * src/folderview.[ch]: folderview_update_msg_num(): ¿ô¤ò CTree ¤Î
+ ¥é¥Ù¥ë¤ÈÈæ³Ó¤·¡¢¤³¤³¤Ç folder_item ¤ò¹¹¿·¤·¤Ê¤¤¤è¤¦¤Ë¤·¤¿¡£
+ * src/imap.c: imap_move_msg(), imap_move_msgs_with_dest():
+ °Û¤Ê¤ë¥¿¥¤¥×¤Î¥Õ¥©¥ë¥À´Ö¤Ç¤Î°ÜÆ°¤ò¼ÂÁõ¡£
+ * src/mh.c: SET_DEST_MSG_FLAGS(): ¿·µ¬¥Þ¥¯¥í¡£
+ mh_do_move(), mh_do_move_msgs_with_dest(): ¿·µ¬(°ÊÁ°¤Î mh_move_msg()
+ ¤È mh_move_msgs_with_dest() ¤ò²þ̾)¡£
+ mh_move_msg(), mh_move_msgs_with_dest(): °Û¤Ê¤ë¥¿¥¤¥×¤Î¥Õ¥©¥ë¥À
+ ´Ö¤Ç¤Î°ÜÆ°¤ò¼ÂÁõ¡£
+ mh_copy_msg(), mh_copy_msgs_with_dest(): ¥³¡¼¥É¤ÎÀ°Íý¡£
+ * src/summaryview.c: summary_status_show(): folder_item ¤ò¤³¤³¤Ç
+ ¹¹¿·¡£
+ * po/POTFILES.in: headerwindow.c ¤Ø¤Î»²¾È¤òºï½ü¡£
+ * src/summaryview.c: summary_step(): ¥ê¥¹¥È¤ÎÀèƬ¤ÈËöÈø¤Ç¤ÎµóÆ°
+ ¤ò½¤Àµ¡£
+
2002-02-15
* src/mainwindow.c: main_window_set_menu_sensitive(): ¡ÖÁ´¤Æ¤Î
Changes of Sylpheed
+* 0.7.2
+
+ * Message moving between different type of folders has been enabled.
+ * PGP decryption failure bug has been fixed.
+ * IMAP4 APPEND command failure has been fixed.
+ * Selection reply bug has been fixed.
+ * The bug that the external editor fails to launch when quotation
+ characters are used in the command line, has been fixed.
+ * 'Show all header' and 'Thread view' became toggle switch.
+ * Some code cleanups have been made.
+
* 0.7.1
* Message copy between different type of folders has been enabled.
o POP before SMTP
o original icons and logos
-o autosave
-o speed-up of filtering
-o regular expression support at filtering
+o folder management enhancements
+o more robust IMAP4 response parser
+o enhancement of filtering
o support for some formats other than MH and mbox (ex. Maildir)
o priority (Priority:, X-Priority:, X-MSMail-Priority:)
o notification of reception (Disposition-Notification-To:)
-o customization of key bindings
+o autosave
o customization of toolbar
o configuration for each folders
o RFC 2231 (MIME filename encoding) compliant
o mailing list manager
o inline image display on multipart MIME
o compressed folder
-o GNOME support
o make the code cleaner
o make the process faster
o make the dubious English much decent :)
. display of HTML messages (composition of HTML message is not scheduled :-P)
. progress display of time-consuming processes
. parallel processing between sending-receiving and others
+. customization of key bindings
Implemented features
====================
* LDAP support
* full-text search of messages (plain)
* template function
+* regular expression support at filtering
o POP before SMTP
o ¥ª¥ê¥¸¥Ê¥ë¤Î¥¢¥¤¥³¥ó¤È¥í¥´
-o ¼«Æ°Êݸµ¡Ç½
+o ¥Õ¥©¥ë¥À´ÉÍý¤Î³ÈÄ¥
+o ¤è¤ê·øÏ´¤Ê IMAP4 ±þÅú¥Ñ¡¼¥µ
o ¿¶¤êʬ¤±½èÍý¤Î¶¯²½
o MH, mbox °Ê³°¤Î·Á¼°¤Ø¤ÎÂбþ (Maildir Åù)
o ½ÅÍ×ÅÙ (Priority:, X-Priority:, X-MSMail-Priority:)
o ¼õ¿®³Îǧ (Disposition-Notification-To:)
+o ¼«Æ°Êݸµ¡Ç½
o ¥Ä¡¼¥ë¥Ð¡¼¤Î¥«¥¹¥¿¥Þ¥¤¥º
o ¥Õ¥©¥ë¥ÀËè¤ÎÀßÄê
o RFC 2231 (MIME ¥Õ¥¡¥¤¥ë̾¤Î¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°) Âбþ
o ¥á¡¼¥ê¥ó¥°¥ê¥¹¥È¥Þ¥Í¡¼¥¸¥ã
o ¥Þ¥ë¥Á¥Ñ¡¼¥ÈMIME¤Ç¤Î¥¤¥ó¥é¥¤¥ó²èÁüɽ¼¨
o °µ½Ì¥Õ¥©¥ë¥À
-o GNOMEÂбþ
o ¥³¡¼¥É¤ò¤µ¤é¤Ë¤¤ì¤¤¤Ë¤¹¤ë
o ½èÍý¤ò¤µ¤é¤Ë®¤¯¤¹¤ë
o ²ø¤·¤²¤Ê±Ñ¸ì¤ò¤Ê¤ó¤È¤«¤¹¤ë :)
MICRO_VERSION=1
INTERFACE_AGE=0
BINARY_AGE=0
-EXTRA_VERSION=claws5
+EXTRA_VERSION=claws6
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
dnl set $target
if (type != FOLDER_SEL_ALL) {
if (folder->type == F_NEWS)
continue;
- if (type == FOLDER_SEL_MOVE && cur_folder) {
- if (cur_folder->type != folder->type)
- continue;
- if (cur_folder->type == F_IMAP &&
- cur_folder != folder)
- continue;
- }
}
node = gtk_ctree_insert_gnode(GTK_CTREE(ctree), NULL, NULL,
folderview_select_node(folderview, node);
}
-void folderview_update_msg_num(FolderView *folderview, GtkCTreeNode *row,
- gint new, gint unread, gint total)
+void folderview_update_msg_num(FolderView *folderview, GtkCTreeNode *row)
{
GtkCTree *ctree = GTK_CTREE(folderview->ctree);
static GtkCTreeNode *prev_row = NULL;
FolderItem *item;
+ gint new, unread, total;
+ gchar *new_str, *unread_str, *total_str;
if (!row) return;
item = gtk_ctree_node_get_row_data(ctree, row);
if (!item) return;
+ gtk_ctree_node_get_text(ctree, row, COL_NEW, &new_str);
+ gtk_ctree_node_get_text(ctree, row, COL_UNREAD, &unread_str);
+ gtk_ctree_node_get_text(ctree, row, COL_TOTAL, &total_str);
+ new = atoi(new_str);
+ unread = atoi(unread_str);
+ total = atoi(total_str);
+
/* CLAWS: don't know why but this always seems to be true
* when deleting messages. Somewhere claws does a folder
* scan which sets all new, unread & total to the correct
if (prev_row == row &&
item->new == new &&
item->unread == unread &&
- item->total == total)
+ item->total == total)
return;
#endif
prev_row = row;
- item->new = new;
- item->unread = unread;
- item->total = total;
-
folderview_update_node(folderview, row);
}
void folderview_unselect (FolderView *folderview);
void folderview_select_next_unread (FolderView *folderview);
void folderview_update_msg_num (FolderView *folderview,
- GtkCTreeNode *row,
- gint new,
- gint unread,
- gint total);
+ GtkCTreeNode *row);
void folderview_update_tree (Folder *folder);
void folderview_update_all (void);
void folderview_update_all_node (void);
gint imap_move_msg(Folder *folder, FolderItem *dest, MsgInfo *msginfo)
{
- return imap_do_copy(folder, dest, msginfo, TRUE);
+ gchar *srcfile;
+ gint ret = 0;
+
+ g_return_val_if_fail(folder != NULL, -1);
+ g_return_val_if_fail(dest != NULL, -1);
+ g_return_val_if_fail(msginfo != NULL, -1);
+ g_return_val_if_fail(msginfo->folder != NULL, -1);
+
+ if (folder == msginfo->folder->folder)
+ return imap_do_copy(folder, dest, msginfo, TRUE);
+
+ srcfile = procmsg_get_message_file(msginfo);
+ if (!srcfile) return -1;
+
+ ret = imap_add_msg(folder, dest, srcfile, FALSE);
+ g_free(srcfile);
+
+ if (ret == 0)
+ ret = folder_item_remove_msg(msginfo->folder, msginfo->msgnum);
+
+ return ret;
}
gint imap_move_msgs_with_dest(Folder *folder, FolderItem *dest,
GSList *msglist)
{
- return imap_do_copy_msgs_with_dest(folder, dest, msglist, TRUE);
+ MsgInfo *msginfo;
+ GSList *cur;
+ gint ret = 0;
+
+ g_return_val_if_fail(folder != NULL, -1);
+ g_return_val_if_fail(dest != NULL, -1);
+ g_return_val_if_fail(msglist != NULL, -1);
+
+ msginfo = (MsgInfo *)msglist->data;
+ if (folder == msginfo->folder->folder)
+ return imap_do_copy_msgs_with_dest(folder, dest, msglist, TRUE);
+
+ for (cur = msglist; cur != NULL; cur = cur->next) {
+ msginfo = (MsgInfo *)cur->data;
+ ret = imap_move_msg(folder, dest, msginfo);
+ if (ret != 0) break;
+ }
+
+ return ret;
}
gint imap_copy_msg(Folder *folder, FolderItem *dest, MsgInfo *msginfo)
else {
if (summaryview->msg_is_toggled_on) {
summary_select_node
- (summaryview, node, TRUE, FALSE);
+ (summaryview, node, TRUE, TRUE);
if (body_matched) {
messageview_search_string
(summaryview->messageview,
}
} else {
summary_select_node
- (summaryview, node, FALSE, FALSE);
+ (summaryview, node, FALSE, TRUE);
}
break;
}
g_free(cp);
g_free(itstr);
- if (summaryview->folder_item &&
- FOLDER_IS_LOCAL(summaryview->folder_item->folder)) {
+ if (FOLDER_IS_LOCAL(summaryview->folder_item->folder)) {
str = g_strdup_printf(_("%d new, %d unread, %d total (%s)"),
summaryview->newmsgs,
summaryview->unread,
gtk_label_set(GTK_LABEL(summaryview->statlabel_msgs), str);
g_free(str);
+ summaryview->folder_item->new = summaryview->newmsgs;
+ summaryview->folder_item->unread = summaryview->unread;
+ summaryview->folder_item->total = summaryview->messages;
+
folderview_update_msg_num(summaryview->folderview,
- summaryview->folderview->opened,
- summaryview->newmsgs,
- summaryview->unread,
- summaryview->messages);
+ summaryview->folderview->opened);
}
static void summary_set_column_titles(SummaryView *summaryview)
void summary_step(SummaryView *summaryview, GtkScrollType type)
{
GtkCTree *ctree = GTK_CTREE(summaryview->ctree);
+ GtkCTreeNode *node;
if (summary_is_locked(summaryview)) return;
if (type == GTK_SCROLL_STEP_FORWARD) {
- GtkCTreeNode *node;
node = gtkut_ctree_node_next(ctree, summaryview->selected);
if (node)
gtkut_ctree_expand_parent_all(ctree, node);
+ else
+ return;
+ } else {
+ if (summaryview->selected) {
+ node = GTK_CTREE_NODE_PREV(summaryview->selected);
+ if (!node) return;
+ }
}
if (summaryview->msg_is_toggled_on)