}
else {
tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, 0);
+ webcit_fmt_date(buf, tt, DATEFMT_FULL);
StrBufAppendPrintf(Target, "<dt>");
StrBufAppendPrintf(Target, _("Starting date/time:"));
StrBufAppendPrintf(Target, "</dt><dd>%s</dd>", buf);
if (p != NULL) {
t = icalproperty_get_dtend(p);
tt = icaltime_as_timet(t);
- webcit_fmt_date(buf, tt, 0);
+ webcit_fmt_date(buf, tt, DATEFMT_FULL);
StrBufAppendPrintf(Target, "<dt>");
StrBufAppendPrintf(Target, _("Ending date/time:"));
StrBufAppendPrintf(Target, "</dt><dd>%s</dd>", buf);
if (supplied_vtodo != NULL) {
vtodo = supplied_vtodo;
- /**
+ /*
+ * It's safe to convert to UTC here because there are no recurrences to worry about.
+ */
+ ical_dezonify(vtodo);
+
+ /*
* If we're looking at a fully encapsulated VCALENDAR
* rather than a VTODO component, attempt to use the first
* relevant VTODO subcomponent. If there is none, the
else
IcalTime = icaltime_current_time_with_zone(get_default_icaltimezone());
display_icaltimetype_as_webform(&IcalTime, "dtstart", 0);
+
+ wprintf("<INPUT TYPE=\"CHECKBOX\" NAME=\"dtstart_time\" ID=\"dtstart_time\" VALUE=\"yes\"");
+ if (!IcalTime.is_date) {
+ wprintf("CHECKED=\"CHECKED\"");
+ }
+ wprintf(">");
+ wprintf(_("Time associated"));
wprintf("</TD></TR>\n");
wprintf("<TR><TD>");
else
IcalTime = icaltime_current_time_with_zone(get_default_icaltimezone());
display_icaltimetype_as_webform(&IcalTime, "due", 0);
-
+
+ wprintf("<INPUT TYPE=\"CHECKBOX\" NAME=\"due_time\" ID=\"due_time\" VALUE=\"yes\"");
+ if (!IcalTime.is_date) {
+ wprintf("CHECKED=\"CHECKED\"");
+ }
+ wprintf(">");
+ wprintf(_("Time associated"));
wprintf("</TD></TR>\n");
todoStatus = icalcomponent_get_status(vtodo);
wprintf("<TR><TD>\n");
icalproperty_new_summary(bstr("summary")));
} else {
icalcomponent_add_property(vtodo,
- icalproperty_new_summary("Untitled Task"));
+ icalproperty_new_summary(_("Untitled Task")));
}
while (prop = icalcomponent_get_first_property(vtodo,
icalproperty_free(prop);
}
if (IsEmptyStr(bstr("nodtstart"))) {
- icaltime_from_webform(&t, "dtstart");
+ if (yesbstr("dtstart_time")) {
+ icaltime_from_webform(&t, "dtstart");
+ }
+ else {
+ icaltime_from_webform_dateonly(&t, "dtstart");
+ }
icalcomponent_add_property(vtodo,
icalproperty_new_dtstart(t)
);
icalproperty_free(prop);
}
if (IsEmptyStr(bstr("nodue"))) {
- icaltime_from_webform(&t, "due");
+ if (yesbstr("due_time")) {
+ icaltime_from_webform(&t, "due");
+ }
+ else {
+ icaltime_from_webform_dateonly(&t, "due");
+ }
icalcomponent_add_property(vtodo,
icalproperty_new_due(t)
);
InitModule_CALENDAR
(void)
{
- RegisterPreference(HKEY("daystart"), _("Calendar day view begins at:"), PRF_INT, NULL);
- RegisterPreference(HKEY("dayend"), _("Calendar day view ends at:"), PRF_INT, NULL);
- RegisterPreference(HKEY("weekstart"), _("Week starts on:"), PRF_INT, NULL);
+ RegisterPreference("daystart", _("Calendar day view begins at:"), PRF_INT, NULL);
+ RegisterPreference("dayend", _("Calendar day view ends at:"), PRF_INT, NULL);
+ RegisterPreference("weekstart", _("Week starts on:"), PRF_INT, NULL);
WebcitAddUrlHandler(HKEY("display_edit_task"), display_edit_task, 0);
WebcitAddUrlHandler(HKEY("save_task"), save_task, 0);