Author: juha
Date: 2007-01-29 18:03:28 +0000 (Mon, 29 Jan 2007)
New Revision: 24793

Modified:
   xfcalendar/trunk/src/appointment.c
   xfcalendar/trunk/src/event-list.c
   xfcalendar/trunk/src/event-list.h
   xfcalendar/trunk/src/functions.c
   xfcalendar/trunk/src/functions.h
Log:
code cleanout 


Modified: xfcalendar/trunk/src/appointment.c
===================================================================
--- xfcalendar/trunk/src/appointment.c  2007-01-29 15:00:55 UTC (rev 24792)
+++ xfcalendar/trunk/src/appointment.c  2007-01-29 18:03:28 UTC (rev 24793)
@@ -90,41 +90,6 @@
     return TRUE;
 }
 
-static struct tm display_to_year_month_day(const char *display)
-{
-    const char *date_format;
-    char *ret;
-    struct tm d = {0,0,0,0,0,0,0,0,0};
-
-    date_format = _("%m/%d/%Y");
-    if ((ret = strptime(display, date_format, &d)) == NULL)
-        g_error("Orage: display_to_year_month_day wrong format (%s)"
-                , display);
-    else if (strlen(ret))
-        g_error("Orage: display_to_year_month_day too long format (%s)"
-                , display);
-    return(d);
-}
-
-static char *year_month_day_to_display(int year, int month, int day)
-{
-    const char *date_format;
-    static char result[32];
-    struct tm d = {0,0,0,0,0,0,0,0,0};
-
-    date_format = _("%m/%d/%Y");
-    d.tm_mday = day;
-    d.tm_mon = month - 1;
-    d.tm_year = year - 1900;
-
-    if (strftime(result, 32, date_format, &d))
-        return(result);
-    else {
-        g_error("Orage:year_month_day_to_display too long string in strftime");
-        return(NULL);
-    }
-}
-
 static void combo_box_append_array(GtkWidget *combo_box, char *text[], int 
size)
 {
     register int i;
@@ -481,8 +446,7 @@
                 , GTK_TEXT_SEARCH_TEXT_ONLY
                 , &match_start, &match_end, &end)) { /* found it */
         tm = orage_localtime();
-        cdate = year_month_day_to_display(tm->tm_year + 1900, tm->tm_mon + 1
-                , tm->tm_mday);
+        cdate = orage_tm_date_to_i18_date(*tm);
         gtk_text_buffer_delete(tb, &match_start, &match_end);
         gtk_text_buffer_insert(tb, &match_start, cdate, -1);
     }
