From a5dc758170c40d86ee361f607eae62aa6e7509d8 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Mon, 30 Aug 1999 22:36:43 +0000 Subject: Modify the object->last_mod field. (calendar_add_object): Ditto. 1999-08-30 Miguel de Icaza * calendar.c (calendar_object_changed): Modify the object->last_mod field. (calendar_add_object): Ditto. Closes bug #676 * main.c (save_calendar_cmd): Fix problem in which we warned the user about the calendar being modified the first time the calendar was used. svn path=/trunk/; revision=1150 --- calendar/ChangeLog | 12 ++++++++++++ calendar/calendar.c | 4 +++- calendar/gui/calendar.c | 4 +++- calendar/gui/main.c | 8 +++++++- calendar/main.c | 8 +++++++- 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/calendar/ChangeLog b/calendar/ChangeLog index c3413eefbf..d6e07deabd 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,15 @@ +1999-08-30 Miguel de Icaza + + * calendar.c (calendar_object_changed): Modify the + object->last_mod field. + (calendar_add_object): Ditto. + + Closes bug #676 + + * main.c (save_calendar_cmd): Fix problem in which we warned the + user about the calendar being modified the first time the calendar + was used. + 1999-08-22 Tomas Ogren * gnomecal.gnorba: "GenericFactoy" is wrong... diff --git a/calendar/calendar.c b/calendar/calendar.c index dfeb1d6cc8..e6c6dddf59 100644 --- a/calendar/calendar.c +++ b/calendar/calendar.c @@ -133,7 +133,7 @@ calendar_add_object (Calendar *cal, iCalObject *obj) cal->modified = TRUE; - /* FIXME: do we have to set the last_mod field in the object? */ + obj->last_mod = time (NULL); } void @@ -504,6 +504,8 @@ calendar_get_events_in_range (Calendar *cal, time_t start, time_t end) void calendar_object_changed (Calendar *cal, iCalObject *obj, int flags) { + obj->last_mod = time (NULL); + if (!(flags & CHANGE_DATES)) return; diff --git a/calendar/gui/calendar.c b/calendar/gui/calendar.c index dfeb1d6cc8..e6c6dddf59 100644 --- a/calendar/gui/calendar.c +++ b/calendar/gui/calendar.c @@ -133,7 +133,7 @@ calendar_add_object (Calendar *cal, iCalObject *obj) cal->modified = TRUE; - /* FIXME: do we have to set the last_mod field in the object? */ + obj->last_mod = time (NULL); } void @@ -504,6 +504,8 @@ calendar_get_events_in_range (Calendar *cal, time_t start, time_t end) void calendar_object_changed (Calendar *cal, iCalObject *obj, int flags) { + obj->last_mod = time (NULL); + if (!(flags & CHANGE_DATES)) return; diff --git a/calendar/gui/main.c b/calendar/gui/main.c index 6c4a4b4522..1cd65f331e 100644 --- a/calendar/gui/main.c +++ b/calendar/gui/main.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "calendar.h" #include "alarm.h" #include "eventedit.h" @@ -422,7 +423,12 @@ save_calendar_cmd (GtkWidget *widget, void *data) if (gcal->cal->filename){ struct stat s; - stat (gcal->cal->filename, &s); + if (stat (gcal->cal->filename, &s) == -1){ + if (errno == ENOENT) + calendar_save (gcal->cal, gcal->cal->filename); + + return; + } if (s.st_mtime != gcal->cal->file_time){ GtkWidget *box; diff --git a/calendar/main.c b/calendar/main.c index 6c4a4b4522..1cd65f331e 100644 --- a/calendar/main.c +++ b/calendar/main.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "calendar.h" #include "alarm.h" #include "eventedit.h" @@ -422,7 +423,12 @@ save_calendar_cmd (GtkWidget *widget, void *data) if (gcal->cal->filename){ struct stat s; - stat (gcal->cal->filename, &s); + if (stat (gcal->cal->filename, &s) == -1){ + if (errno == ENOENT) + calendar_save (gcal->cal, gcal->cal->filename); + + return; + } if (s.st_mtime != gcal->cal->file_time){ GtkWidget *box; -- cgit v1.2.3