2004-08-27 [colin] 0.9.12cvs83.1

* ChangeLog
	* ChangeLog.claws
	* ChangeLog.jp
	* src/mh.c
	* src/procheader.c
	* src/procmsg.c
	* src/procmsg.h
	* src/common/utils.c
	* src/gtk/menu.h
	* po/
		Sync with HEAD 0.9.12cvs83
This commit is contained in:
Colin Leroy 2004-08-27 08:39:02 +00:00
parent 0cd845a780
commit c4f4286f0d
33 changed files with 71753 additions and 50088 deletions

View file

@ -1,3 +1,75 @@
2004-08-27
* src/prefs_filter.c: auto-scroll when a new rule is added.
open edit dialog when a rule is double-clicked.
prefs_filter_copy_cb(): implemented.
* src/prefs_filter_edit.c: implemented action "Stop rule evaluation".
2004-08-26
* src/filter.[ch]
src/inc.c
src/mbox.c
src/prefs_filter_edit.c
src/summaryview.c: renamed FilterResult to FilterInfo, and added
account to its members.
Implemented command test, size, age, account, and on-receive
condition.
* src/mh.c
src/procheader.c: procheader_parse_file(): also get file size and
timestamp.
* src/utils.c:
execute_async()
execute_sync()
execute_command_line(): return exit status.
2004-08-26
* src/filter.[ch]
src/inc.c: save all types of performed actions.
filter_rule_rename_dest_path(): modified for the new system.
filter_rule_delete_action_by_dest_path(): delete actions that
matches with a path.
* src/mbox.c: proc_mbox(): ignore FLT_ACTION_NOT_RECEIVE.
* src/prefs_filter.c: prefs_filter_delete_path(): modified for the new
system.
* src/summaryview.c:
summary_filter()
summary_filter_func(): modified for the new system.
2004-08-25
* src/filter.[ch]: implemented message body match.
* src/procmime.[ch]:
procmime_find_string_part()
procmime_find_string(): take function pointer for matching.
* src/procmsg.[ch]: added file_path (which is only used for temporary
messages) to MsgInfo.
procmsg_msginfo_copy()
procmsg_msginfo_free(): handle extra members.
* src/summary_search.c: modified for procmime_find_string().
* src/summaryview.c: filter_apply_local() -> filter_apply_msginfo().
* src/utils.[ch]: added function for string match.
* src/compose.c
src/undo.c: removed redundant debug messages.
2004-08-24
* implemented the new filtering system (still in progress).
* src/defs.h
src/filter.[ch]: implemented reading/writing of filter XML data.
* src/prefs_filter.[ch]
src/prefs_filter_edit.[ch]: implemented UI for the new filtering
system.
* src/inc.c
src/main.c
src/mbox.c
src/pop.c
src/summaryview.c: modified for the new filtering system.
* src/menu.h: MENUITEM_ADD(): create separator if label is NULL.
* src/procheader.[ch]: added some utility functions.
* src/utils.c: open_uri(): modified warning message.
2004-08-09
* src/main.c: removed parsing of "./gtkrc".
@ -53,7 +125,7 @@
2004-06-23
* src/compose.[ch]: autowrap can be switchd on/off from the compose
* src/compose.[ch]: autowrap can be switched on/off from the compose
window.
2004-06-17

View file

@ -1,3 +1,17 @@
2004-08-27 [colin] 0.9.12cvs83.1
* ChangeLog
* ChangeLog.claws
* ChangeLog.jp
* src/mh.c
* src/procheader.c
* src/procmsg.c
* src/procmsg.h
* src/common/utils.c
* src/gtk/menu.h
* po/
Sync with HEAD 0.9.12cvs83
2004-08-26 [colin] 0.9.12cvs82.4
* src/codeconv.c

View file

