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

Reply via email to