sync with 0.9.10cvs5
authorPaul Mangan <paul@claws-mail.org>
Sat, 13 Mar 2004 09:31:16 +0000 (09:31 +0000)
committerPaul Mangan <paul@claws-mail.org>
Sat, 13 Mar 2004 09:31:16 +0000 (09:31 +0000)
ChangeLog
ChangeLog.claws
ChangeLog.jp
configure.ac
src/folderview.c
src/mainwindow.c
src/summaryview.c
src/summaryview.h

index 9a30a26f723e0c4ca3f6458b9ac6d9357d790549..bebfb2365677171c94a730781f9566e757dd64fe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,39 @@
+2004-03-12
+
+       * src/mainwindow.c
+         src/summaryview.[ch]: added a function to filter selected
+         messages.
+
+2004-03-12
+
+       * src/filter.[ch]
+         src/prefs_filter.c: rewrote the filtering system (the UI is not
+         implemented yet).
+
+2004-03-09
+
+       * src/filter.c: fixed the matching algorithm of "not contain" flag
+         (also match if a header not exist, and handle same multiple
+         headers).
+       * src/imageview.c: get_resized_size(): fixed a typo that caused
+         resizing problem.
+
+2004-03-02
+
+       * src/folder.c
+         src/mh.c: only update FolderItem::last_num when removing the last
+         number of message in MH folders, and don't scan in other case
+         (fixes wrong message count on moving).
+
+2004-03-02
+
+       * src/folderview.c
+         src/summaryview.c: always move messages by default when using DnD
+         (except for News folder). Copy messages if Ctrl-key is pressed.
+       * src/mainwindow.c: main_window_empty_trash()
+         src/summaryview.c: summary_execute(): added missing
+         statusbar_pop_all().
+
 2004-02-29
 
        * version 0.9.10
 2004-02-29
 
        * version 0.9.10
@@ -14,8 +50,8 @@
        * src/inc.c: code cleanup.
        * src/mainwindow.[ch]: added main_window_get() and
          main_window_toggle_online_if_offline().
        * src/inc.c: code cleanup.
        * src/mainwindow.[ch]: added main_window_get() and
          main_window_toggle_online_if_offline().
-       * src/prefs_common.c: prefs_common_read_config(): fixed a bug that made
-         it offline mode on first execution.
+       * src/prefs_common.c: prefs_common_read_config(): fixed a bug that
+         made it offline mode on first execution.
 
 2004-02-25
 
 
 2004-02-25
 
index f92699ccb440d097efde88725e7d71dfddf7df45..98489c47aa83278af86abd5de100c1f4fc48c73e 100644 (file)
@@ -1,3 +1,12 @@
+2004-03-13 [paul]      0.9.10claws10
+
+       * sync with 0.9.10cvs5
+               see ChangeLog 2004-03-02 and 2004-03-12, 
+               specifically:
+               'always move messages by default when using DnD (except 
+               for News folder). Copy messages if Ctrl-key is pressed.'
+               and 'added a function to filter selected messages'
+
 2004-03-12 [christoph] 0.9.10claws9
 
        * src/codeconv.c
 2004-03-12 [christoph] 0.9.10claws9
 
        * src/codeconv.c
