sync with sylpheed 0.7.0cvs38
authorPaul Mangan <paul@claws-mail.org>
Thu, 7 Feb 2002 10:14:25 +0000 (10:14 +0000)
committerPaul Mangan <paul@claws-mail.org>
Thu, 7 Feb 2002 10:14:25 +0000 (10:14 +0000)
18 files changed:
ChangeLog
ChangeLog.claws
ChangeLog.jp
NEWS
configure.in
src/addr_compl.c
src/addressbook.c
src/compose.c
src/export.c
src/foldersel.c
src/foldersel.h
src/import.c
src/mainwindow.c
src/prefs_account.c
src/prefs_filter.c
src/prefs_filtering.c
src/procmsg.c
src/summaryview.c

index feba135..d4b4f1b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2002-02-07
+
+       * src/procmsg.c: procmsg_open_message(): fetch message if the cache
+         doesn't exist.
+       * src/foldersel.[ch]: foldersel_folder_sel(): added an argument
+         that specifies the folder selection type.
+
 2002-02-06
 
        * src/imap.c: imap_copy_msgs_with_dest(): fixed a bug on traversing
@@ -8,6 +15,10 @@
        * src/addr_compl.c: get_complete_address(): add "" around the
          display name if it contains comma.
          get_address_from_edit(): handle the quotation character correctly.
+       * src/addr_compl.c: get_complete_address()
+         src/addressbook.c: addressbook_format_address(): fixed a bug that
+         caused wrong text processing if the display name is empty.
+       * updated NEWS.
 
 2002-02-05
 
index 74fe7a7..c399e5d 100644 (file)
@@ -1,3 +1,9 @@
+2002-02-07 [paul]      0.7.0claws56
+
+       * sync with sylpheed 0.7.0cvs38
+               see ChangeLog entries 2002-02-06 {last 2 entries) and
+               2002-02-07
+
 2002-02-07 [darko]     0.7.0claws55
 
        * src/gtkutils.[ch]
index 9b05033..4c5a983 100644 (file)
@@ -1,3 +1,10 @@
+2002-02-07
+
+       * src/procmsg.c: procmsg_open_message(): ¥­¥ã¥Ã¥·¥å¤¬Â¸ºß¤·¤Ê¤¤
+         ¾ì¹ç¤Ï¥á¥Ã¥»¡¼¥¸¤ò¼èÆÀ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+       * src/foldersel.[ch]: foldersel_folder_sel(): ¥Õ¥©¥ë¥ÀÁªÂò¤Î
+         ¥¿¥¤¥×¤ò»ØÄꤹ¤ë°ú¿ô¤òÄɲá£
+
 2002-02-06
 
        * src/imap.c: imap_copy_msgs_with_dest(): ¥ê¥¹¥È¤Î¥È¥é¥Ð¡¼¥¹»þ¤Î
@@ -8,6 +15,10 @@
        * src/addr_compl.c: get_complete_address(): É½¼¨Ì¾¤Ë¥«¥ó¥Þ¤¬´Þ¤Þ¤ì¤Æ
          ¤¤¤ì¤Ð "" ¤òÄɲ乤ë¤è¤¦¤Ë¤·¤¿¡£
          get_address_from_edit(): °úÍÑʸ»ú¤òÀµ¤·¤¯°·¤¦¤è¤¦¤Ë¤·¤¿¡£
+       * src/addr_compl.c: get_complete_address()
+         src/addressbook.c: addressbook_format_address(): É½¼¨Ì¾¤¬¶õ¤Î
+         ¾ì¹ç¤Ë¥Æ¥­¥¹¥È½èÍý¤ò¸í¤ë¥Ð¥°¤ò½¤Àµ¡£
+       * NEWS ¤ò¹¹¿·¡£
 
 2002-02-05
 
diff --git a/NEWS b/NEWS
index c42c014..ab96253 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,38 @@
 Changes of Sylpheed
 
+* 0.7.1
+
+    * Message copy between different type of folders has been enabled.
+    * Multiple message forwarding has been enabled.
+    * Most of key bindings became customizable.
+    * The default menu shortcuts have been modified so that Ctrl is used
+      as the modifier key.
+    * Quick menu shortcut changer has been implemented.
+    * Quick filter rule creation has been implemented.
+    * "Show all header" now displays the headers in the current message
+      view.
+    * File save dialog has been improved.
+    * Mac OS X (Darwin) has been supported.
+    * Ctrl-Enter now works on the composition window.
+    * Crash in mark processing on 64bit architecture has been fixed.
+    * Crash when some fonts couldn't be loaded has been fixed.
+    * Some address completion bugs have been fixed.
+    * Some many other bugs have been fixed.
+
+* 0.7.0
+
+    * Undo / redo function has been implemented.
+    * Regular expression has been supported in filtering.
+    * LDIF file import has been improved.
+    * The cursor on composition window blinks now.
+    * The feature to keep editing after saving to draft has been added.
+    * The position of Subject entry on composition window has been moved
+      to the last.
+    * The menu items have been reorganized.
+    * WMCLASS is set for some windows.
+    * A bug that causes infinite loop at line-wrapping has been fixed.
+    * Some bugfixes for template, addressbook and IMAP4 have been made.
+
 * 0.6.6
 
     * The newsgroup subscription dialog has been enhanced.
