From 2d6dd17ae56461dc55752222bf96df3a548e7368 Mon Sep 17 00:00:00 2001 From: Thierry Pasqualier Date: Mon, 15 Oct 2007 20:15:51 +0000 Subject: [PATCH] Day view : events with minutes --- webcit/calendar_view.c | 65 +++++++++++++++++++++++++++------------- webcit/static/webcit.css | 15 ++++++---- 2 files changed, 54 insertions(+), 26 deletions(-) diff --git a/webcit/calendar_view.c b/webcit/calendar_view.c index c26241c01..10e3542a3 100644 --- a/webcit/calendar_view.c +++ b/webcit/calendar_view.c @@ -800,6 +800,9 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, int top = 0; int height = 0; int gap = 0; + int startmin = 0; + int diffmin = 0; + int endmin = 0; if (WCC->num_cal == 0) { // \todo FIXME wprintf("


\n"); @@ -878,64 +881,84 @@ void calendar_day_view_display_events(time_t thetime, int year, int month, if (all_day_event) { - wprintf("
  • ", + wprintf("
  • " + "", Cal->cal_msgnum, year, month, day, hour); escputs((char *) icalproperty_get_comment(p)); - wprintf(" ("); + wprintf(" ("); wprintf(_("All day event")); - wprintf(")
  • \n"); + wprintf(")\n"); } else if (ongoing_event && (hour == -1)) { - wprintf("
  • ", + wprintf("
  • " + "", Cal->cal_msgnum, year, month, day, hour); escputs((char *) icalproperty_get_comment(p)); - wprintf(" ("); + wprintf(" ("); wprintf(_("Ongoing event")); - wprintf(")
  • \n"); + wprintf(")\n"); } else { + gap++; if ((hour == event_te.tm_hour) && ! ongoing_event ) { 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_hour < dstart) && (event_tm.tm_hour <= dstart)) { - top = (event_te.tm_hour * 11) -1; - height= (event_tm.tm_hour - event_te.tm_hour) * 11; + 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 ; } if ((event_te.tm_hour < dstart) && (event_tm.tm_hour >= dstart)) { - top = (event_te.tm_hour * 11) - 1; - height = ((dstart - event_te.tm_hour) * 11) + ((event_tm.tm_hour - dstart) * 31); + 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); } if ((event_te.tm_hour <= dstart) && (event_tm.tm_hour > dend)) { - top = (event_te.tm_hour * 11) - 1; - height = ((dstart - event_te.tm_hour) * 11) + ((dend - dstart + 1) * 31) + ((event_tm.tm_hour - dend - 1) * 10); + 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; } if ((event_te.tm_hour >= dstart) && (event_tm.tm_hour <= dend)) { - top = (dstart * 11) + ((event_te.tm_hour - dstart) * 31) - 1; - height = ((event_tm.tm_hour - event_te.tm_hour) * 31); + 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; } if ((event_te.tm_hour >= dstart) && (event_te.tm_hour <= dend) && (event_tm.tm_hour > dend)) { - top = (dstart * 11) + ((event_te.tm_hour - dstart) * 31) - 1; - height = (((dend - event_te.tm_hour + 1) * 31) + ((event_tm.tm_hour - dend - 1) * 11)); + 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; } if ((event_te.tm_hour > dend) && (event_tm.tm_hour > dend)) { - top = (dstart * 11) + ((dend - dstart + 1) * 31) + ((event_tm.tm_hour - event_te.tm_hour) * 11) - 1; - height = ((event_tm.tm_hour - event_te.tm_hour) * 11); + 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; } wprintf("
    ", - top, (50 + (gap * 50)), height + top, (gap * 40), height ); - wprintf("", + wprintf("", Cal->cal_msgnum, year, month, day, t.hour, hour); escputs((char *) icalproperty_get_comment(p)); wprintf("
    \n"); - gap++; } } diff --git a/webcit/static/webcit.css b/webcit/static/webcit.css index c1e079b0b..e0794b98d 100644 --- a/webcit/static/webcit.css +++ b/webcit/static/webcit.css @@ -1161,12 +1161,16 @@ td.events_of_the_day { } -.extra_events ul, .extra_events ul li { +.extra_events ul { list-style: none; margin: 0; padding: 0; } +.extra_events ul li { + margin: 2px; +} + .calday, .calout, .calweekend { width: 14%; height: 60px; @@ -1185,10 +1189,11 @@ td.events_of_the_day { padding: 0 4px 0 4px; } -.event a { - filter:alpha(opacity=100); - -moz-opacity:1.0; - opacity: 1.0; +li.event span, a.event_title { + filter:alpha(opacity=100); + -moz-opacity:1.0; + opacity: 1.0; + font-size: 11px; } .mini_calendar { -- 2.30.2