Author: juha Date: 2006-09-06 20:44:07 +0000 (Wed, 06 Sep 2006) New Revision: 23096
Modified: xfcalendar/trunk/po/fi.po xfcalendar/trunk/src/ical-code.c xfcalendar/trunk/src/main.c xfcalendar/trunk/src/mainbox.c Log: 1) fixed typo in fi translation 2) removed some noisy messages 3) added week start day handling Modified: xfcalendar/trunk/po/fi.po =================================================================== --- xfcalendar/trunk/po/fi.po 2006-09-06 17:08:58 UTC (rev 23095) +++ xfcalendar/trunk/po/fi.po 2006-09-06 20:44:07 UTC (rev 23096) @@ -550,7 +550,7 @@ " Joka kuukauden toinen keskiviikko:\n" "\tToisto = Kuukausittain,\n" "\tViikonpäivät = valitse vain keskiviikko,\n" -"\tmonesko päivä = valitse 2 keskiviikon alapuolella olevast laatikosta" +"\tmonesko päivä = valitse 2 keskiviikon alapuolella olevasta laatikosta" #. date only appointment #: ../src/event-list.c:199 Modified: xfcalendar/trunk/src/ical-code.c =================================================================== --- xfcalendar/trunk/src/ical-code.c 2006-09-06 17:08:58 UTC (rev 23095) +++ xfcalendar/trunk/src/ical-code.c 2006-09-06 20:44:07 UTC (rev 23096) @@ -89,9 +89,8 @@ extern gboolean local_icaltimezone_utc; static int lookback = 0; - extern GList *alarm_list; - +extern gint ical_weekstartday; /* Remember to keep this string table in sync with zones.tab * This is used only for translations purposes. It makes @@ -1158,8 +1157,9 @@ } /* trg_found */ } /* EVENTS */ alarm_list = g_list_sort(alarm_list, alarm_order); - g_message("Orage **: Build alarm list: Processed %d events.\n\tFound %d alarms of which %d are active. (Searched %d recurring alarms.)" - , cnt_event, cnt_alarm, cnt_act_alarm, cnt_repeat); + if (first_list_today) + g_message("Orage **: Build alarm list: Processed %d events.\n\tFound %d alarms of which %d are active. (Searched %d recurring alarms.)" + , cnt_event, cnt_alarm, cnt_act_alarm, cnt_repeat); } void xfical_alarm_build_list(gboolean first_list_today) @@ -1371,6 +1371,9 @@ g_warning("appt_add_internal: Unsupported freq"); icalrecurrencetype_clear(&rrule); } + if (appt->interval > 1) { /* not default, need to insert it */ + recur_p += g_sprintf(recur_p, ";INTERVAL=%d", appt->interval); + } if (appt->recur_limit == 1) { recur_p += g_sprintf(recur_p, ";COUNT=%d", appt->recur_count); } @@ -1397,8 +1400,17 @@ *recur_p2 = *recur_p; /* ...reset to null... */ recur_p = recur_p2; /* ...no need for BYDAY then */ } - if (appt->interval > 1) { /* not default, need to insert it */ - recur_p += g_sprintf(recur_p, ";INTERVAL=%d", appt->interval); + else if (appt->interval > 1 && appt->freq == XFICAL_FREQ_WEEKLY) { + /* we have BYDAY rule, let's check week starting date: + * WKST has meaning only in two cases: + * 1) WEEKLY rule && interval > 1 && BYDAY rule is in use + * 2) YEARLY rule && BYWEEKNO rule is in use + * BUT Orage is not using BYWEEKNO rule, so we only check 1) + * Monday is default, so we can skip that, too + * */ + if (ical_weekstartday) + recur_p += g_sprintf(recur_p, ";WKST=%s" + , byday_a[ical_weekstartday]); } rrule = icalrecurrencetype_from_string(recur_str); icalcomponent_add_property(ievent, icalproperty_new_rrule(rrule)); Modified: xfcalendar/trunk/src/main.c =================================================================== --- xfcalendar/trunk/src/main.c 2006-09-06 17:08:58 UTC (rev 23095) +++ xfcalendar/trunk/src/main.c 2006-09-06 20:44:07 UTC (rev 23096) @@ -78,9 +78,13 @@ /* main calendar window position */ gint pos_x = 0, pos_y = 0; + /* latest event-list window size */ gint event_win_size_x = 400, event_win_size_y = 200; +/* Ical week start day (0 = Monday, 1 = Tuesday,... 6 = Sunday) */ +gint ical_weekstartday = 0; + /* List of active alarms */ GList *alarm_list = NULL; @@ -130,6 +134,8 @@ { gchar *fpath; FILE *fp; + char *weekday[10] = { "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY" + , "FRIDAY", "SATURDAY", "SUNDAY" }; xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); /* Save settings here */ @@ -157,6 +163,8 @@ fprintf(fp, "0\n"); fprintf(fp, "[Use Dynamic Icon]\n"); fprintf(fp, "X=%i, Y=%i\n", icon_size_x, icon_size_y); + fprintf(fp, "[Ical Week Start Day]\n"); + fprintf(fp, "%s\n", weekday[ical_weekstartday]); fclose(fp); } g_free(fpath); Modified: xfcalendar/trunk/src/mainbox.c =================================================================== --- xfcalendar/trunk/src/mainbox.c 2006-09-06 17:08:58 UTC (rev 23095) +++ xfcalendar/trunk/src/mainbox.c 2006-09-06 20:44:07 UTC (rev 23096) @@ -63,6 +63,7 @@ extern gint pos_x, pos_y; extern gint event_win_size_x, event_win_size_y; extern gint icon_size_x, icon_size_y; +extern gint ical_weekstartday; gboolean xfcalendar_mark_appointments() @@ -280,7 +281,9 @@ { gchar *fpath; FILE *fp; - char buf[LEN_BUFFER], *eof; + char buf[LEN_BUFFER], *eof, weekstartday[11]; + char *weekday[10] = { "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY" + , "FRIDAY", "SATURDAY", "SUNDAY" }; gint tempi = 1; xfce_textdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8"); @@ -340,6 +343,18 @@ || sscanf(buf, "X=%i, Y=%i", &icon_size_x, &icon_size_y) != 2) { g_warning("Unable to read dynamic icon size from: %s", fpath); } + fgets(buf, LEN_BUFFER, fp); /* [Ical Week Start Day] */ + eof = fgets(buf, LEN_BUFFER, fp); + if (eof == NULL + || sscanf(buf, "%s10", weekstartday) != 1) { + g_warning("Unable to read ical week start day from: %s", fpath); + } + else { + for (tempi=0; tempi<7; tempi++) { + if (strcasecmp(weekstartday, weekday[tempi]) == 0) + ical_weekstartday = tempi; + } + } } g_free(fpath); } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits