From 6de199e2d44877dd4474e57bc3e1d8f36a0d62f9 Mon Sep 17 00:00:00 2001 From: Thierry Pasqualier Date: Wed, 17 Oct 2007 19:47:06 +0000 Subject: [PATCH] Day view work with IE 6 and IE 5.5 --- webcit/calendar_view.c | 112 ++++++++++++++++++++++++++++++++------- webcit/static/webcit.css | 9 ++-- 2 files changed, 97 insertions(+), 24 deletions(-) diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index 10e3542a3..ffa6356d6 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -799,7 +799,7 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, struct tm ending_tm; int top = 0; int height = 0; - int gap = 0; + int gap = 1; int startmin = 0; int diffmin = 0; int endmin = 0; @@ -914,38 +914,38 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, if ((event_te.tm_hour < dstart) && (event_tm.tm_hour <= dstart)) { startmin = diffmin = event_te.tm_min / 6; endmin = ((event_tm.tm_hour == hour) ? (event_tm.tm_min / 2) : (event_tm.tm_min / 6)) ; - top = (event_te.tm_hour * 11) + startmin -1; - height= ((event_tm.tm_hour - event_te.tm_hour) * 11) + endmin - diffmin ; + top = (event_te.tm_hour * 10) + startmin -1; + height= ((event_tm.tm_hour - event_te.tm_hour) * 10) + endmin - diffmin ; } if ((event_te.tm_hour < dstart) && (event_tm.tm_hour >= dstart)) { startmin = diffmin = event_te.tm_min / 6; endmin = event_tm.tm_min / 2; - top = (event_te.tm_hour * 11) + startmin - 1; - height = ((dstart - event_te.tm_hour) * 11) + ((event_tm.tm_hour - dstart) * 31) + endmin - (diffmin * 3); + top = (event_te.tm_hour * 10) + startmin - 1; + height = ((dstart - event_te.tm_hour) * 10) + ((event_tm.tm_hour - dstart) * 30) + endmin - (diffmin * 3); } if ((event_te.tm_hour <= dstart) && (event_tm.tm_hour > dend)) { startmin = diffmin = ((event_te.tm_hour == hour) ? (event_te.tm_min / 2) : (event_te.tm_min / 6)) ; endmin = event_tm.tm_min / 6; - top = (event_te.tm_hour * 11) + startmin - 1; - height = ((dstart - event_te.tm_hour) * 11) + ((dend - dstart + 1) * 31) + ((event_tm.tm_hour - dend - 1) * 10) + endmin - diffmin; + top = (event_te.tm_hour * 10) + startmin - 1; + height = ((dstart - event_te.tm_hour) * 10) + ((dend - dstart + 1) * 30) + ((event_tm.tm_hour - dend - 1) * 10) + endmin - diffmin; } if ((event_te.tm_hour >= dstart) && (event_tm.tm_hour <= dend)) { startmin = diffmin = (event_te.tm_min / 2); endmin = event_tm.tm_min / 2; - top = (dstart * 11) + ((event_te.tm_hour - dstart) * 31) + startmin - 1; - height = ((event_tm.tm_hour - event_te.tm_hour) * 31) + endmin - diffmin; + top = (dstart * 10) + ((event_te.tm_hour - dstart) * 30) + startmin - 1; + height = ((event_tm.tm_hour - event_te.tm_hour) * 30) + endmin - diffmin; } if ((event_te.tm_hour >= dstart) && (event_te.tm_hour <= dend) && (event_tm.tm_hour > dend)) { startmin = diffmin = (event_te.tm_min / 2); endmin = event_tm.tm_min / 6; - top = (dstart * 11) + ((event_te.tm_hour - dstart) * 31) + diffmin - 1; - height = (((dend - event_te.tm_hour + 1) * 31) + ((event_tm.tm_hour - dend - 1) * 11)) + endmin - diffmin; + top = (dstart * 10) + ((event_te.tm_hour - dstart) * 30) + diffmin - 1; + height = (((dend - event_te.tm_hour + 1) * 30) + ((event_tm.tm_hour - dend - 1) * 10)) + endmin - diffmin; } 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 * 11) + ((dend - dstart + 1) * 31) + ((event_tm.tm_hour - event_te.tm_hour) * 11) + startmin - 1; - height = ((event_tm.tm_hour - event_te.tm_hour) * 11) + endmin - diffmin; + top = (dstart * 10) + ((dend - dstart + 1) * 30) + ((event_tm.tm_hour - event_te.tm_hour) * 10) + startmin - 1; + height = ((event_tm.tm_hour - event_te.tm_hour) * 10) + endmin - diffmin; } wprintf("
"); wprintf("
"); - /** Now the middle of the day... */ - for (hour = 0; hour < 24; ++hour) { /* could do HEIGHT=xx */ - wprintf("
" + "", - (hour < daystart ? "before" : (hour > dayend ? "after" : "")), + (hour * extratimeline ), extratimeline, year, month, day, hour ); @@ -1040,12 +1053,75 @@ void calendar_day_view(int year, int month, int day) { wprintf("
"); - /* put the data here, stupid */ calendar_day_view_display_events(today_t, year, month, day, hour, daystart, dayend); } + gap = daystart * extratimeline; + + for (hour = daystart; hour <= dayend; ++hour) { /* could do HEIGHT=xx */ + wprintf("
" + "", + gap + ((hour - daystart) * timeline ), timeline, + year, month, day, hour + ); + + if (time_format == WC_TIMEFORMAT_24) { + wprintf("%2d:00 ", hour); + } + else { + wprintf("%d:00%s ", + (hour <= 12 ? hour : hour-12), + (hour < 12 ? "am" : "pm") + ); + } + + wprintf("
"); + + /* put the data here, stupid */ + calendar_day_view_display_events(today_t, year, month, day, hour, daystart, dayend); + + } + + gap = gap + ((dayend - daystart + 1) * timeline); + + for (hour = (dayend + 1); hour < 24; ++hour) { /* could do HEIGHT=xx */ + wprintf("
" + "", + gap + ((hour - dayend - 1) * extratimeline ), extratimeline, + year, month, day, hour + ); + + if (time_format == WC_TIMEFORMAT_24) { + wprintf("%2d:00 ", hour); + } + else { + wprintf("%d:00%s ", + (hour <= 12 ? hour : hour-12), + (hour < 12 ? "am" : "pm") + ); + } + + wprintf("
"); + + /* put the data here, stupid */ + calendar_day_view_display_events(today_t, year, month, day, hour, daystart, dayend); + + } + wprintf("
"); wprintf(""); /* end of innermost table */ diff --git a/webcit/static/webcit.css b/webcit/static/webcit.css index 6aa5c150c..b434ac1f9 100644 --- a/webcit/static/webcit.css +++ b/webcit/static/webcit.css @@ -1138,18 +1138,15 @@ td.events_of_the_day { .events_of_the_day dl dt { background-color: #FFFFFF; margin: 0; - padding:0 ; - width: 100%; - border-bottom: 1px solid grey; + width: 500px; + border: 1px solid #CCC; } .events_of_the_day dl dt.hour { - height: 30px; font-size: 16px; } -.events_of_the_day dl dt.hourbefore, .events_of_the_day dl dt.hourafter { - height: 10px; +.events_of_the_day dl dt.extrahour { font-size: 8px; } -- 2.30.2