index 6d8e29f95e24fc7435e8c4c9448cddd68089f77d..0b51f4ea556ec91c8b77537073b98711bfdd0835 100644 (file)
@@ -1,3 +1,38 @@
+2004-03-12
+
+       * src/mainwindow.c
+         src/summaryview.[ch]: ÁªÂòÃæ¤Î¥á¥Ã¥»¡¼¥¸¤ò¿¶¤êʬ¤±¤ëµ¡Ç½¤òÄɲá£
+
+2004-03-12
+
+       * src/filter.[ch]
+         src/prefs_filter.c: ¥Õ¥£¥ë¥¿¥·¥¹¥Æ¥à¤òºÆ¼ÂÁõ(UI ¤Ï̤¼ÂÁõ)¡£
+
+2004-03-09
+
+       * src/filter.c: ¡Ö´Þ¤Þ¤Ê¤¤¡×¥Õ¥é¥°¤Î¥Þ¥Ã¥Á¥ó¥°¥¢¥ë¥´¥ê¥º¥à¤ò½¤Àµ
+         (¥Ø¥Ã¥À¤¬Â¸ºß¤·¤Ê¤¤¾ì¹ç¤Ç¤â¥Þ¥Ã¥Á¤·¡¢Ê£¿ô¤ÎƱ°ì¥Ø¥Ã¥À¤òÀµ¤·¤¯°·¤¦
+         ¤è¤¦¤Ë¤·¤¿)¡£
+       * src/imageview.c: get_resized_size(): ¥ê¥µ¥¤¥º¤ÎÌäÂê¤òµ¯¤³¤·¤Æ¤¤¤¿
+         typo ¤ò½¤Àµ¡£
+
+2004-03-02
+
+       * src/folder.c
+         src/mh.c: MH ¥Õ¥©¥ë¥À¤ÎºÇ¸å¤ÎÈÖ¹æ¤Î¥á¥Ã¥»¡¼¥¸¤òºï½ü¤·¤¿¤È¤­
+         FolderItem::last_num ¤Î¤ß¤ò¹¹¿·¤·¡¢¤½¤Î¾¤Î¾ì¹ç¤Ï¥¹¥­¥ã¥ó¤·¤Ê¤¤
+         ¤è¤¦¤Ë¤·¤¿(°ÜÆ°»þ¤Ë¥á¥Ã¥»¡¼¥¸¿ô¤Î·×»»¤ò¸í¤ë¥Ð¥°¤ò½¤Àµ)¡£
+
+2004-03-02
+
+       * src/folderview.c
+         src/summaryview.c: DnD »ÈÍÑ»þ¤Ï¾ï¤Ë¥Ç¥Õ¥©¥ë¥È¤Ç¥á¥Ã¥»¡¼¥¸¤ò°ÜÆ°¤¹¤ë
+         ¤è¤¦¤Ë¤·¤¿(¥Ë¥å¡¼¥¹¥Õ¥©¥ë¥À¤ò½ü¤¯)¡£ Ctrl ¥­¡¼¤¬²¡¤µ¤ì¤¿¾ì¹ç¤Ï
+         ¥á¥Ã¥»¡¼¥¸¤ò¥³¥Ô¡¼¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+       * src/mainwindow.c: main_window_empty_trash()
+         src/summaryview.c: summary_execute(): ÉÔ­¤·¤Æ¤¤¤¿
+         statusbar_pop_all() ¤òÄɲá£
+
 2004-02-29
 
        * version 0.9.10
 2004-02-29
 
        * version 0.9.10
 2004-02-26
 
        * src/account.c
 2004-02-26
 
        * src/account.c
-         src/folderview.c: IMAP4 ¥¢¥«¥¦¥ó¥È¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤È¤­¤Ï¥ª¥ó¥é¥¤¥ó¥â¡¼¥É¤Ë
-         ÀÚ¤êÂؤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£¤½¤Î¸å¥¹¥Æ¡¼¥¿¥¹¥Ð¡¼¤ò pop ¤¹¤ë¤è¤¦¤Ë¤·¤¿¡£
+         src/folderview.c: IMAP4 ¥¢¥«¥¦¥ó¥È¤ò¥Á¥§¥Ã¥¯¤¹¤ë¤È¤­¤Ï¥ª¥ó¥é¥¤¥ó
+         ¥â¡¼¥É¤ËÀÚ¤êÂؤ¨¤ë¤è¤¦¤Ë¤·¤¿¡£¤½¤Î¸å¥¹¥Æ¡¼¥¿¥¹¥Ð¡¼¤ò pop ¤¹¤ë¤è¤¦¤Ë
+         ¤·¤¿¡£
        * src/inc.c: ¥³¡¼¥É¤ÎÀ°Íý¡£
        * src/mainwindow.[ch]: main_window_get() ¤È
          main_window_toggle_online_if_offline() ¤òÄɲá£
        * src/inc.c: ¥³¡¼¥É¤ÎÀ°Íý¡£
        * src/mainwindow.[ch]: main_window_get() ¤È
          main_window_toggle_online_if_offline() ¤òÄɲá£
-       * src/prefs_common.c: prefs_common_read_config(): ½é²óµ¯Æ°»þ¤Ë¥ª¥Õ¥é¥¤¥ó
-         ¥â¡¼¥É¤Ë¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ¡£
+       * src/prefs_common.c: prefs_common_read_config(): ½é²óµ¯Æ°»þ¤Ë
+         ¥ª¥Õ¥é¥¤¥ó¥â¡¼¥É¤Ë¤·¤Æ¤·¤Þ¤Ã¤Æ¤¤¤¿¥Ð¥°¤ò½¤Àµ¡£
 
 2004-02-25
 
 
 2004-02-25
 
