From 16c2b6b04f9c4ddc4c3b8ef94333d7de0ed2eacb Mon Sep 17 00:00:00 2001 From: Thierry Pasqualier Date: Wed, 24 Oct 2007 06:56:06 +0000 Subject: [PATCH] fix short and ongoing events bug display. test it --- webcit/calendar_view.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index 315169577..9e6dd58ff 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -883,7 +883,7 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, if ((show_event) && (p != NULL)) { - if ((event_te.tm_mday != today_start_t.day) && (event_tm.tm_mday != today_start_t.day)) ongoing_event = 1; + if ((event_te.tm_mday != day) || (event_tm.tm_mday != day)) ongoing_event = 1; if (all_day_event) { @@ -958,10 +958,13 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, else { gap++; - if ((hour == event_te.tm_hour) && ! ongoing_event ) { + if ((today_start_t.hour == t.hour) + && ((event_te.tm_mday == day) + || (event_tm.tm_mday == day))) + { - if (event_te.tm_mday != today_start_t.day) event_te.tm_hour = 0; - if (event_tm.tm_mday != today_start_t.day) event_tm.tm_hour = 24; + if (event_te.tm_mday != day) event_te.tm_hour = 0; + if (event_tm.tm_mday != day) event_tm.tm_hour = 24; if ((event_te.tm_hour < dstart) && (event_tm.tm_hour <= dstart)) { startmin = diffmin = event_te.tm_min / 6; @@ -996,10 +999,10 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, if ((event_te.tm_hour > dend) && (event_tm.tm_hour > dend)) { startmin = diffmin = event_te.tm_min / 6; endmin = event_tm.tm_min / 6; - top = (dstart * 10) + ((dend - dstart) * 30) + ((event_tm.tm_hour - event_te.tm_hour) * 10) + startmin - 1; + top = (dstart * 10) + ((dend - dstart) * 30) + ((event_tm.tm_hour - event_te.tm_hour + 1) * 10) + startmin - 1; height = ((event_tm.tm_hour - event_te.tm_hour) * 10) + endmin - diffmin; } - } // TODO: we seem to end up here for some reason if we're just a one hour event. Thierry, please decide what to do then... + // TODO: we seem to end up here for some reason if we're just a one hour event. Thierry, please decide what to do then... wprintf("
\n"); - + } } } } -- 2.30.2