@ -1,3 +1,91 @@
2004-08-27 [paul] 0.9.12cvs83
* src/mh.c
* src/procheader.c
* src/procmsg.c
* src/procmsg.h
* src/common/utils.c
* src/gtk/menu.h
sync with main 0.9.12cvs6, see ChangeLog
2004-08-24, 2004-08-25, 2004-08-26
2004-08-26 [paul]
* po/ja.po
updated by Rui Hirokawa
2004-08-25 [colin] 0.9.12cvs82
* src/plugins/pgpmime/pgpmime.c
Fix leak on non-combined encrypted messages
2004-08-25 [colin] 0.9.12cvs81
* src/plugins/pgpmime/pgpmime.c
* src/plugins/pgpmime/sgpgme.c
* src/plugins/pgpmime/sgpgme.h
Handle combined encryption/signature
2004-08-24 [colin] 0.9.12cvs80
* src/folder.c
Set mime flags on non multipart messages too
2004-08-23 [christoph] 0.9.12cvs79
* src/compose.c
create message header in memory as GString before writing it
to the message file
2004-08-23 [colin] 0.9.12cvs78
* src/rfc2015.c
* src/rfc2015.h
* src/compose.c
Fix (again) bug 197: inline encryption broken
2004-08-23 [paul]
* po/zh_CN.po
updated by Hansom Young
2004-08-23 [paul]
* 0.9.12a released
2004-08-23 [colin] 0.9.12cvs77
* src/imap.c
Try and fix bug 577 (session->last_access_time is broken since
sync with main 0.9.12cvs2).
Patch by Stephan Sachse <whiteman@teg-clan.de>
2004-08-23 [paul]
* po/es.po
* po/fr.po
* po/pl.po
* po/pt_BR.po
* po/sk.po
* po/sr.po
update translations. submitted by Ricardo
Mones Lastra, Fabien Vantard, Emilian Nowak,
Frederico Goncalves Guimaraes, Andrej Kacian,
Urke MMI
2004-08-22 [paul] 0.9.12cvs76
* src/plugins/trayicon/trayicon.c
fix formatting bug in trayicon_popup_menu_entries[]
2004-08-22 [paul] 0.9.12cvs75
* m4/Makefile.am
remove reference to openssl.m4
2004-08-21 [colin] 0.9.12cvs74
* src/compose.c

View file

@ -1,3 +1,76 @@
2004-08-27
* src/prefs_filter.c: 新規ルールが追加されたら自動スクロールする
ようにした。
ルールがダブルクリックされたら編集ダイアログを開くようにした。
prefs_filter_copy_cb(): 実装。
* src/prefs_filter_edit.c: アクション「ルールの評価を停止」を実装。
2004-08-26
* src/filter.[ch]
src/inc.c
src/mbox.c
src/prefs_filter_edit.c
src/summaryview.c: FilterResult を FilterInfo に改名し、メンバに
account を追加。
command test, size, age, account, on-receive 条件を実装。
* src/mh.c
src/procheader.c: procheader_parse_file(): ファイルサイズと
タイムスタンプも得るようにした。
* src/utils.c:
execute_async()
execute_sync()
execute_command_line(): 終了ステータスを返すようにした。
2004-08-26
* src/filter.[ch]
src/inc.c: 実行した全てのアクションタイプを保存。
filter_rule_rename_dest_path(): 新システムに合わせて修正。
filter_rule_delete_action_by_dest_path(): パスにマッチする
アクションを削除。
* src/mbox.c: proc_mbox(): FLT_ACTION_NOT_RECEIVE を無視するように
した。
* src/prefs_filter.c: prefs_filter_delete_path(): 新システムに
合わせて修正。
* src/summaryview.c:
summary_filter()
summary_filter_func(): 新システムに合わせて修正。
2004-08-25
* src/filter.[ch]: メッセージ本文へのマッチを実装。
* src/procmime.[ch]:
procmime_find_string_part()
procmime_find_string(): マッチング関数ポインタを受け取るようにした。
* src/procmsg.[ch]: file_path (一時メッセージのみに使用)を MsgInfo
に追加。
procmsg_msginfo_copy()
procmsg_msginfo_free(): 残りのメンバを扱うようにした。
* src/summary_search.c: procmime_find_string() のための修正。
* src/summaryview.c: filter_apply_local() -> filter_apply_msginfo().
* src/utils.[ch]: 文字列マッチ用関数を追加。
* src/compose.c
src/undo.c: 余分なデバッグメッセージを削除。
2004-08-24
* 新フィルタリングシステムを実装(現在進行中)。
* src/defs.h
src/filter.[ch]: フィルタリングの XML データの読み書きを実装。
* src/prefs_filter.[ch]
src/prefs_filter_edit.[ch]: 新フィルタリングシステムの UI を実装。
* src/inc.c
src/main.c
src/mbox.c
src/pop.c
src/summaryview.c: 新フィルタリングシステムに合わせて修正。
* src/menu.h: MENUITEM_ADD(): label が NULL の場合セパレータを作成
するようにした。
* src/procheader.[ch]: ユーティリティ関数を追加。
* src/utils.c: open_uri(): 警告メッセージを修正。
2004-08-09
* src/main.c: "./gtkrc" をパースしないようにした。

View file

@ -144,3 +144,4 @@
( cvs diff -u -r 1.1.2.2 -r 1.1.2.3 src/wizard.c; ) > 0.9.12cvs82.2.patchset
( cvs diff -u -r 1.115.2.16 -r 1.115.2.17 src/main.c; cvs diff -u -r 1.1.2.3 -r 1.1.2.4 src/wizard.c; ) > 0.9.12cvs82.3.patchset
( cvs diff -u -r 1.65.2.12 -r 1.65.2.13 src/codeconv.c; ) > 0.9.12cvs82.4.patchset
( cvs diff -u -r 1.396.2.8 -r 1.396.2.9 ChangeLog; cvs diff -u -r 1.2504.2.16 -r 1.2504.2.17 ChangeLog.claws; cvs diff -u -r 1.391.2.8 -r 1.391.2.9 ChangeLog.jp; cvs diff -u -r 1.79.2.3 -r 1.79.2.4 src/mh.c; cvs diff -u -r 1.47.2.8 -r 1.47.2.9 src/procheader.c; cvs diff -u -r 1.150.2.7 -r 1.150.2.8 src/procmsg.c; cvs diff -u -r 1.60.2.6 -r 1.60.2.7 src/procmsg.h; cvs diff -u -r 1.36.2.6 -r 1.36.2.7 src/common/utils.c; cvs diff -u -r 1.4.2.4 -r 1.4.2.5 src/gtk/menu.h; cvs diff -u -r 1.21 -r 1.22 po/bg.po; cvs diff -u -r 1.9 -r 1.10 po/cs.po; cvs diff -u -r 1.58.2.3 -r 1.58.2.4 po/de.po; cvs diff -u -r 1.9 -r 1.10 po/el.po; cvs diff -u -r 1.12.2.1 -r 1.12.2.2 po/en_GB.po; cvs diff -u -r 1.60.2.4 -r 1.60.2.5 po/es.po; cvs diff -u -r 1.42.2.4 -r 1.42.2.5 po/fr.po; cvs diff -u -r 1.7.2.1 -r 1.7.2.2 po/hr.po; cvs diff -u -r 1.5 -r 1.6 po/hu.po; cvs diff -u -r 1.34.2.3 -r 1.34.2.4 po/it.po; cvs diff -u -r 1.16.2.2 -r 1.16.2.3 po/ja.po; cvs diff -u -r 1.8 -r 1.9 po/ko.po; cvs diff -u -r 1.28 -r 1.29 po/nl.po; cvs diff -u -r 1.10.2.4 -r 1.10.2.5 po/pl.po; cvs diff -u -r 1.50.2.2 -r 1.50.2.3 po/pt_BR.po; cvs diff -u -r 1.17.2.1 -r 1.17.2.2 po/ru.po; cvs diff -u -r 1.2.2.4 -r 1.2.2.5 po/sk.po; cvs diff -u -r 1.17.2.4 -r 1.17.2.5 po/sr.po; cvs diff -u -r 1.4 -r 1.5 po/sv.po; cvs diff -u -r 1.5.2.3 -r 1.5.2.4 po/zh_CN.po; cvs diff -u -r 1.11 -r 1.12 po/zh_TW.Big5.po; ) > 0.9.12cvs83.1.patchset

View file

@ -11,9 +11,9 @@ MINOR_VERSION=9
MICRO_VERSION=12
INTERFACE_AGE=0
BINARY_AGE=0
EXTRA_VERSION=82
EXTRA_VERSION=83
EXTRA_RELEASE=
EXTRA_GTK2_VERSION=.4
EXTRA_GTK2_VERSION=.1
if test \( $EXTRA_VERSION -eq 0 \) -o \( "x$EXTRA_RELEASE" != "x" \); then
VERSION=${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}${EXTRA_RELEASE}${EXTRA_GTK2_VERSION}

6876
po/bg.po

File diff suppressed because it is too large Load diff

7562
po/cs.po

File diff suppressed because it is too large Load diff

3464
po/de.po

File diff suppressed because it is too large Load diff

7320
po/el.po

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

2464
po/es.po

File diff suppressed because it is too large Load diff

2494
po/fr.po

File diff suppressed because it is too large Load diff

6294
po/hr.po

File diff suppressed because it is too large Load diff

8130
po/hu.po

File diff suppressed because it is too large Load diff

17513
po/it.po

File diff suppressed because it is too large Load diff

4178
po/ja.po

File diff suppressed because it is too large Load diff

7250
po/ko.po

File diff suppressed because it is too large Load diff

7509
po/nl.po

File diff suppressed because it is too large Load diff

2469
po/pl.po

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

4002
po/ru.po

File diff suppressed because it is too large Load diff

2494
po/sk.po

File diff suppressed because it is too large Load diff

389
po/sr.po

File diff suppressed because it is too large Load diff

7383
po/sv.po

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3051,6 +3051,7 @@ gchar *file_read_stream_to_str(FILE *fp)
gint execute_async(gchar *const argv[])
{
pid_t pid;
gint status;
if ((pid = fork()) < 0) {
perror("fork");
@ -3075,14 +3076,18 @@ gint execute_async(gchar *const argv[])
_exit(0);
}
waitpid(pid, NULL, 0);
waitpid(pid, &status, 0);
return 0;
if (WIFEXITED(status))
return WEXITSTATUS(status);
else
return -1;
}
gint execute_sync(gchar *const argv[])
{
pid_t pid;
gint status;
if ((pid = fork()) < 0) {
perror("fork");
@ -3096,9 +3101,12 @@ gint execute_sync(gchar *const argv[])
_exit(1);
}
waitpid(pid, NULL, 0);
waitpid(pid, &status, 0);
return 0;
if (WIFEXITED(status))
return WEXITSTATUS(status);
else
return -1;
}
gint execute_command_line(const gchar *cmdline, gboolean async)
@ -3106,12 +3114,15 @@ gint execute_command_line(const gchar *cmdline, gboolean async)
gchar **argv;
gint ret;
debug_print("executing: %s\n", cmdline);
argv = strsplit_with_quote(cmdline, " ", 0);
if (async)
ret = execute_async(argv);
else
ret = execute_sync(argv);
g_strfreev(argv);
return ret;
@ -3208,11 +3219,12 @@ gint open_uri(const gchar *uri, const gchar *cmdline)
g_snprintf(buf, sizeof(buf), cmdline, encoded_uri);
else {
if (cmdline)
g_warning("Open URI command line is invalid: `%s'",
g_warning("Open URI command line is invalid "
"(there must be only one '%%s'): %s",
cmdline);
g_snprintf(buf, sizeof(buf), DEFAULT_BROWSER_CMD, encoded_uri);
}
execute_command_line(buf, TRUE);
return 0;

View file

@ -29,15 +29,20 @@
#define MENU_VAL_ID "Sylpheed::Menu::ValueID"
#define MENUITEM_ADD(menu, menuitem, label, data) \
{ \
menuitem = gtk_menu_item_new_with_label(label); \
gtk_widget_show(menuitem); \
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); \
if (data) \
g_object_set_data(G_OBJECT(menuitem), \
MENU_VAL_ID, \
GINT_TO_POINTER(data)); \
#define MENUITEM_ADD(menu, menuitem, label, data) \
{ \
if (label) \
menuitem = gtk_menu_item_new_with_label(label); \
else { \
menuitem = gtk_menu_item_new(); \
gtk_widget_set_sensitive(menuitem, FALSE); \
} \
gtk_widget_show(menuitem); \
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem); \
if (data) \
g_object_set_data(G_OBJECT(menuitem), \
MENU_VAL_ID, \
GINT_TO_POINTER(data)); \
}
#define menu_set_insensitive_all(menu_shell) \

