aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-week-view-event-item.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-week-view-event-item.c')
-rw-r--r--calendar/gui/e-week-view-event-item.c58
1 files changed, 40 insertions, 18 deletions
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c
index 90d8831747..5d3fefaaee 100644
--- a/calendar/gui/e-week-view-event-item.c
+++ b/calendar/gui/e-week-view-event-item.c
@@ -87,11 +87,14 @@ week_view_event_item_get_position (EWeekViewEventItem *event_item,
{
EWeekView *week_view;
GnomeCanvasItem *item;
+ GtkWidget *parent;
item = GNOME_CANVAS_ITEM (event_item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (item->canvas)->parent);
- g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), E_CALENDAR_VIEW_POS_NONE);
+ parent = gtk_widget_get_parent (GTK_WIDGET (item->canvas));
+ g_return_val_if_fail (E_IS_WEEK_VIEW (parent), E_CALENDAR_VIEW_POS_NONE);
+
+ week_view = E_WEEK_VIEW (parent);
if (x < item->x1 + E_WEEK_VIEW_EVENT_L_PAD
|| x >= item->x2 - E_WEEK_VIEW_EVENT_R_PAD)
@@ -120,11 +123,14 @@ week_view_event_item_double_click (EWeekViewEventItem *event_item,
EWeekView *week_view;
EWeekViewEvent *event;
GnomeCanvasItem *item;
+ GtkWidget *parent;
item = GNOME_CANVAS_ITEM (event_item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (item->canvas)->parent);
- g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), FALSE);
+ parent = gtk_widget_get_parent (GTK_WIDGET (item->canvas));
+ g_return_val_if_fail (E_IS_WEEK_VIEW (parent), FALSE);
+
+ week_view = E_WEEK_VIEW (parent);
event = &g_array_index (
week_view->events, EWeekViewEvent,
@@ -167,11 +173,14 @@ week_view_event_item_button_press (EWeekViewEventItem *event_item,
EWeekViewEvent *event;
EWeekViewEventSpan *span;
GnomeCanvasItem *item;
+ GtkWidget *parent;
item = GNOME_CANVAS_ITEM (event_item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (item->canvas)->parent);
- g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), FALSE);
+ parent = gtk_widget_get_parent (GTK_WIDGET (item->canvas));
+ g_return_val_if_fail (E_IS_WEEK_VIEW (parent), FALSE);
+
+ week_view = E_WEEK_VIEW (parent);
event = &g_array_index (week_view->events, EWeekViewEvent,
event_item->priv->event_num);
@@ -201,11 +210,7 @@ week_view_event_item_button_press (EWeekViewEventItem *event_item,
return TRUE;
} else if (bevent->button.button == 3) {
-#if GTK_CHECK_VERSION(2,19,7)
if (!gtk_widget_has_focus (GTK_WIDGET (week_view))) {
-#else
- if (!GTK_WIDGET_HAS_FOCUS (week_view)) {
-#endif
gtk_widget_grab_focus (GTK_WIDGET (week_view));
if (week_view->event_destroyed) {
week_view->event_destroyed = FALSE;
@@ -235,11 +240,14 @@ week_view_event_item_button_release (EWeekViewEventItem *event_item,
{
EWeekView *week_view;
GnomeCanvasItem *item;
+ GtkWidget *parent;
item = GNOME_CANVAS_ITEM (event_item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (item->canvas)->parent);
- g_return_val_if_fail (E_IS_WEEK_VIEW (week_view), FALSE);
+ parent = gtk_widget_get_parent (GTK_WIDGET (item->canvas));
+ g_return_val_if_fail (E_IS_WEEK_VIEW (parent), FALSE);
+
+ week_view = E_WEEK_VIEW (parent);
if (week_view->pressed_event_num != -1
&& week_view->pressed_event_num == event_item->priv->event_num
@@ -368,6 +376,8 @@ week_view_event_item_draw_icons (EWeekViewEventItem *event_item,
EWeekView *week_view;
EWeekViewEvent *event;
ECalComponent *comp;
+ GnomeCanvas *canvas;
+ GtkWidget *parent;
GdkGC *gc;
gint num_icons = 0, icon_x_inc;
gboolean draw_reminder_icon = FALSE, draw_recurrence_icon = FALSE;
@@ -376,7 +386,9 @@ week_view_event_item_draw_icons (EWeekViewEventItem *event_item,
GSList *categories_pixbufs = NULL, *pixbufs;
cairo_t *cr;
- week_view = E_WEEK_VIEW (GTK_WIDGET (GNOME_CANVAS_ITEM (event_item)->canvas)->parent);
+ canvas = GNOME_CANVAS_ITEM (event_item)->canvas;
+ parent = gtk_widget_get_parent (GTK_WIDGET (canvas));
+ week_view = E_WEEK_VIEW (parent);
event = &g_array_index (week_view->events, EWeekViewEvent,
event_item->priv->event_num);
@@ -484,6 +496,8 @@ week_view_event_item_draw_triangle (EWeekViewEventItem *event_item,
ECalModel *model;
EWeekView *week_view;
EWeekViewEvent *event;
+ GnomeCanvas *canvas;
+ GtkWidget *parent;
GdkPoint points[3];
const gchar *color_spec;
gint c1, c2;
@@ -492,7 +506,9 @@ week_view_event_item_draw_triangle (EWeekViewEventItem *event_item,
if (!can_draw_in_region (draw_region, x, y, w, h))
return;
- week_view = E_WEEK_VIEW (GTK_WIDGET (GNOME_CANVAS_ITEM (event_item)->canvas)->parent);
+ canvas = GNOME_CANVAS_ITEM (event_item)->canvas;
+ parent = gtk_widget_get_parent (GTK_WIDGET (canvas));
+ week_view = E_WEEK_VIEW (parent);
event = &g_array_index (week_view->events, EWeekViewEvent,
event_item->priv->event_num);
@@ -621,12 +637,15 @@ week_view_event_item_update (GnomeCanvasItem *item,
GnomeCanvasItemClass *canvas_item_class;
EWeekViewEventItem *event_item;
EWeekView *week_view;
+ GtkWidget *parent;
gint event_num, span_num;
gint span_x, span_y, span_w;
event_item = E_WEEK_VIEW_EVENT_ITEM (item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (item->canvas)->parent);
- g_return_if_fail (E_IS_WEEK_VIEW (week_view));
+ parent = gtk_widget_get_parent (GTK_WIDGET (item->canvas));
+ g_return_if_fail (E_IS_WEEK_VIEW (parent));
+
+ week_view = E_WEEK_VIEW (parent);
/* Chain up to parent's update() method. */
canvas_item_class = GNOME_CANVAS_ITEM_CLASS (parent_class);
@@ -666,6 +685,7 @@ week_view_event_item_draw (GnomeCanvasItem *canvas_item,
EWeekViewEventSpan *span;
ECalModel *model;
GdkGC *gc;
+ GtkWidget *parent;
gint x1, y1, x2, y2, time_x, time_y;
gint icon_x, icon_y, time_width, min_end_time_x, max_icon_x;
gint rect_x, rect_w, rect_x2 = 0;
@@ -686,8 +706,10 @@ week_view_event_item_draw (GnomeCanvasItem *canvas_item,
const gchar *color_spec;
event_item = E_WEEK_VIEW_EVENT_ITEM (canvas_item);
- week_view = E_WEEK_VIEW (GTK_WIDGET (canvas_item->canvas)->parent);
- g_return_if_fail (E_IS_WEEK_VIEW (week_view));
+ parent = gtk_widget_get_parent (GTK_WIDGET (canvas_item->canvas));
+ g_return_if_fail (E_IS_WEEK_VIEW (parent));
+
+ week_view = E_WEEK_VIEW (parent);
if (event_item->priv->event_num == -1 || event_item->priv->span_num == -1)
return;