aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2010-10-10 08:31:45 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-10-30 01:49:59 +0800
commitb3a95d0299386bccbdebb967d15f4df02cf15891 (patch)
tree52b90e4b913bb1c4cd17df3335216bf518a6e01c /calendar/gui
parent08e71ba8ae72f333f017c25168b9ec85ea5954fa (diff)
downloadgsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.tar.gz
gsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.tar.zst
gsoc2013-evolution-b3a95d0299386bccbdebb967d15f4df02cf15891.zip
gnome-canvas: Change GnomeCanvasItem->point vfunc
Previously the function returned the distance to the nearest item. Now it only returns an item that is hit. This slightly changes semantics (button events are no longer dispatched to the nearest item, but only to the item actually clicked on), but makes the code way simpler and actually does what one would expect.
Diffstat (limited to 'calendar/gui')
-rw-r--r--calendar/gui/e-day-view-main-item.c13
-rw-r--r--calendar/gui/e-day-view-time-item.c15
-rw-r--r--calendar/gui/e-day-view-top-item.c13
-rw-r--r--calendar/gui/e-meeting-time-sel-item.c18
-rw-r--r--calendar/gui/e-week-view-event-item.c13
-rw-r--r--calendar/gui/e-week-view-main-item.c13
-rw-r--r--calendar/gui/e-week-view-titles-item.c13
7 files changed, 27 insertions, 71 deletions
diff --git a/calendar/gui/e-day-view-main-item.c b/calendar/gui/e-day-view-main-item.c
index 148843b397..33e45bbef3 100644
--- a/calendar/gui/e-day-view-main-item.c
+++ b/calendar/gui/e-day-view-main-item.c
@@ -1235,21 +1235,14 @@ day_view_main_item_draw (GnomeCanvasItem *canvas_item,
gdk_region_destroy (draw_region);
}
-static gdouble
+static GnomeCanvasItem *
day_view_main_item_point (GnomeCanvasItem *item,
gdouble x,
gdouble y,
gint cx,
- gint cy,
- GnomeCanvasItem **actual_item)
+ gint cy)
{
- /* This is supposed to return the nearest item to the point
- * and the distance. Since we are the only item we just return
- * ourself and 0 for the distance. This is needed so that we
- * get button/motion events. */
- *actual_item = item;
-
- return 0.0;
+ return item;
}
static void
diff --git a/calendar/gui/e-day-view-time-item.c b/calendar/gui/e-day-view-time-item.c
index 9e430ecf41..e952515c89 100644
--- a/calendar/gui/e-day-view-time-item.c
+++ b/calendar/gui/e-day-view-time-item.c
@@ -80,10 +80,9 @@ static void e_day_view_time_item_draw (GnomeCanvasItem *item,
GdkDrawable *drawable,
gint x, gint y,
gint width, gint height);
-static double e_day_view_time_item_point (GnomeCanvasItem *item,
- double x, double y,
- gint cx, gint cy,
- GnomeCanvasItem **actual_item);
+static GnomeCanvasItem *e_day_view_time_item_point (GnomeCanvasItem *item,
+ double x, double y,
+ gint cx, gint cy);
static gint e_day_view_time_item_event (GnomeCanvasItem *item,
GdkEvent *event);
static void e_day_view_time_item_increment_time (gint *hour,
@@ -649,13 +648,11 @@ e_day_view_time_item_increment_time (gint *hour,
}
}
-static double
+static GnomeCanvasItem *
e_day_view_time_item_point (GnomeCanvasItem *item, double x, double y,
- gint cx, gint cy,
- GnomeCanvasItem **actual_item)
+ gint cx, gint cy)
{
- *actual_item = item;
- return 0.0;
+ return item;
}
static gint
diff --git a/calendar/gui/e-day-view-top-item.c b/calendar/gui/e-day-view-top-item.c
index c0b718d63b..41a2b665df 100644
--- a/calendar/gui/e-day-view-top-item.c
+++ b/calendar/gui/e-day-view-top-item.c
@@ -781,21 +781,14 @@ day_view_top_item_draw (GnomeCanvasItem *canvas_item,
cairo_destroy (cr);
}
-static double
+static GnomeCanvasItem *
day_view_top_item_point (GnomeCanvasItem *item,
gdouble x,
gdouble y,
gint cx,
- gint cy,
- GnomeCanvasItem **actual_item)
+ gint cy)
{
- /* This is supposed to return the nearest item the the point
- * and the distance. Since we are the only item we just return
- * ourself and 0 for the distance. This is needed so that we
- * get button/motion events. */
- *actual_item = item;
-
- return 0.0;
+ return item;
}
static void
diff --git a/calendar/gui/e-meeting-time-sel-item.c b/calendar/gui/e-meeting-time-sel-item.c
index 72d7d724a3..18b21949a1 100644
--- a/calendar/gui/e-meeting-time-sel-item.c
+++ b/calendar/gui/e-meeting-time-sel-item.c
@@ -54,10 +54,9 @@ static void e_meeting_time_selector_item_draw (GnomeCanvasItem *item,
GdkDrawable *drawable,
gint x, gint y,
gint width, gint height);
-static double e_meeting_time_selector_item_point (GnomeCanvasItem *item,
- double x, double y,
- gint cx, gint cy,
- GnomeCanvasItem **actual_item);
+static GnomeCanvasItem *e_meeting_time_selector_item_point (GnomeCanvasItem *item,
+ double x, double y,
+ gint cx, gint cy);
static gint e_meeting_time_selector_item_event (GnomeCanvasItem *item,
GdkEvent *event);
static gint e_meeting_time_selector_item_button_press (EMeetingTimeSelectorItem *mts_item,
@@ -779,16 +778,11 @@ e_meeting_time_selector_item_paint_attendee_busy_periods (EMeetingTimeSelectorIt
* CANVAS ITEM ROUTINES - functions to be a GnomeCanvasItem.
*/
-/* This is supposed to return the nearest item the the point and the distance.
- Since we are the only item we just return ourself and 0 for the distance.
- This is needed so that we get button/motion events. */
-static double
+static GnomeCanvasItem *
e_meeting_time_selector_item_point (GnomeCanvasItem *item, double x, double y,
- gint cx, gint cy,
- GnomeCanvasItem **actual_item)
+ gint cx, gint cy)
{
- *actual_item = item;
- return 0.0;
+ return item;
}
static gint
diff --git a/calendar/gui/e-week-view-event-item.c b/calendar/gui/e-week-view-event-item.c
index f2b3471e66..8309dcd8dc 100644
--- a/calendar/gui/e-week-view-event-item.c
+++ b/calendar/gui/e-week-view-event-item.c
@@ -1126,21 +1126,14 @@ week_view_event_item_draw (GnomeCanvasItem *canvas_item,
gdk_region_destroy (draw_region);
}
-static double
+static GnomeCanvasItem *
week_view_event_item_point (GnomeCanvasItem *item,
gdouble x,
gdouble y,
gint cx,
- gint cy,
- GnomeCanvasItem **actual_item)
+ gint cy)
{
- /* This is supposed to return the nearest item the the point
- * and the distance. Since we are the only item we just return
- * ourself and 0 for the distance. This is needed so that we
- * get button/motion events. */
- *actual_item = item;
-
- return 0.0;
+ return item;
}
static gint
diff --git a/calendar/gui/e-week-view-main-item.c b/calendar/gui/e-week-view-main-item.c
index a42b60ea40..5d09d45660 100644
--- a/calendar/gui/e-week-view-main-item.c
+++ b/calendar/gui/e-week-view-main-item.c
@@ -411,21 +411,14 @@ week_view_main_item_draw (GnomeCanvasItem *canvas_item,
}
}
-static gdouble
+static GnomeCanvasItem *
week_view_main_item_point (GnomeCanvasItem *item,
gdouble x,
gdouble y,
gint cx,
- gint cy,
- GnomeCanvasItem **actual_item)
+ gint cy)
{
- /* This is supposed to return the nearest item the the point
- * and the distance. Since we are the only item we just return
- * ourself and 0 for the distance. This is needed so that we
- * get button/motion events. */
- *actual_item = item;
-
- return 0.0;
+ return item;
}
static void
diff --git a/calendar/gui/e-week-view-titles-item.c b/calendar/gui/e-week-view-titles-item.c
index ab7a9db652..2e058d1056 100644
--- a/calendar/gui/e-week-view-titles-item.c
+++ b/calendar/gui/e-week-view-titles-item.c
@@ -243,21 +243,14 @@ week_view_titles_item_draw (GnomeCanvasItem *canvas_item,
g_object_unref (layout);
}
-static double
+static GnomeCanvasItem *
week_view_titles_item_point (GnomeCanvasItem *item,
gdouble x,
gdouble y,
gint cx,
- gint cy,
- GnomeCanvasItem **actual_item)
+ gint cy)
{
- /* This is supposed to return the nearest item the the point
- * and the distance. Since we are the only item we just return
- * ourself and 0 for the distance. This is needed so that we
- * get button/motion events. */
- *actual_item = item;
-
- return 0.0;
+ return item;
}
static void