aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLog.ja7
-rw-r--r--NEWS8
-rw-r--r--libsylph/pop.c6
-rw-r--r--libsylph/pop.h3
-rw-r--r--src/inc.c12
-rw-r--r--src/inc.h1
7 files changed, 39 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 34cd9dbf..5e794c88 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,13 @@
+2006-10-03
+
+ * src/inc.[ch]: exclude messages marked as read when counting new
+ messages.
+ * libsylph/pop.[ch]: count messages skipped by size limit.
+
2006-10-02
* src/mainwindow.c: main_window_get_position(): don't update position
- if window is hidden.
+ when window is hidden.
2006-09-28
diff --git a/ChangeLog.ja b/ChangeLog.ja
index dd3e1c7a..1f06d745 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,3 +1,10 @@
+2006-10-03
+
+ * src/inc.[ch]: 新着メッセージをカウントするときは既読になった
+ メッセージを除外するようにした。
+ * libsylph/pop.[ch]: サイズ制限によりスキップされたメッセージ数を
+ カウントするようにした。
+
2006-10-02
* src/mainwindow.c: main_window_get_position(): ウィンドウが隠されて
diff --git a/NEWS b/NEWS
index ff419510..817407a2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,13 @@
Changes of Sylpheed
+* 2.3.0beta2 (development)
+
+ * Win32: GTK+ was updated to 2.10.4.
+ * Win32: The crash that occurred when Desktop folder was selected on the
+ file selection dialog was fixed.
+ * Win32: The bug that window position was reset when quitting Sylpheed
+ while window was hidden was fixed.
+
* 2.3.0beta1 (development)
* GtkStatusIcon is used for the tray icon if available.
diff --git a/libsylph/pop.c b/libsylph/pop.c
index 143bb89d..be6baf45 100644
--- a/libsylph/pop.c
+++ b/libsylph/pop.c
@@ -1,6 +1,6 @@
/*
* LibSylph -- E-Mail client library
- * Copyright (C) 1999-2005 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2006 Hiroyuki Yamamoto
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -629,10 +629,12 @@ static Pop3State pop3_lookup_next(Pop3Session *session)
return POP3_DELETE;
}
- if (size_limit_over)
+ if (size_limit_over && !msg->received) {
log_print
(_("POP3: Skipping message %d (%d bytes)\n"),
session->cur_msg, size);
+ session->skipped_num++;
+ }
if (size == 0 || msg->received || size_limit_over) {
session->cur_total_bytes += size;
diff --git a/libsylph/pop.h b/libsylph/pop.h
index b15f8ead..6078fd27 100644
--- a/libsylph/pop.h
+++ b/libsylph/pop.h
@@ -1,6 +1,6 @@
/*
* LibSylph -- E-Mail client library
- * Copyright (C) 1999-2005 Hiroyuki Yamamoto
+ * Copyright (C) 1999-2006 Hiroyuki Yamamoto
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -121,6 +121,7 @@ struct _Pop3Session
gint cur_total_num;
gint64 cur_total_bytes;
gint64 cur_total_recv_bytes;
+ gint skipped_num;
Pop3MsgInfo *msg;
diff --git a/src/inc.c b/src/inc.c
index 587e68c1..6c7dece1 100644
--- a/src/inc.c
+++ b/src/inc.c
@@ -462,9 +462,14 @@ static IncSession *inc_session_new(PrefsAccount *account)
session_set_recv_data_notify(session->session,
inc_recv_data_finished, session);
+ session->inc_state = INC_SUCCESS;
+
session->folder_table = g_hash_table_new(NULL, NULL);
session->tmp_folder_table = g_hash_table_new(NULL, NULL);
+ session->cur_total_bytes = 0;
+ session->new_msgs = 0;
+
return session;
}
@@ -597,7 +602,7 @@ static gint inc_start(IncProgressDialog *inc_dialog)
break;
}
- new_msgs += pop3_session->cur_total_num;
+ new_msgs += session->new_msgs;
if (!prefs_common.scan_all_after_inc) {
folder_item_scan_foreach(session->folder_table);
@@ -1098,8 +1103,11 @@ static gint inc_drop_message(Pop3Session *session, const gchar *file)
val = DROP_DONT_RECEIVE;
else if (fltinfo->actions[FLT_ACTION_DELETE] == TRUE)
val = DROP_DELETE;
- else
+ else {
val = DROP_OK;
+ if (fltinfo->actions[FLT_ACTION_MARK_READ] == FALSE)
+ inc_session->new_msgs++;
+ }
filter_info_free(fltinfo);
diff --git a/src/inc.h b/src/inc.h
index 80a1bc4e..3e15f4ff 100644
--- a/src/inc.h
+++ b/src/inc.h
@@ -74,6 +74,7 @@ struct _IncSession
GHashTable *tmp_folder_table; /* for progressive update */
gint64 cur_total_bytes;
+ gint new_msgs;
gpointer data;
};