View file

@ -697,7 +697,6 @@ static gint mh_remove_folder(Folder *folder, FolderItem *item)
static MsgInfo *mh_parse_msg(const gchar *file, FolderItem *item)
{
struct stat s;
MsgInfo *msginfo;
MsgFlags flags;
@ -713,20 +712,11 @@ static MsgInfo *mh_parse_msg(const gchar *file, FolderItem *item)
MSG_SET_TMP_FLAGS(flags, MSG_DRAFT);
}
if (stat(file, &s) < 0) {
FILE_OP_ERROR(file, "stat");
return NULL;
}
if (!S_ISREG(s.st_mode))
return NULL;
msginfo = procheader_parse_file(file, flags, FALSE, FALSE);
if (!msginfo) return NULL;
msginfo->msgnum = atoi(file);
msginfo->folder = item;
msginfo->size = s.st_size;
msginfo->mtime = s.st_mtime;
return msginfo;
}

View file

@ -1,6 +1,6 @@
/*
* 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
@ -26,6 +26,7 @@
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <sys/stat.h>
#include "intl.h"
#include "procheader.h"
@ -465,9 +466,17 @@ void procheader_get_header_fields(FILE *fp, HeaderEntry hentry[])
MsgInfo *procheader_parse_file(const gchar *file, MsgFlags flags,
gboolean full, gboolean decrypted)
{
struct stat s;
FILE *fp;
MsgInfo *msginfo;
if (stat(file, &s) < 0) {
FILE_OP_ERROR(file, "stat");
return NULL;
}
if (!S_ISREG(s.st_mode))
return NULL;
if ((fp = fopen(file, "rb")) == NULL) {
FILE_OP_ERROR(file, "fopen");
return NULL;
@ -475,6 +484,12 @@ MsgInfo *procheader_parse_file(const gchar *file, MsgFlags flags,
msginfo = procheader_parse_stream(fp, flags, full, decrypted);
fclose(fp);
if (msginfo) {
msginfo->size = s.st_size;
msginfo->mtime = s.st_mtime;
}
return msginfo;
}

View file

@ -850,6 +850,7 @@ MsgInfo *procmsg_msginfo_copy(MsgInfo *msginfo)
MEMBCOPY(size);
MEMBCOPY(mtime);
MEMBCOPY(date_t);
MEMBCOPY(flags);
MEMBDUP(fromname);
@ -874,6 +875,7 @@ MsgInfo *procmsg_msginfo_copy(MsgInfo *msginfo)
MEMBCOPY(score);
MEMBCOPY(threadscore);
MEMBDUP(plaintext_file);
return newmsginfo;
}
@ -955,6 +957,8 @@ void procmsg_msginfo_free(MsgInfo *msginfo)
g_free(msginfo->partial_recv);
g_free(msginfo->account_server);
g_free(msginfo->account_login);
g_free(msginfo->plaintext_file);
g_free(msginfo);
}

View file

@ -203,7 +203,6 @@ struct _MsgInfo
/* used only for encrypted messages */
gchar *plaintext_file;
guint decryption_failed : 1;
gint hidden;