int i, j = 0;
int sequence = 0;
char weekday_labels[7][32];
+ char month_labels[12][32];
long weekstart = 0;
get_pref_long("weekstart", &weekstart, 17);
}
/* populate the weekday names - end */
+ /* populate the month names - begin */
+ now = 259200L; /* 1970-jan-04 is the first Sunday ever */
+ localtime_r(&now, &tm_now);
+ for (i=0; i<12; ++i) {
+ localtime_r(&now, &tm_now);
+ wc_strftime(month_labels[i], 32, "%B", &tm_now);
+ now += 2678400L;
+ }
+ /* populate the month names - end */
+
now = time(NULL);
strcpy(organizer_string, "");
strcpy(attendee_string, "");
for (i=0; i<(sizeof frequency_units / sizeof(char *)); ++i) {
wprintf("<option %s%svalue=\"%d\">%s</option>\n",
((i == recur.freq) ? "selected " : ""),
- (((i == recur.freq) || ((i>=3)&&(i<=5))) ? "" : "disabled "),
+ (((i == recur.freq) || ((i>=3)&&(i<=6))) ? "" : "disabled "),
i,
frequency_units[i]
);
wprintf("</div>\n"); /* end 'weekday_selector' div */
- int which_rrmonthtype_is_preselected = 0; /* FIXME set default correctly */
+
+
+ int which_rrmonthtype_is_preselected = 0;
wprintf("<div id=\"monthday_selector\">"); /* begin 'monthday_selector' div */
wprintf("<input type=\"radio\" name=\"rrmonthtype\" id=\"rrmonthtype_mday\" "
((which_rrmonthtype_is_preselected == 0) ? "checked" : "")
);
- char mdaybox[128];
+ char mdaybox[256];
+ int rrmday = 1; /* FIXME default to same as event start */
+ int rrmweek = 1; /* FIXME default to same as event start */
+ int rrmweekday = 1; /* FIXME default to same as event start */
+
+ if (recur.by_month_day[0] != ICAL_RECURRENCE_ARRAY_MAX) {
+ which_rrmonthtype_is_preselected = 0;
+ rrmday = recur.by_month_day[0];
+ }
+ else if (recur.by_day[0] != ICAL_RECURRENCE_ARRAY_MAX) {
+ which_rrmonthtype_is_preselected = 1;
+ rrmweek = icalrecurrencetype_day_position(recur.by_day[0]);
+ rrmweekday = icalrecurrencetype_day_day_of_week(recur.by_day[0]) - 1;
+ }
+
snprintf(mdaybox, sizeof mdaybox,
"<input type=\"text\" name=\"rrmday\" id=\"rrmday\" maxlength=\"2\" size=\"2\" "
- "value=\"%d\">", 0); /* FIXME set the correct default */
+ "value=\"%d\">", rrmday);
wprintf(_("on day %s of the month"), mdaybox);
wprintf("<br />\n");
"onChange=\"RecurrenceShowHide();\">\n");
for (i=1; i<=5; ++i) {
wprintf("<option %svalue=\"%d\">%s</option>\n",
- ((0) ? "selected " : ""), /* FIXME set correct default */
+ ((i==rrmweek) ? "selected " : ""),
i,
ordinals[i]
);
for (j=0; j<7; ++j) {
i = ((j + (int)weekstart) % 7);
wprintf("<option %svalue=\"%d\">%s</option>\n",
- ((0) ? "selected " : ""), /* FIXME set correct default */
+ ((i==rrmweekday) ? "selected " : ""),
i,
weekday_labels[i]
);
wprintf("</div>\n"); /* end 'monthday_selector' div */
+ int rrymweek = 1; /* FIXME default to same as event start */
+ int rrymweekday = 1; /* FIXME default to same as event start */
+ int rrymonth = 1; /* FIXME default to same as event start */
+
+ int which_rryeartype_is_preselected = 0;
+
+ if ( (recur.by_day[0] != ICAL_RECURRENCE_ARRAY_MAX)
+ && (recur.by_month[0] != ICAL_RECURRENCE_ARRAY_MAX) ) {
+ which_rryeartype_is_preselected = 1;
+ rrymweek = icalrecurrencetype_day_position(recur.by_day[0]);
+ rrymweekday = icalrecurrencetype_day_day_of_week(recur.by_day[0]) - 1;
+ rrymonth = recur.by_month[0];
+ }
+
+ wprintf("<div id=\"yearday_selector\">"); /* begin 'yearday_selector' div */
+
+ wprintf("<input type=\"radio\" name=\"rryeartype\" id=\"rrmonthtype_ymday\" "
+ "%s onChange=\"RecurrenceShowHide();\">",
+ ((which_rryeartype_is_preselected == 0) ? "checked" : "")
+ );
+ wprintf(_("every "));
+ wprintf("<span id=\"ymday\">%s</span><br />", _("year on this date"));
+
+ wprintf("<input type=\"radio\" name=\"rryeartype\" id=\"rrmonthtype_ywday\" "
+ "%s onChange=\"RecurrenceShowHide();\">",
+ ((which_rrmonthtype_is_preselected == 1) ? "checked" : "")
+ );
+
+ wprintf(_("on the "));
+ wprintf("<select name=\"rrymweek\" id=\"rrymweek\" size=\"1\" "
+ "onChange=\"RecurrenceShowHide();\">\n");
+ for (i=1; i<=5; ++i) {
+ wprintf("<option %svalue=\"%d\">%s</option>\n",
+ ((i==rrymweek) ? "selected " : ""),
+ i,
+ ordinals[i]
+ );
+ }
+ wprintf("</select> \n");
+
+ wprintf("<select name=\"rrymweekday\" id=\"rrymweekday\" size=\"1\" "
+ "onChange=\"RecurrenceShowHide();\">\n");
+ for (j=0; j<7; ++j) {
+ i = ((j + (int)weekstart) % 7);
+ wprintf("<option %svalue=\"%d\">%s</option>\n",
+ ((i==rrymweekday) ? "selected " : ""),
+ i,
+ weekday_labels[i]
+ );
+ }
+ wprintf("</select>");
+
+ wprintf(" %s ", _("of"));
+
+ wprintf("<select name=\"rrymonth\" id=\"rrymonth\" size=\"1\" "
+ "onChange=\"RecurrenceShowHide();\">\n");
+ for (i=1; i<=12; ++i) {
+ wprintf("<option %svalue=\"%d\">%s</option>\n",
+ ((i==rrymonth) ? "selected " : ""),
+ i,
+ month_labels[i-1]
+ );
+ }
+ wprintf("</select>");
+ wprintf("<br />\n");
+
+ wprintf("</div>\n"); /* end 'yearday_selector' div */
wprintf("</td></tr>\n");