index a326e66..dbb5414 100644 (file)
@@ -8,7 +8,7 @@ MINOR_VERSION=7
 MICRO_VERSION=0
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=claws55
+EXTRA_VERSION=claws56
 VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION$EXTRA_VERSION
 
 dnl set $target
index 2b8a284..6cfafc5 100644 (file)
@@ -220,11 +220,13 @@ gchar *get_address_from_edit(GtkEntry *entry, gint *start_pos)
        wchar_t *wp;
        wchar_t rfc_mail_sep;
        wchar_t quote;
+       wchar_t lt;
        gboolean in_quote = FALSE;
        gchar *str;
 
        if (mbtowc(&rfc_mail_sep, ",", 1) < 0) return NULL;
        if (mbtowc(&quote, "\"", 1) < 0) return NULL;
+       if (mbtowc(&lt, "<", 1) < 0) return NULL;
 
        edit_text = gtk_entry_get_text(entry);
        if (edit_text == NULL) return NULL;
@@ -248,7 +250,8 @@ gchar *get_address_from_edit(GtkEntry *entry, gint *start_pos)
                return NULL;
        }
 
-#define IS_VALID_CHAR(x)       (iswalnum(x) || (x) == quote || ((x) > 0x7f))
+#define IS_VALID_CHAR(x) \
+       (iswalnum(x) || (x) == quote || (x) == lt || ((x) > 0x7f))
 
        /* now scan back until we hit a valid character */
        for (; *wp && !IS_VALID_CHAR(*wp); wp++)
@@ -345,7 +348,9 @@ gchar *get_complete_address(gint index)
                        p = (address_entry *)g_slist_nth_data
                                (g_completion_addresses, index - 1);
                        if (p != NULL) {
-                               if (strchr_with_skip_quote(p->name, '"', ','))
+                               if (!p->name || p->name[0] == '\0')
+                                       address = g_strdup_printf(p->address);
+                               else if (strchr_with_skip_quote(p->name, '"', ','))
                                        address = g_strdup_printf
                                                ("\"%s\" <%s>", p->name, p->address);
                                else
index e78144f..6edc109 100644 (file)
@@ -1028,7 +1028,7 @@ gchar *addressbook_format_address( AddrItemObject * aio ) {
                }
        }
        if( address ) {
-               if( name ) {
+               if( name && name[0] != '\0' ) {
                        if( strchr_with_skip_quote( name, '"', ',' ) )
                                buf = g_strdup_printf( "\"%s\" <%s>", name, address );
                        else
index 5cd42c3..630158b 100644 (file)
@@ -4304,7 +4304,7 @@ static void compose_savemsg_select_cb(GtkWidget *widget, Compose *compose)
        FolderItem *dest;
        gchar * path;
 
-       dest = foldersel_folder_sel(NULL, NULL);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL);
        if (!dest) return;
 
        path = folder_item_get_identifier(dest);
index 77b6155..6a5f5c1 100644 (file)
@@ -223,7 +223,7 @@ static void export_srcsel_cb(GtkWidget *widget, gpointer data)
 {
        FolderItem *src;
 
-       src = foldersel_folder_sel(NULL, NULL);
+       src = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL);
        if (src && src->path)
                gtk_entry_set_text(GTK_ENTRY(src_entry), src->path);
 }
index 64c45f7..04a6f80 100644 (file)
@@ -65,7 +65,9 @@ static gboolean cancelled;
 
 static void foldersel_create   (void);
 static void foldersel_init     (void);
-static void foldersel_set_tree (Folder         *cur_folder);
+static void foldersel_set_tree (Folder                 *cur_folder,
+                                FolderSelectionType     type);
+
 static void foldersel_selected (GtkCList       *clist,
                                 gint            row,
                                 gint            column,
@@ -85,6 +87,7 @@ static void key_pressed               (GtkWidget      *widget,
                                 gpointer        data);
 
 FolderItem *foldersel_folder_sel(Folder *cur_folder,
+                                FolderSelectionType type,
                                 const gchar *default_folder)
 {
        GtkCTreeNode *node;
@@ -96,7 +99,7 @@ FolderItem *foldersel_folder_sel(Folder *cur_folder,
                gtk_widget_show(window);
        manage_window_set_transient(GTK_WINDOW(window));
 
-       foldersel_set_tree(cur_folder);
+       foldersel_set_tree(cur_folder, type);
 
        if (folder_item) {
                node = gtk_ctree_find_by_row_data
@@ -286,7 +289,7 @@ static void foldersel_expand_func(GtkCTree *ctree, GtkCTreeNode *node,
        } \
 }
 
-static void foldersel_set_tree(Folder *cur_folder)
+static void foldersel_set_tree(Folder *cur_folder, FolderSelectionType type)
 {
        Folder *folder;
        GtkCTreeNode *node;
@@ -302,11 +305,14 @@ static void foldersel_set_tree(Folder *cur_folder)
                folder = FOLDER(list->data);
                g_return_if_fail(folder != NULL);
 
-               if (folder->type == F_NEWS) continue;
-               if (cur_folder) {
-                       if (cur_folder->type != folder->type) continue;
-                       if (cur_folder->type == F_IMAP) {
-                               if (cur_folder->account != folder->account)
+               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;
                        }
                }
index e89361e..802bb50 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2001 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2002 Hiroyuki Yamamoto
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 
 #include "folder.h"
 
-FolderItem *foldersel_folder_sel(Folder                *cur_folder,
-                                const gchar    *default_folder);
+typedef enum
+{
+       FOLDER_SEL_ALL,
+       FOLDER_SEL_MOVE,
+       FOLDER_SEL_COPY
+} FolderSelectionType;
+
+FolderItem *foldersel_folder_sel(Folder                        *cur_folder,
+                                FolderSelectionType     type,
+                                const gchar            *default_folder);
 
 #endif /* __FOLDERSEL_H__ */
index 549c0c4..f551b36 100644 (file)
@@ -233,7 +233,7 @@ static void import_destsel_cb(GtkWidget *widget, gpointer data)
        FolderItem *dest;
        gchar *path;
 
-       dest = foldersel_folder_sel(NULL, NULL);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL);
        if (!dest)
                 return;
        path = folder_item_get_identifier(dest);
index 31a7c70..ecfe401 100644 (file)
@@ -2817,7 +2817,7 @@ static void goto_folder_cb(MainWindow *mainwin, guint action,
 {
        FolderItem *to_folder;
 
-       to_folder = foldersel_folder_sel(NULL, NULL);
+       to_folder = foldersel_folder_sel(NULL, FOLDER_SEL_ALL, NULL);
 
        if (to_folder)
                folderview_select(mainwin->folderview, to_folder);
index 8c46a27..9089577 100644 (file)
@@ -1659,7 +1659,7 @@ static void prefs_account_select_inbox_cb(void)
        FolderItem *item;
        gchar      *path;
 
-       item = foldersel_folder_sel(NULL, NULL);
+       item = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL);
        if (item) {
                path = folder_item_get_identifier(item);
                gtk_entry_set_text(GTK_ENTRY(receive.inbox_entry), path);
index 17f7c9e..77116b7 100644 (file)
@@ -708,7 +708,7 @@ static void prefs_filter_select_dest_cb(void)
 {
        FolderItem *dest;
 
-       dest = foldersel_folder_sel(NULL, NULL);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL);
        if (!dest) return;
 
        gtk_entry_set_text(GTK_ENTRY(filter.dest_entry), dest->path);
index f50407c..aa3cefa 100644 (file)
@@ -1005,7 +1005,7 @@ static void prefs_filtering_select_dest(void)
        FolderItem *dest;
        gchar * path;
 
-       dest = foldersel_folder_sel(NULL, NULL);
+       dest = foldersel_folder_sel(NULL, FOLDER_SEL_COPY, NULL);
        if (!dest) return;
 
        path = folder_item_get_identifier(dest);
index b7e5084..9942c36 100644 (file)
@@ -707,7 +707,7 @@ FILE *procmsg_open_message(MsgInfo *msginfo)
 
        g_return_val_if_fail(msginfo != NULL, NULL);
 
-       file = procmsg_get_message_file_path(msginfo);
+       file = procmsg_get_message_file(msginfo);
        g_return_val_if_fail(file != NULL, NULL);
 
        if ((fp = fopen(file, "r")) == NULL) {
index 670d077..e54fc33 100644 (file)
@@ -3138,7 +3138,8 @@ void summary_move_to(SummaryView *summaryview)
        if (!summaryview->folder_item ||
            summaryview->folder_item->folder->type == F_NEWS) return;
 
-       to_folder = foldersel_folder_sel(NULL, NULL);
+       to_folder = foldersel_folder_sel(summaryview->folder_item->folder,
+                                        FOLDER_SEL_MOVE, NULL);
        summary_move_selected_to(summaryview, to_folder);
 }
 
@@ -3228,7 +3229,8 @@ void summary_copy_to(SummaryView *summaryview)
 
        if (!summaryview->folder_item) return;
 
-       to_folder = foldersel_folder_sel(NULL, NULL);
+       to_folder = foldersel_folder_sel(summaryview->folder_item->folder,
+                                        FOLDER_SEL_COPY, NULL);
        summary_copy_selected_to(summaryview, to_folder);
 }