aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-day-view.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-day-view.c')
-rw-r--r--calendar/gui/e-day-view.c42
1 files changed, 14 insertions, 28 deletions
diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c
index 50f6639f58..c1da656ccd 100644
--- a/calendar/gui/e-day-view.c
+++ b/calendar/gui/e-day-view.c
@@ -32,6 +32,7 @@
#include <gnome.h>
#include <gdk/gdkx.h>
#include <cal-util/timeutil.h>
+#include "comp-util.h"
#include "e-day-view.h"
#include "e-day-view-time-item.h"
#include "e-day-view-top-item.h"
@@ -368,12 +369,12 @@ static void e_day_view_on_main_canvas_drag_data_received (GtkWidget *widget
guint info,
guint time,
EDayView *day_view);
-#ifndef NO_WARNINGS
+
static gboolean e_day_view_update_event_cb (EDayView *day_view,
gint day,
gint event_num,
gpointer data);
-#endif
+
static gboolean e_day_view_remove_event_cb (EDayView *day_view,
gint day,
gint event_num,
@@ -1325,9 +1326,7 @@ obj_updated_cb (CalClient *client, const char *uid, gpointer data)
else
event = &g_array_index (day_view->events[day],
EDayViewEvent, event_num);
-#ifndef NO_WARNINGS
#warning "FIXME"
-#endif
/* Do this the long way every time for now */
#if 0
@@ -1423,7 +1422,6 @@ e_day_view_set_cal_client (EDayView *day_view,
}
-#ifndef NO_WARNINGS
static gboolean
e_day_view_update_event_cb (EDayView *day_view,
gint day,
@@ -1459,7 +1457,6 @@ e_day_view_update_event_cb (EDayView *day_view,
}
return TRUE;
}
-#endif
/* This calls a given function for each event instance that matches the given
@@ -2749,8 +2746,6 @@ e_day_view_on_delete_occurrence (GtkWidget *widget, gpointer data)
EDayView *day_view;
EDayViewEvent *event;
CalComponent *comp;
- struct icaltimetype *time;
- GSList *list;
day_view = E_DAY_VIEW (data);
@@ -2761,12 +2756,7 @@ e_day_view_on_delete_occurrence (GtkWidget *widget, gpointer data)
/* We must duplicate the CalComponent, or we won't know it has changed
when we get the "update_event" callback. */
comp = cal_component_clone (event->comp);
- cal_component_get_exdate_list (comp, &list);
- time = g_new0 (struct icaltimetype, 1);
- *time = icaltime_from_timet (event->start, FALSE, FALSE);
- list = g_slist_append (list, time);
- cal_component_set_exdate_list (comp, list);
- cal_component_free_exdate_list (list);
+ cal_comp_util_add_exdate (comp, icaltime_from_timet (event->start, FALSE, FALSE));
if (!cal_client_update_object (day_view->client, comp))
g_message ("e_day_view_on_delete_occurrence(): Could not update the object!");
@@ -2808,7 +2798,6 @@ e_day_view_on_unrecur_appointment (GtkWidget *widget, gpointer data)
CalComponent *comp, *new_comp;
CalComponentDateTime date;
struct icaltimetype itt;
- GSList *list;
day_view = E_DAY_VIEW (data);
@@ -2816,17 +2805,11 @@ e_day_view_on_unrecur_appointment (GtkWidget *widget, gpointer data)
if (event == NULL)
return;
- date.value = &itt;
- date.tzid = NULL;
-
- /* For the recurring object, we add a exception to get rid of the
+ /* For the recurring object, we add an exception to get rid of the
instance. */
+
comp = cal_component_clone (event->comp);
- cal_component_get_exdate_list (comp, &list);
- *date.value = icaltime_from_timet (event->start, FALSE, FALSE);
- list = g_slist_append (list, &date);
- cal_component_set_exdate_list (comp, list);
- g_slist_free (list);
+ cal_comp_util_add_exdate (comp, icaltime_from_timet (event->start, FALSE, FALSE));
/* For the unrecurred instance we duplicate the original object,
create a new uid for it, get rid of the recurrence rules, and set
@@ -2838,6 +2821,9 @@ e_day_view_on_unrecur_appointment (GtkWidget *widget, gpointer data)
cal_component_set_exdate_list (new_comp, NULL);
cal_component_set_exrule_list (new_comp, NULL);
+ date.value = &itt;
+ date.tzid = NULL;
+
*date.value = icaltime_from_timet (event->start, FALSE, FALSE);
cal_component_set_dtstart (new_comp, &date);
*date.value = icaltime_from_timet (event->end, FALSE, FALSE);
@@ -2986,9 +2972,9 @@ e_day_view_on_top_canvas_motion (GtkWidget *widget,
day_view->pressed_event_num);
if (!(cal_component_has_recurrences (event->comp))
- && (abs (canvas_x - day_view->drag_event_x)
+ && (abs (canvas_x - day_view->drag_event_x)
> E_DAY_VIEW_DRAG_START_OFFSET
- || abs (canvas_y - day_view->drag_event_y)
+ || abs (canvas_y - day_view->drag_event_y)
> E_DAY_VIEW_DRAG_START_OFFSET)) {
day_view->drag_event_day = day_view->pressed_event_day;
day_view->drag_event_num = day_view->pressed_event_num;
@@ -3092,9 +3078,9 @@ e_day_view_on_main_canvas_motion (GtkWidget *widget,
event = &g_array_index (day_view->events[day_view->pressed_event_day], EDayViewEvent, day_view->pressed_event_num);
if (!cal_component_has_recurrences (event->comp)
- && (abs (canvas_x - day_view->drag_event_x)
+ && (abs (canvas_x - day_view->drag_event_x)
> E_DAY_VIEW_DRAG_START_OFFSET
- || abs (canvas_y - day_view->drag_event_y)
+ || abs (canvas_y - day_view->drag_event_y)
> E_DAY_VIEW_DRAG_START_OFFSET)) {
day_view->drag_event_day = day_view->pressed_event_day;
day_view->drag_event_num = day_view->pressed_event_num;