aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog5
-rw-r--r--mail/message-list.c37
2 files changed, 33 insertions, 9 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 193d276e05..0b6ce30585 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,8 @@
+2000-12-24 Christopher James Lahey <clahey@helixcode.com>
+
+ * message-list.c (filter_date): Changed this to do different
+ formatting of dates within the last week.
+
2000-12-24 Not Zed <NotZed@HelixCode.com>
* Merge from camel-mt-branch.
diff --git a/mail/message-list.c b/mail/message-list.c
index c34b01c18f..9d08d04308 100644
--- a/mail/message-list.c
+++ b/mail/message-list.c
@@ -959,31 +959,50 @@ filter_date (const void *data)
time_t yesdate;
struct tm then, now, yesterday;
char buf[26];
+ gboolean done = FALSE;
if (date == 0)
- return g_strdup ("?");
+ return g_strdup (_("?"));
localtime_r (&date, &then);
localtime_r (&nowdate, &now);
if (then.tm_mday == now.tm_mday &&
then.tm_mon == now.tm_mon &&
then.tm_year == now.tm_year) {
- strftime (buf, 26, "Today %T", &then);
- } else {
+ strftime (buf, 26, _("Today %T"), &then);
+ done = TRUE;
+ }
+ if (!done) {
yesdate = nowdate - 60 * 60 * 24;
localtime_r (&yesdate, &yesterday);
if (then.tm_mday == yesterday.tm_mday &&
then.tm_mon == yesterday.tm_mon &&
then.tm_year == yesterday.tm_year) {
- strftime (buf, 26, "Yesterday %T", &then);
- } else {
- if (then.tm_year == now.tm_year) {
- strftime (buf, 26, "%b %d %T", &then);
- } else {
- strftime (buf, 26, "%b %d %Y", &then);
+ strftime (buf, 26, _("Yesterday %T"), &then);
+ done = TRUE;
+ }
+ }
+ if (!done) {
+ int i;
+ for (i = 2; i < 7; i++) {
+ yesdate = nowdate - 60 * 60 * 24 * i;
+ localtime_r (&yesdate, &yesterday);
+ if (then.tm_mday == yesterday.tm_mday &&
+ then.tm_mon == yesterday.tm_mon &&
+ then.tm_year == yesterday.tm_year) {
+ strftime (buf, 26, _("%a %T"), &then);
+ done = TRUE;
+ break;
}
}
}
+ if (!done) {
+ if (then.tm_year == now.tm_year) {
+ strftime (buf, 26, _("%b %d %T"), &then);
+ } else {
+ strftime (buf, 26, _("%b %d %Y"), &then);
+ }
+ }
#if 0
#ifdef CTIME_R_THREE_ARGS
ctime_r (&date, buf, 26);