@@ -498,8 +462,7 @@
                 , GTK_TEXT_SEARCH_TEXT_ONLY
                 , &match_start, &match_end, &end)) { /* found it */
         tm = orage_localtime();
-        cdate = year_month_day_to_display(tm->tm_year + 1900, tm->tm_mon + 1
-                , tm->tm_mday);
+        cdate = orage_tm_date_to_i18_date(*tm);
         g_sprintf(ctime, "%02d:%02d", tm->tm_hour, tm->tm_min);
         cdatetime = g_strconcat(cdate, " ", ctime, NULL);
         gtk_text_buffer_delete(tb, &match_start, &match_end);
@@ -701,7 +664,7 @@
     /* start date and time. 
      * Note that timezone is kept upto date all the time 
      */
-    current_t = display_to_year_month_day(gtk_button_get_label(
+    current_t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(apptw->StartDate_button)));
     g_sprintf(starttime, "%02d:%02d"
             , gtk_spin_button_get_value_as_int(
@@ -716,7 +679,7 @@
     /* end date and time. 
      * Note that timezone is kept upto date all the time 
      */ 
-    current_t = display_to_year_month_day(gtk_button_get_label(
+    current_t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(apptw->EndDate_button)));
     g_sprintf(endtime, "%02d:%02d"
             , gtk_spin_button_get_value_as_int(
@@ -746,7 +709,7 @@
      */ 
     appt->completed = gtk_toggle_button_get_active(
             GTK_TOGGLE_BUTTON(apptw->Completed_checkbutton));
-    current_t = display_to_year_month_day(gtk_button_get_label(
+    current_t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(apptw->CompletedDate_button)));
     g_sprintf(completedtime, "%02d:%02d"
             , gtk_spin_button_get_value_as_int(
@@ -813,7 +776,7 @@
         appt->recur_limit = 2;    /* until limit */
         appt->recur_count = 0;    /* special: means no repeat count limit */
 
-        current_t = display_to_year_month_day(gtk_button_get_label(
+        current_t = orage_i18_date_to_tm_date(gtk_button_get_label(
                 GTK_BUTTON(apptw->Recur_until_button)));
         g_sprintf(appt->recur_until, XFICAL_APPT_TIME_FORMAT
                 , current_t.tm_year + 1900, current_t.tm_mon + 1
@@ -847,38 +810,36 @@
 
     if (fill_appt_from_apptw(appt, apptw)) {
         /* Here we try to save the event... */
-        if (xfical_file_open()) {
-            if (apptw->appointment_add) {
-                apptw->xf_uid = g_strdup(xfical_appt_add(appt));
-                ok = (apptw->xf_uid ? TRUE : FALSE);
-                if (ok) {
-                    apptw->appointment_add = FALSE;
-                    gtk_widget_set_sensitive(apptw->Duplicate, TRUE);
-                    gtk_widget_set_sensitive(apptw->File_menu_duplicate, TRUE);
-                    g_message("Orage **: Added: %s", apptw->xf_uid);
-                }
-                else
-                    g_warning("Addition failed: %s", apptw->xf_uid);
+        if (!xfical_file_open())
+            return(FALSE);
+        if (apptw->appointment_add) {
+            apptw->xf_uid = g_strdup(xfical_appt_add(appt));
+            ok = (apptw->xf_uid ? TRUE : FALSE);
+            if (ok) {
+                apptw->appointment_add = FALSE;
+                gtk_widget_set_sensitive(apptw->Duplicate, TRUE);
+                gtk_widget_set_sensitive(apptw->File_menu_duplicate, TRUE);
+                g_message("Orage **: Added: %s", apptw->xf_uid);
             }
-            else {
-                ok = xfical_appt_mod(apptw->xf_uid, appt);
-                if (ok)
-                    g_message("Orage **: Modified: %s", apptw->xf_uid);
-                else
-                    g_warning("Modification failed: %s", apptw->xf_uid);
+            else
+                g_warning("Addition failed: %s", apptw->xf_uid);
             }
-            xfical_file_close();
+        else {
+            ok = xfical_appt_mod(apptw->xf_uid, appt);
+            if (ok)
+                g_message("Orage **: Modified: %s", apptw->xf_uid);
+            else
+                g_warning("Modification failed: %s", apptw->xf_uid);
         }
-
+        xfical_file_close();
         if (ok) {
             apptw->appointment_new = FALSE;
             mark_appointment_unchanged(apptw);
             if (apptw->el != NULL)
-                refresh_el_win((el_win *)apptw->el, -1);
+                refresh_el_win((el_win *)apptw->el);
             orage_mark_appointments();
         }
     }
-
     return (ok);
 }
 
@@ -926,18 +887,19 @@
             , NULL);
                                  
     if (result == GTK_RESPONSE_ACCEPT) {
-        if (!apptw->appointment_add)
-            if (xfical_file_open()) {
-                result = xfical_appt_del(apptw->xf_uid);
-                xfical_file_close();
-                if (result)
-                    g_message("Orage **: Removed: %s", apptw->xf_uid);
-                else
-                    g_warning("Removal failed: %s", apptw->xf_uid);
-            }
+        if (!apptw->appointment_add) {
+            if (!xfical_file_open())
+                    return;
+            result = xfical_appt_del(apptw->xf_uid);
+            if (result)
+                g_message("Orage **: Removed: %s", apptw->xf_uid);
+            else
+                g_warning("Removal failed: %s", apptw->xf_uid);
+            xfical_file_close();
+        }
 
         if (apptw->el != NULL)
-            refresh_el_win((el_win *)apptw->el, -1);
+            refresh_el_win((el_win *)apptw->el);
         orage_mark_appointments();
 
         gtk_widget_destroy(apptw->Window);
@@ -1007,10 +969,9 @@
     GtkWidget *selDate_Window_dialog;
     GtkWidget *selDate_Calendar_calendar;
     gint result;
-    guint year, month, day;
     char *date_to_display=NULL; 
     struct tm *t;
-    struct tm current_t;
+    struct tm cur_t;
 
     selDate_Window_dialog = gtk_dialog_new_with_buttons(
             _("Pick the date"), GTK_WINDOW(apptw->Window),
@@ -1025,23 +986,24 @@
     gtk_container_add(GTK_CONTAINER(GTK_DIALOG(selDate_Window_dialog)->vbox)
             , selDate_Calendar_calendar);
 
-    current_t = display_to_year_month_day(gtk_button_get_label(
+    cur_t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(button)));
     orage_select_date(GTK_CALENDAR(selDate_Calendar_calendar)
-            , current_t.tm_year+1900, current_t.tm_mon, current_t.tm_mday);
+            , cur_t.tm_year+1900, cur_t.tm_mon, cur_t.tm_mday);
     gtk_widget_show_all(selDate_Window_dialog);
 
     result = gtk_dialog_run(GTK_DIALOG(selDate_Window_dialog));
     switch(result){
         case GTK_RESPONSE_ACCEPT:
             gtk_calendar_get_date(GTK_CALENDAR(selDate_Calendar_calendar)
-                    , &year, &month, &day);
-            date_to_display = year_month_day_to_display(year, month + 1, day);
+                    , (guint *)&cur_t.tm_year, (guint *)&cur_t.tm_mon
+                    , (guint *)&cur_t.tm_mday);
+            cur_t.tm_year -= 1900;
+            date_to_display = orage_tm_date_to_i18_date(cur_t);
             break;
         case 1:
             t = orage_localtime();
-            date_to_display = year_month_day_to_display(t->tm_year + 1900
-                    , t->tm_mon + 1, t->tm_mday);
+            date_to_display = orage_tm_date_to_i18_date(*t);
             break;
         case GTK_RESPONSE_DELETE_EVENT:
         default:
@@ -1210,6 +1172,7 @@
 {
     char *startdate_to_display, *enddate_to_display, *completeddate_to_display;
     int year, month, day, hours, minutes;
+    struct tm tm_date;
 
     /* all day ? */
     gtk_toggle_button_set_active(
@@ -1219,7 +1182,10 @@
     if (strlen(appt->starttime) > 6 ) {
         ical_to_year_month_day_hour_minute(appt->starttime
                 , &year, &month, &day, &hours, &minutes);
-        startdate_to_display = year_month_day_to_display(year, month, day);
+        tm_date.tm_year = year - 1900;
+        tm_date.tm_mon  = month - 1;
+        tm_date.tm_mday = day;
+        startdate_to_display = orage_tm_date_to_i18_date(tm_date);
         gtk_button_set_label(GTK_BUTTON(apptw->StartDate_button)
                 , (const gchar *)startdate_to_display);
 
@@ -1243,7 +1209,10 @@
     if (strlen(appt->endtime) > 6 ) {
         ical_to_year_month_day_hour_minute(appt->endtime
                 , &year, &month, &day, &hours, &minutes);
-        enddate_to_display = year_month_day_to_display(year, month, day);
+        tm_date.tm_year = year - 1900;
+        tm_date.tm_mon  = month - 1;
+        tm_date.tm_mday = day;
+        enddate_to_display = orage_tm_date_to_i18_date(tm_date);
         gtk_button_set_label(GTK_BUTTON(apptw->EndDate_button)
                 , (const gchar *)enddate_to_display);
 
@@ -1282,7 +1251,10 @@
     if (strlen(appt->completedtime) > 6 ) {
         ical_to_year_month_day_hour_minute(appt->completedtime
                 , &year, &month, &day, &hours, &minutes);
-        completeddate_to_display = year_month_day_to_display(year, month, day);
+        tm_date.tm_year = year - 1900;
+        tm_date.tm_mon  = month - 1;
+        tm_date.tm_mday = day;
+        completeddate_to_display = orage_tm_date_to_i18_date(tm_date);
         gtk_button_set_label(GTK_BUTTON(apptw->CompletedDate_button)
                 , (const gchar *)completeddate_to_display);
 
@@ -1353,10 +1325,8 @@
     else if ((strcmp(action, "UPDATE") == 0) 
           || (strcmp(action, "COPY") == 0)) {
         /* par contains ical uid */
-        if (!xfical_file_open()) {
-            g_error("ical file open failed\n");
+        if (!xfical_file_open())
             return(NULL);
-        }
         if ((appt = xfical_appt_get(par)) == NULL) {
             g_message("Orage **: appointment not found");
             xfical_file_close();
@@ -1376,7 +1346,7 @@
 {
     int year, month, day, hours, minutes;
     appt_data *appt;
-    struct tm *t;
+    struct tm *t, tm_date;
     char *untildate_to_display;
     int i;
 
@@ -1497,8 +1467,7 @@
             gtk_spin_button_set_value(
                     GTK_SPIN_BUTTON(apptw->Recur_count_spin), (gdouble)1);
             t = orage_localtime();
-            untildate_to_display = year_month_day_to_display(t->tm_year+1900
-                    , t->tm_mon+1, t->tm_mday);
+            untildate_to_display = orage_tm_date_to_i18_date(*t);
             gtk_button_set_label(GTK_BUTTON(apptw->Recur_until_button)
                     , (const gchar *)untildate_to_display);
             break;
@@ -1509,8 +1478,7 @@
                     GTK_SPIN_BUTTON(apptw->Recur_count_spin)
                     , (gdouble)appt->recur_count);
             t = orage_localtime();
-            untildate_to_display = year_month_day_to_display(t->tm_year+1900
-                    , t->tm_mon+1, t->tm_mday);
+            untildate_to_display = orage_tm_date_to_i18_date(*t);
             gtk_button_set_label(GTK_BUTTON(apptw->Recur_until_button)
                     , (const gchar *)untildate_to_display);
             break;
@@ -1521,7 +1489,10 @@
                     GTK_SPIN_BUTTON(apptw->Recur_count_spin), (gdouble)1);
             ical_to_year_month_day_hour_minute(appt->recur_until
                     , &year, &month, &day, &hours, &minutes);
-            untildate_to_display = year_month_day_to_display(year, month, day);
+            tm_date.tm_year = year - 1900;
+            tm_date.tm_mon  = month - 1;
+            tm_date.tm_mday = day;
+            untildate_to_display = orage_tm_date_to_i18_date(tm_date);
             gtk_button_set_label(GTK_BUTTON(apptw->Recur_until_button)
                     , (const gchar *)untildate_to_display);
             break;

Modified: xfcalendar/trunk/src/event-list.c
===================================================================
--- xfcalendar/trunk/src/event-list.c   2007-01-29 15:00:55 UTC (rev 24792)
+++ xfcalendar/trunk/src/event-list.c   2007-01-29 18:03:28 UTC (rev 24793)
@@ -177,7 +177,7 @@
     return(6);
 }
 
-static char *format_time(el_win *el, appt_data *appt, row_type rt, char *par)
+static char *format_time(el_win *el, appt_data *appt, char *par)
 {
     static char result[40];
     int i = 0;
@@ -189,7 +189,7 @@
     end_ical_time = appt->endtimecur;
     same_date = !strncmp(start_ical_time, end_ical_time, 8);
 
-    if (rt == TYPE_TIME && el->type == XFICAL_TYPE_EVENT && el->days == 0) { 
+    if (el->type == XFICAL_TYPE_EVENT && el->days == 0) { 
         /* special formatting for 1 day VEVENTS */
         if (start_ical_time[8] == 'T') { /* time part available */
             if (strncmp(start_ical_time, par, 8) < 0)
@@ -289,8 +289,8 @@
     }
 }
 
-static void add_el_row(el_win *el, appt_data *appt, row_type rt, char *par)
-{ /* par depends on rt */
+static void add_el_row(el_win *el, appt_data *appt, char *par)
+{
     GtkTreeIter     iter1;
     GtkListStore   *list1;
     gchar          *title = NULL;
@@ -299,7 +299,7 @@
     gchar          *s_sort, *s_sort1;
     gint            len = 50;
 
-    stime = format_time(el, appt, rt, par);
+    stime = format_time(el, appt, par);
     if (appt->alarmtime != 0)
         if (appt->sound != NULL)
             flags[0] = 'S';
@@ -326,7 +326,7 @@
     else
         flags[2] = 'f';
 
-    if (rt == TYPE_SEARCH && strcmp(par, "archive") == 0)
+    if (strcmp(par, "archive") == 0)
         flags[3] = 'A';
     else
         flags[3] = 'n';
@@ -375,14 +375,11 @@
     for (appt = xfical_appt_get_next_with_string(search_string, TRUE, FALSE);
          appt;
          appt = xfical_appt_get_next_with_string(search_string, FALSE, FALSE)){
-        add_el_row(el, appt, TYPE_SEARCH, "main");
+        add_el_row(el, appt, "main");
         xfical_appt_free(appt);
     }
-    /* then check if we need to process archive file also */
-    /*
-    if (gtk_toggle_button_get_active(
-                GTK_TOGGLE_BUTTON(el->search_archive_cb))) {
-                */
+    xfical_file_close();
+    /* process always archive file also */
     if (!xfical_archive_open()) {
         g_free(search_string);
         return;
@@ -390,78 +387,49 @@
     for (appt = xfical_appt_get_next_with_string(search_string, TRUE, TRUE);
          appt;
          appt = xfical_appt_get_next_with_string(search_string, FALSE, TRUE)) {
-        add_el_row(el, appt, TYPE_SEARCH, "archive");
+        add_el_row(el, appt, "archive");
         xfical_appt_free(appt);
     }
     xfical_archive_close();
-        /*
-    }
-    */
     g_free(search_string);
-    xfical_file_close();
 }
 
-static void event_data(el_win *el)
+static void get_data_rows(el_win *el, char *a_day, gboolean arch, char *par)
 {
-    guint year, month, day;
-    char      *title;
-    char      a_day[9];  /* yyyymmdd */
     appt_data *appt;
-    struct tm *t;
 
-    if (!xfical_file_open())
-        return;
-    el->days = gtk_spin_button_get_value(GTK_SPIN_BUTTON(el->event_spin));
-    title = (char *)gtk_window_get_title(GTK_WINDOW(el->Window));
-    title_to_ical(title, a_day);
-    if (sscanf(title, "%d-%d-%d", &year, &month, &day) != 3)
-        g_warning("time_data: title conversion error\n");
-    t = orage_localtime();
-    g_sprintf(el->time_now, "%02d:%02d", t->tm_hour, t->tm_min);
-    if (   year  == t->tm_year + 1900
-        && month == t->tm_mon + 1
-        && day   == t->tm_mday)
-        el->today = TRUE;
-    else
-        el->today = FALSE; 
-    /*
-    if (gtk_toggle_button_get_active(
-                GTK_TOGGLE_BUTTON(el->time_event_rb)))
-        el->type = XFICAL_TYPE_EVENT;
-    else if (gtk_toggle_button_get_active(
-                GTK_TOGGLE_BUTTON(el->time_todo_rb)))
-        el->type = XFICAL_TYPE_TODO;
-    else if (gtk_toggle_button_get_active(
-                GTK_TOGGLE_BUTTON(el->time_journal_rb)))
-        el->type = XFICAL_TYPE_JOURNAL;
-    else
-        g_warning("time_data: coding error, illegal type");
-        */
+    if (!arch) {
+        if (!xfical_file_open())
+            return;
+    }
+    else {
+        if (!xfical_archive_open())
+            return;
+    }
 
     for (appt = xfical_appt_get_next_on_day(a_day, TRUE, el->days, el->type
-                , FALSE);
+                , arch);
          appt;
          appt = xfical_appt_get_next_on_day(a_day, FALSE, el->days, el->type
-                , FALSE))
-    {
-        add_el_row(el, appt, TYPE_TIME, a_day);
+                , arch)) {
+        add_el_row(el, appt, par);
         xfical_appt_free(appt);
     }
-    xfical_file_close();
+
+    if (!arch)
+        xfical_file_close();
+    else
+        xfical_archive_close();
 }
 
-static void todo_data(el_win *el)
+static void event_data(el_win *el)
 {
-    /* FIXME */
     guint year, month, day;
     char      *title;
     char      a_day[9];  /* yyyymmdd */
-    appt_data *appt;
     struct tm *t;
 
-    if (!xfical_file_open())
-        return;
-    /*
+    el->type = XFICAL_TYPE_EVENT;
     el->days = gtk_spin_button_get_value(GTK_SPIN_BUTTON(el->event_spin));
     title = (char *)gtk_window_get_title(GTK_WINDOW(el->Window));
     title_to_ical(title, a_day);
@@ -475,60 +443,25 @@
         el->today = TRUE;
     else
         el->today = FALSE; 
-        */
 
-    t = orage_localtime();
-    g_sprintf(a_day, "%04d%02d%02d"
-            , t->tm_year + 1900, t->tm_mon + 1, t->tm_mday);
-    el->days = 10*365; /* long enough time to get everything from future */
-    for (appt = xfical_appt_get_next_on_day(a_day, TRUE, el->days, el->type
-                , FALSE);
-         appt;
-         appt = xfical_appt_get_next_on_day(a_day, FALSE, el->days, el->type
-                , FALSE))
-    {
-        add_el_row(el, appt, TYPE_TIME, a_day);
-        xfical_appt_free(appt);
-    }
-    xfical_file_close();
+    get_data_rows(el, a_day, FALSE, a_day);
 }
 
-/* FIXME: move to functions and combine with appointment */
-static struct tm display_to_year_month_day(const char *display)
+static void todo_data(el_win *el)
 {
-    const char *date_format;
-    char *ret;
-    struct tm d = {0,0,0,0,0,0,0,0,0};
+    guint year, month, day;
+    char      *title;
+    char      a_day[9];  /* yyyymmdd */
+    struct tm *t;
 
-    date_format = _("%m/%d/%Y");
-    if ((ret = (char *)strptime(display, date_format, &d)) == NULL)
-        g_error("Orage: display_to_year_month_day wrong format (%s)"
-                , display);
-    else if (strlen(ret))
-        g_error("Orage: display_to_year_month_day too long format (%s)"
-                , display);
-    return(d);
+    el->type = XFICAL_TYPE_TODO;
+    el->days = 10*365; /* long enough time to get everything from future */
+    t = orage_localtime();
+    g_sprintf(a_day, "%04d%02d%02d"
+            , t->tm_year + 1900, t->tm_mon + 1, t->tm_mday);
+    get_data_rows(el, a_day, FALSE, a_day);
 }
 
-/* FIXME: move to functions and combine with appointment */
-static char *year_month_day_to_display(int year, int month, int day)
-{
-    const char *date_format;
-    static char result[32];
-    struct tm d = {0,0,0,0,0,0,0,0,0};
-
-    date_format = _("%m/%d/%Y");
-    d.tm_mday = day;
-    d.tm_mon = month - 1;
-    d.tm_year = year - 1900;
-
-    if (strftime(result, 32, date_format, &d))
-        return(result);
-    else {
-        g_error("Orage:year_month_day_to_display too long string in 
strftime");        return(NULL);
-    }
-}
-
 void journal_data(el_win *el)
 {
     guint year, month, day;
@@ -536,46 +469,23 @@
     appt_data *appt;
     struct tm t;
 
-    if (!xfical_file_open())
-        return;
-    t = display_to_year_month_day(gtk_button_get_label(
+    el->type = XFICAL_TYPE_JOURNAL;
+    el->days = 10*365; /* long enough time to get everything from future */
+    t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(el->journal_start_button)));
     g_sprintf(a_day, "%04d%02d%02d"
             , t.tm_year + 1900, t.tm_mon + 1, t.tm_mday);
-    el->days = 10*365; /* long enough time to get everything from future */
 
-    for (appt = xfical_appt_get_next_on_day(a_day, TRUE, el->days, el->type
-                , FALSE);
-         appt;
-         appt = xfical_appt_get_next_on_day(a_day, FALSE, el->days, el->type
-                , FALSE)) {
-        add_el_row(el, appt, TYPE_SEARCH, "main");
-        xfical_appt_free(appt);
-    }
-    xfical_file_close();
-    if (!xfical_archive_open())
-        return;
-    for (appt = xfical_appt_get_next_on_day(a_day, TRUE, el->days, el->type
-                , TRUE);
-         appt;
-         appt = xfical_appt_get_next_on_day(a_day, FALSE, el->days, el->type
-                , TRUE)) {
-        add_el_row(el, appt, TYPE_SEARCH, "archive");
-        xfical_appt_free(appt);
-    }
-    xfical_archive_close();
+    get_data_rows(el, a_day, FALSE, "main");
+    get_data_rows(el, a_day, TRUE, "archive");
 }
 
-/* FIXME: remove unused parameter page and coordinate with appointment */
-void refresh_el_win(el_win *el, gint page)
+void refresh_el_win(el_win *el)
 {
     GtkCellRenderer *rend;
     GtkTreeViewColumn *col;
-    gint page_num;
 
-    if (el->Window != NULL
-    &&  el->ListStore != NULL
-    &&  el->TreeView != NULL) {
+    if (el->Window &&  el->ListStore &&  el->TreeView) {
         gtk_list_store_clear(el->ListStore);
         /* this is needed if we want to make time field smaller again */
         if (el->type == XFICAL_TYPE_EVENT && el->days == 0) {
@@ -588,21 +498,14 @@
                     , start_time_data_func, el, NULL);
             gtk_tree_view_insert_column(GTK_TREE_VIEW(el->TreeView), col, 0);
         }
-        /*
-        if (page != -1) / * -1 = use current selection * /
-            gtk_notebook_set_current_page(GTK_NOTEBOOK(el->Notebook), page);
-            */
         switch (gtk_notebook_get_current_page(GTK_NOTEBOOK(el->Notebook))) {
             case EVENT_PAGE:
-                el->type = XFICAL_TYPE_EVENT;
                 event_data(el);
                 break;
             case TODO_PAGE:
-                el->type = XFICAL_TYPE_TODO;
                 todo_data(el);
                 break;
             case JOURNAL_PAGE:
-                el->type = XFICAL_TYPE_JOURNAL;
                 journal_data(el);
                 break;
             case SEARCH_PAGE:
@@ -626,7 +529,7 @@
     cur_page = gtk_notebook_get_current_page(GTK_NOTEBOOK(el->Notebook));
     if (cur_page != prev_page) {
         prev_page = cur_page;
-        refresh_el_win(el, SEARCH_PAGE);
+        refresh_el_win(el);
     }
     return(FALSE); /* we do this only once */
 }
@@ -657,7 +560,7 @@
     el_win *el = (el_win *)user_data;
 
     gtk_notebook_set_current_page(GTK_NOTEBOOK(el->Notebook), SEARCH_PAGE);
-    refresh_el_win((el_win *)user_data, SEARCH_PAGE);
+    refresh_el_win((el_win *)user_data);
 }
 
 static void on_View_search_activate_cb(GtkMenuItem *mi, gpointer user_data)
@@ -665,7 +568,7 @@
     el_win *el = (el_win *)user_data;
 
     gtk_notebook_set_current_page(GTK_NOTEBOOK(el->Notebook), SEARCH_PAGE);
-    refresh_el_win((el_win *)user_data, SEARCH_PAGE);
+    refresh_el_win((el_win *)user_data);
 }
 
 static void set_el_data_from_cal(el_win *el)
@@ -678,7 +581,7 @@
     g_sprintf(title, "%04d-%02d-%02d", year, month+1, day);
     gtk_window_set_title(GTK_WINDOW(el->Window), (const gchar*)title);
     gtk_notebook_set_current_page(GTK_NOTEBOOK(el->Notebook), EVENT_PAGE);
-    refresh_el_win(el, EVENT_PAGE);
+    refresh_el_win(el);
 }
 
 static void duplicate_appointment(el_win *el)
@@ -754,12 +657,12 @@
 
 static void on_Refresh_clicked(GtkButton *b, gpointer user_data)
 {
-    refresh_el_win((el_win*)user_data, -1);
+    refresh_el_win((el_win*)user_data);
 }
 
 static void on_View_refresh_activate_cb(GtkMenuItem *mi, gpointer user_data)
 {
-    refresh_el_win((el_win*)user_data, -1);
+    refresh_el_win((el_win*)user_data);
 }
 
 static void changeSelectedDate(el_win *el, gint direction)
@@ -861,17 +764,9 @@
 
 static void on_spin_changed(GtkSpinButton *b, gpointer user_data)
 {
-    refresh_el_win((el_win *)user_data, EVENT_PAGE);
+    refresh_el_win((el_win *)user_data);
 }
 
-/*
-static void checkbutton_clicked_cb(GtkCheckButton *cb
-                , gpointer user_data)
-{
-    refresh_el_win((el_win *)user_data, TIME_PAGE);
-}
-*/
-
 static void delete_appointment(el_win *el)
 {
     gint result;
@@ -893,28 +788,28 @@
              NULL);
 
     if (result == GTK_RESPONSE_ACCEPT) {
-        if (xfical_file_open()) {
-            sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(el->TreeView));
-            list = gtk_tree_selection_get_selected_rows(sel, &model);
-            list_len = g_list_length(list);
-            for (i = 0; i < list_len; i++) {
-                path = (GtkTreePath *)g_list_nth_data(list, i);
-                if (gtk_tree_model_get_iter(model, &iter, path)) {
-                    gtk_tree_model_get(model, &iter, COL_UID, &uid, -1);
-                    result = xfical_appt_del(uid);
-                    if (result)
-                        g_message("Orage **: Removed: %s", uid);
-                    else
-                        g_warning("Removal failed: %s", uid);
-                    g_free(uid);
-                }
+        if (!xfical_file_open())
+            return;
+        sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(el->TreeView));
+        list = gtk_tree_selection_get_selected_rows(sel, &model);
+        list_len = g_list_length(list);
+        for (i = 0; i < list_len; i++) {
+            path = (GtkTreePath *)g_list_nth_data(list, i);
+            if (gtk_tree_model_get_iter(model, &iter, path)) {
+                gtk_tree_model_get(model, &iter, COL_UID, &uid, -1);
+                result = xfical_appt_del(uid);
+                if (result)
+                    g_message("Orage **: Removed: %s", uid);
+                else
+                    g_warning("Removal failed: %s", uid);
+                g_free(uid);
             }
-            xfical_file_close();
-            refresh_el_win(el, -1);
-            orage_mark_appointments();
-            g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL);
-            g_list_free(list);
         }
+        xfical_file_close();
+        refresh_el_win(el);
+        orage_mark_appointments();
+        g_list_foreach(list, (GFunc)gtk_tree_path_free, NULL);
+        g_list_free(list);
     }
 }
 
@@ -937,8 +832,7 @@
     gint result;
     guint year, month, day;
     char *date_to_display = NULL;
-    struct tm *t;
-    struct tm current_t;
+    struct tm *t, cur_t;
 
     selDate_Window_dialog = gtk_dialog_new_with_buttons(
             _("Pick the date"), GTK_WINDOW(el->Window),
@@ -953,23 +847,24 @@
     gtk_container_add(GTK_CONTAINER(GTK_DIALOG(selDate_Window_dialog)->vbox)
             , selDate_Calendar_calendar);
 
-    current_t = display_to_year_month_day(gtk_button_get_label(
+    cur_t = orage_i18_date_to_tm_date(gtk_button_get_label(
             GTK_BUTTON(button)));
     orage_select_date(GTK_CALENDAR(selDate_Calendar_calendar)
-            , current_t.tm_year+1900, current_t.tm_mon, current_t.tm_mday);
+            , cur_t.tm_year+1900, cur_t.tm_mon, cur_t.tm_mday);
     gtk_widget_show_all(selDate_Window_dialog);
 
     result = gtk_dialog_run(GTK_DIALOG(selDate_Window_dialog));
     switch(result){
         case GTK_RESPONSE_ACCEPT:
             gtk_calendar_get_date(GTK_CALENDAR(selDate_Calendar_calendar)
-                    , &year, &month, &day);
-            date_to_display = year_month_day_to_display(year, month + 1, day);
+                    , (guint *)&cur_t.tm_year, (guint *)&cur_t.tm_mon
+                    , (guint *)&cur_t.tm_mday);
+            cur_t.tm_year -= 1900;
+            date_to_display = orage_tm_date_to_i18_date(cur_t);
             break;
         case 1:
             t = orage_localtime();
-            date_to_display = year_month_day_to_display(t->tm_year + 1900
-                    , t->tm_mon + 1, t->tm_mday);
+            date_to_display = orage_tm_date_to_i18_date(*t);
             break;
         case GTK_RESPONSE_DELETE_EVENT:
         default:
@@ -984,7 +879,7 @@
     }
 */
     gtk_button_set_label(GTK_BUTTON(button), (const gchar *)date_to_display);
-    refresh_el_win(el, SEARCH_PAGE);
+    refresh_el_win(el);
     gtk_widget_destroy(selDate_Window_dialog);
 }
 
@@ -1186,45 +1081,11 @@
             , label, hbox
             , row = 0, (GTK_FILL), (0));
 
-    /*
-    label = gtk_label_new(_("Type "));
-    hbox =  gtk_hbox_new(FALSE, 0);
-    el->time_event_rb = gtk_radio_button_new_with_label(NULL, _("Event"));
-    gtk_box_pack_start(GTK_BOX(hbox), el->time_event_rb, FALSE, FALSE, 15);
-    gtk_tooltips_set_tip(el->Tooltips, el->time_event_rb
-            , _("Event that will happen sometime. For example:\nMeeting or 
birthday or TV show."), NULL);
-
-    el->time_todo_rb = gtk_radio_button_new_with_mnemonic_from_widget(
-            GTK_RADIO_BUTTON(el->time_event_rb) , _("Todo"));
-    gtk_box_pack_start(GTK_BOX(hbox), el->time_todo_rb, FALSE, FALSE, 15);
-    gtk_tooltips_set_tip(el->Tooltips, el->time_todo_rb
-            , _("Something that you should do sometime. For example:\nWash 
your car or test new version of Orage."), NULL);
-            
-    el->time_journal_rb = gtk_radio_button_new_with_mnemonic_from_widget(
-            GTK_RADIO_BUTTON(el->time_event_rb) , _("Journal"));
-    gtk_box_pack_start(GTK_BOX(hbox), el->time_journal_rb
-            , FALSE, FALSE, 15);
-    gtk_tooltips_set_tip(el->Tooltips, el->time_journal_rb
-            , _("Make a note that something happened. For example:\nRemark 
that you bought new car or went to dentist."), NULL);
-
-    orage_table_add_row(el->event_notebook_page
-            , label, hbox
-            , ++row, (GTK_FILL), (GTK_FILL));
-            */
-
     gtk_notebook_append_page(GTK_NOTEBOOK(el->Notebook)
             , el->event_notebook_page, el->event_tab_label);
 
     g_signal_connect((gpointer)el->event_spin, "value-changed"
             , G_CALLBACK(on_spin_changed), el);
-    /*
-    g_signal_connect((gpointer)el->time_event_rb, "clicked"
-            , G_CALLBACK(checkbutton_clicked_cb), el);
-    g_signal_connect((gpointer)el->time_todo_rb, "clicked"
-            , G_CALLBACK(checkbutton_clicked_cb), el);
-    g_signal_connect((gpointer)el->time_journal_rb, "clicked"
-            , G_CALLBACK(checkbutton_clicked_cb), el);
-            */
 }
 
 static void build_todo_tab(el_win *el)
@@ -1250,8 +1111,8 @@
     hbox =  gtk_hbox_new(FALSE, 0);
     el->journal_start_button = gtk_button_new();
     tm = orage_localtime();
-    sdate = year_month_day_to_display(tm->tm_year + 1900 - 1, tm->tm_mon + 1
-            , tm->tm_mday);
+    tm->tm_year -= 1;
+    sdate = orage_tm_date_to_i18_date(*tm);
     gtk_button_set_label(GTK_BUTTON(el->journal_start_button)
             , (const gchar *)sdate);
     gtk_box_pack_start(GTK_BOX(hbox), el->journal_start_button
@@ -1262,7 +1123,6 @@
 
     gtk_notebook_append_page(GTK_NOTEBOOK(el->Notebook)
             , el->journal_notebook_page, el->journal_tab_label);
-
     g_signal_connect((gpointer)el->journal_start_button, "clicked"
             , G_CALLBACK(on_journal_start_button_clicked), el);
 }
@@ -1281,17 +1141,6 @@
             , label, el->search_entry
             , row = 0, (GTK_EXPAND | GTK_FILL), (0));
 
-    /*
-    label = gtk_label_new(_("History "));
-    el->search_archive_cb = gtk_check_button_new_with_mnemonic(
-            _("Search also from history file"));
-    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(el->search_archive_cb)
-            , TRUE);
-    orage_table_add_row(el->search_notebook_page
-            , label, el->search_archive_cb
-            , ++row, (GTK_EXPAND | GTK_FILL), (0));
-            */
-
     gtk_notebook_append_page(GTK_NOTEBOOK(el->Notebook)
             , el->search_notebook_page, el->search_tab_label);
 }

Modified: xfcalendar/trunk/src/event-list.h
===================================================================
--- xfcalendar/trunk/src/event-list.h   2007-01-29 15:00:55 UTC (rev 24792)
+++ xfcalendar/trunk/src/event-list.h   2007-01-29 18:03:28 UTC (rev 24793)
@@ -96,6 +96,6 @@
 } el_win; /* event list window */
 
 el_win* create_el_win(void);
-void refresh_el_win(el_win *el, gint page);
+void refresh_el_win(el_win *el);
 
 #endif /* !__EVENT_LIST_H__ */

Modified: xfcalendar/trunk/src/functions.c
===================================================================
--- xfcalendar/trunk/src/functions.c    2007-01-29 15:00:55 UTC (rev 24792)
+++ xfcalendar/trunk/src/functions.c    2007-01-29 18:03:28 UTC (rev 24793)
@@ -23,7 +23,9 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#define _XOPEN_SOURCE /* glibc2 needs this */
 #include <time.h>
+#include <string.h>
 
 #include <glib.h>
 #include <gtk/gtk.h>
@@ -36,6 +38,47 @@
  *  Functions for drawing interfaces  *
  **************************************/
 
+
+struct tm orage_i18_date_to_tm_date(const char *i18_date)
+{
+    const char *date_format;
+    char *ret;
+    struct tm tm_date = {0,0,0,0,0,0,0,0,0};
+
+    date_format = _("%m/%d/%Y");
+    ret = (char *)strptime(i18_date, date_format, &tm_date);
+    if (ret == NULL)
+        g_error("Orage: orage_i18_date_to_tm_date wrong format (%s)"
+                , i18_date);
+    else if (strlen(ret))
+        g_error("Orage: orage_i18_date_to_tm_date too long format (%s)"
+                , i18_date);
+    return(tm_date);
+}
+
+char *orage_tm_date_to_i18_date(struct tm tm_date)
+{
+    const char *date_format;
+    static char i18_date[32];
+    /*
+    struct tm d = {0,0,0,0,0,0,0,0,0};
+    */
+
+    date_format = _("%m/%d/%Y");
+    /*
+    d.tm_mday = day;
+    d.tm_mon = month - 1;
+    d.tm_year = year - 1900;
+    */
+
+    if (strftime(i18_date, 32, date_format, &tm_date))
+        return(i18_date);
+    else {
+        g_error("Orage: orage_tm_date_to_i18_date too long string in 
strftime");
+        return(NULL);
+    }
+}
+
 GtkWidget *orage_toolbar_append_button(GtkWidget *toolbar
     , const gchar *stock_id, GtkTooltips *tooltips, const char *tooltip_text
     , gint pos)

Modified: xfcalendar/trunk/src/functions.h
===================================================================
--- xfcalendar/trunk/src/functions.h    2007-01-29 15:00:55 UTC (rev 24792)
+++ xfcalendar/trunk/src/functions.h    2007-01-29 18:03:28 UTC (rev 24793)
@@ -72,4 +72,7 @@
 
 void orage_select_today(GtkCalendar *cal);
 
+struct tm orage_i18_date_to_tm_date(const char *display);
+
+char *orage_tm_date_to_i18_date(struct tm tm_date);
 #endif /* !__ORAGE_FUNCTIONS_H__ */

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to