index 18fc49a6a07d908742ea4e33e559c0c3fc6fb595..a5f8e15379c04951b1c8cc91ac4a038a95f4e0cd 100644 (file)
@@ -11,7 +11,7 @@ MINOR_VERSION=9
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
 MICRO_VERSION=10
 INTERFACE_AGE=0
 BINARY_AGE=0
-EXTRA_VERSION=9
+EXTRA_VERSION=10
 if test $EXTRA_VERSION -eq 0; then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
 else
 if test $EXTRA_VERSION -eq 0; then
     VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}claws
 else
index f556f1d1a8cba250f48f2110a100680d15026200..5a2b5e6eacde66b5ad2b569b10cdff70401e805d 100644 (file)
@@ -2837,9 +2837,7 @@ static void folderview_drag_received_cb(GtkWidget        *widget,
                                case GDK_ACTION_MOVE:
                                case GDK_ACTION_DEFAULT:
                                default:
                                case GDK_ACTION_MOVE:
                                case GDK_ACTION_DEFAULT:
                                default:
-                       if (FOLDER_TYPE(src_item->folder) != FOLDER_TYPE(item->folder) ||
-                           (FOLDER_TYPE(item->folder) == F_IMAP &&
-                            src_item->folder != item->folder))
+                       if (FOLDER_TYPE(src_item->folder) == F_NEWS)
                                summary_copy_selected_to(folderview->summaryview, item);
                        else
                                summary_move_selected_to(folderview->summaryview, item);
                                summary_copy_selected_to(folderview->summaryview, item);
                        else
                                summary_move_selected_to(folderview->summaryview, item);
index be4154026b9586304ab39c0001310884732472d2..8985d605617ec0db7e8ab848c690e7dde0b183ee 100644 (file)
@@ -678,7 +678,10 @@ static GtkItemFactoryEntry mainwin_entries[] =
        {N_("/_Tools/_Harvest addresses/from _Messages..."),
                                                NULL, addr_harvest_msg_cb, 0, NULL},
        {N_("/_Tools/---"),                     NULL, NULL, 0, "<Separator>"},
        {N_("/_Tools/_Harvest addresses/from _Messages..."),
                                                NULL, addr_harvest_msg_cb, 0, NULL},
        {N_("/_Tools/---"),                     NULL, NULL, 0, "<Separator>"},
-       {N_("/_Tools/_Filter messages"),                NULL, filter_cb, 0, NULL},
+       {N_("/_Tools/_Filter all messages in folder"),
+                                               NULL, filter_cb, 0, NULL},
+       {N_("/_Tools/Filter _selected messages"),
+                                               NULL, filter_cb, 1, NULL},
        {N_("/_Tools/_Create filter rule"),     NULL, NULL, 0, "<Branch>"},
        {N_("/_Tools/_Create filter rule/_Automatically"),
                                                NULL, create_filter_cb, FILTER_BY_AUTO, NULL},
        {N_("/_Tools/_Create filter rule"),     NULL, NULL, 0, "<Branch>"},
        {N_("/_Tools/_Create filter rule/_Automatically"),
                                                NULL, create_filter_cb, FILTER_BY_AUTO, NULL},
@@ -1744,13 +1747,14 @@ void main_window_set_menu_sensitive(MainWindow *mainwin)
                {"/Message/Cancel a news message" , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NEWS},
                {"/Message/Mark"                  , M_TARGET_EXIST},
 
                {"/Message/Cancel a news message" , M_TARGET_EXIST|M_ALLOW_DELETE|M_UNLOCKED|M_NEWS},
                {"/Message/Mark"                  , M_TARGET_EXIST},
 
-               {"/Tools/Add sender to address book", M_SINGLE_TARGET_EXIST},
-               {"/Tools/Harvest addresses"         , M_UNLOCKED},
-               {"/Tools/Filter messages"           , M_MSG_EXIST|M_EXEC|M_UNLOCKED},
-               {"/Tools/Create filter rule"        , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
-               {"/Tools/Actions"                   , M_TARGET_EXIST|M_UNLOCKED},
-               {"/Tools/Execute"                   , M_DELAY_EXEC},
-               {"/Tools/Delete duplicated messages", M_MSG_EXIST|M_ALLOW_DELETE|M_UNLOCKED},
+               {"/Tools/Add sender to address book"   , M_SINGLE_TARGET_EXIST},
+               {"/Tools/Harvest addresses"            , M_UNLOCKED},
+               {"/Tools/Filter all messages in folder", M_MSG_EXIST|M_EXEC|M_UNLOCKED},
+               {"/Tools/Filter selected messages"     , M_TARGET_EXIST|M_EXEC|M_UNLOCKED},
+               {"/Tools/Create filter rule"           , M_SINGLE_TARGET_EXIST|M_UNLOCKED},
+               {"/Tools/Actions"                      , M_TARGET_EXIST|M_UNLOCKED},
+               {"/Tools/Execute"                      , M_DELAY_EXEC},
+               {"/Tools/Delete duplicated messages"   , M_MSG_EXIST|M_ALLOW_DELETE|M_UNLOCKED},
 
                {"/Configuration", M_UNLOCKED},
 
 
                {"/Configuration", M_UNLOCKED},
 
@@ -2723,7 +2727,7 @@ static void delete_duplicated_cb(MainWindow *mainwin, guint action,
 
 static void filter_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
 {
 
 static void filter_cb(MainWindow *mainwin, guint action, GtkWidget *widget)
 {
-       summary_filter(mainwin->summaryview);
+       summary_filter(mainwin->summaryview, (gboolean)action);
 }
 
 static void execute_summary_cb(MainWindow *mainwin, guint action,
 }
 
 static void execute_summary_cb(MainWindow *mainwin, guint action,
index c63e67be069d69a7a9b47cec2d4c72a84e6180c1..715a83190663a103d19b5dee92c766a4bef94a5f 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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
  *
  * 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
@@ -3914,7 +3914,7 @@ void summary_collapse_threads(SummaryView *summaryview)
        gtk_ctree_node_moveto(ctree, summaryview->selected, -1, 0.5, 0);
 }
 
        gtk_ctree_node_moveto(ctree, summaryview->selected, -1, 0.5, 0);
 }
 
-void summary_filter(SummaryView *summaryview)
+void summary_filter(SummaryView *summaryview, gboolean selected_only)
 {
        if (!filtering_rules) {
                alertpanel_error(_("No filter rules defined."));
 {
        if (!filtering_rules) {
                alertpanel_error(_("No filter rules defined."));
@@ -3946,10 +3946,20 @@ void summary_filter(SummaryView *summaryview)
                        summary_status_show(summaryview);
        }
        else {
                        summary_status_show(summaryview);
        }
        else {
-               gtk_ctree_pre_recursive(GTK_CTREE(summaryview->ctree), NULL,
-                                       GTK_CTREE_FUNC(summary_filter_func),
-                                       summaryview);
-
+               if (selected_only) {
+                       GList *cur;
+
+                       for (cur = GTK_CLIST(summaryview->ctree)->selection;
+                            cur != NULL; cur = cur->next) {
+                               summary_filter_func(GTK_CTREE(summaryview->ctree),
+                                                   GTK_CTREE_NODE(cur->data),
+                                                   summaryview);
+                       }
+               } else {
+                       gtk_ctree_pre_recursive(GTK_CTREE(summaryview->ctree), NULL,
+                                               GTK_CTREE_FUNC(summary_filter_func),
+                                               summaryview);
+               }
                gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
        }
 
                gtk_clist_thaw(GTK_CLIST(summaryview->ctree));
        }
 
index a2ff08af76e82671a2f8a349148f9fa889d6ff30..e9b6832d9fe3a261706f1a5db6dacebe42656d70 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
 /*
  * Sylpheed -- a GTK+ based, lightweight, and fast e-mail client
- * Copyright (C) 1999-2003 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2004 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
  *
  * 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
@@ -204,7 +204,8 @@ void summary_expand_threads   (SummaryView          *summaryview);
 void summary_collapse_threads    (SummaryView          *summaryview);
 void summary_toggle_ignore_thread (SummaryView         *summaryview);
 
 void summary_collapse_threads    (SummaryView          *summaryview);
 void summary_toggle_ignore_thread (SummaryView         *summaryview);
 
-void summary_filter              (SummaryView          *summaryview);
+void summary_filter              (SummaryView          *summaryview,
+                                  gboolean              selected_only);
 void summary_filter_open          (SummaryView *summaryview,
                                   PrefsFilterType type,
                                   gint processing_rule);
 void summary_filter_open          (SummaryView *summaryview,
                                   PrefsFilterType type,
                                   gint processing_rule);