[gtk+/wip/carlosg/private-event-structs: 5/41] calendar: Update to using GdkEvent API
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/carlosg/private-event-structs: 5/41] calendar: Update to using GdkEvent API
- Date: Fri, 25 Aug 2017 15:05:39 +0000 (UTC)
commit d799b7d30aea78c9cd9b56a2512a31aa1586223a
Author: Carlos Garnacho <carlosg gnome org>
Date: Fri Aug 25 16:43:42 2017 +0200
calendar: Update to using GdkEvent API
gtk/gtkcalendar.c | 47 ++++++++++++++++++++++++++++++++---------------
1 files changed, 32 insertions(+), 15 deletions(-)
---
diff --git a/gtk/gtkcalendar.c b/gtk/gtkcalendar.c
index e2f2ae6..515fa3f 100644
--- a/gtk/gtkcalendar.c
+++ b/gtk/gtkcalendar.c
@@ -2537,6 +2537,8 @@ calendar_main_button_press (GtkCalendar *calendar,
gint row, col;
gint day_month;
gint day;
+ guint button;
+ GdkEventType event_type;
gdk_event_get_coords ((const GdkEvent *)event, &x, &y);
@@ -2548,8 +2550,9 @@ calendar_main_button_press (GtkCalendar *calendar,
return;
day_month = priv->day_month[row][col];
+ event_type = gdk_event_get_event_type ((GdkEvent *) event);
- if (event->type == GDK_BUTTON_PRESS)
+ if (event_type == GDK_BUTTON_PRESS)
{
day = priv->day[row][col];
@@ -2561,7 +2564,8 @@ calendar_main_button_press (GtkCalendar *calendar,
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
- if (event->button == GDK_BUTTON_PRIMARY)
+ if (gdk_event_get_button ((GdkEvent *) event, &button) &&
+ button == GDK_BUTTON_PRIMARY)
{
priv->in_drag = 1;
priv->drag_start_x = x;
@@ -2570,7 +2574,7 @@ calendar_main_button_press (GtkCalendar *calendar,
calendar_select_and_focus_day (calendar, day);
}
- else if (event->type == GDK_2BUTTON_PRESS)
+ else if (event_type == GDK_2BUTTON_PRESS)
{
priv->in_drag = 0;
if (day_month == MONTH_CURRENT)
@@ -2588,6 +2592,7 @@ gtk_calendar_button_press (GtkWidget *widget,
GtkCalendarPrivate *priv = calendar->priv;
gint arrow = -1;
double x, y;
+ guint button;
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
@@ -2606,9 +2611,10 @@ gtk_calendar_button_press (GtkWidget *widget,
if (gdk_rectangle_contains_point (&arrow_rect, (int)x, (int)y))
{
/* only call the action on single click, not double */
- if (event->type == GDK_BUTTON_PRESS)
+ if (gdk_event_get_event_type ((GdkEvent *) event) == GDK_BUTTON_PRESS)
{
- if (event->button == GDK_BUTTON_PRIMARY)
+ if (gdk_event_get_button ((GdkEvent *) event, &button) &&
+ button == GDK_BUTTON_PRIMARY)
calendar_start_spinning (calendar, arrow);
calendar_arrow_action (calendar, arrow);
@@ -2628,7 +2634,7 @@ gtk_calendar_button_release (GtkWidget *widget,
GtkCalendar *calendar = GTK_CALENDAR (widget);
GtkCalendarPrivate *priv = calendar->priv;
- if (event->button == GDK_BUTTON_PRIMARY)
+ if (gdk_event_get_event_type ((GdkEvent *) event) == GDK_BUTTON_PRIMARY)
{
calendar_stop_spinning (calendar);
@@ -2644,12 +2650,14 @@ gtk_calendar_motion_notify (GtkWidget *widget,
GdkEventMotion *event)
{
GtkCalendarPrivate *priv = GTK_CALENDAR (widget)->priv;
+ gdouble x, y;
if (priv->in_drag)
{
- if (gtk_drag_check_threshold (widget,
+ if (gdk_event_get_coords ((GdkEvent *) event, &x, &y) &&
+ gtk_drag_check_threshold (widget,
priv->drag_start_x, priv->drag_start_y,
- event->x, event->y))
+ x, y))
{
GdkDragContext *context;
GtkTargetList *target_list = gtk_target_list_new (NULL, 0);
@@ -2672,14 +2680,18 @@ gtk_calendar_scroll (GtkWidget *widget,
GdkEventScroll *event)
{
GtkCalendar *calendar = GTK_CALENDAR (widget);
+ GdkScrollDirection direction;
- if (event->direction == GDK_SCROLL_UP)
+ if (!gdk_event_get_scroll_direction ((GdkEvent *) event, &direction))
+ return GDK_EVENT_PROPAGATE;
+
+ if (direction == GDK_SCROLL_UP)
{
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
calendar_set_month_prev (calendar);
}
- else if (event->direction == GDK_SCROLL_DOWN)
+ else if (direction == GDK_SCROLL_DOWN)
{
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
@@ -2746,18 +2758,23 @@ gtk_calendar_key_press (GtkWidget *widget,
gint old_focus_row;
gint old_focus_col;
gint row, col, day;
+ guint keyval, state;
return_val = FALSE;
+ if (!gdk_event_get_keyval ((GdkEvent *) event, &keyval) ||
+ !gdk_event_get_state ((GdkEvent *) event, &state))
+ return return_val;
+
old_focus_row = priv->focus_row;
old_focus_col = priv->focus_col;
- switch (event->keyval)
+ switch (keyval)
{
case GDK_KEY_KP_Left:
case GDK_KEY_Left:
return_val = TRUE;
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
calendar_set_month_prev (calendar);
else
{
@@ -2770,7 +2787,7 @@ gtk_calendar_key_press (GtkWidget *widget,
case GDK_KEY_KP_Right:
case GDK_KEY_Right:
return_val = TRUE;
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
calendar_set_month_next (calendar);
else
{
@@ -2783,7 +2800,7 @@ gtk_calendar_key_press (GtkWidget *widget,
case GDK_KEY_KP_Up:
case GDK_KEY_Up:
return_val = TRUE;
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
calendar_set_year_prev (calendar);
else
{
@@ -2801,7 +2818,7 @@ gtk_calendar_key_press (GtkWidget *widget,
case GDK_KEY_KP_Down:
case GDK_KEY_Down:
return_val = TRUE;
- if (event->state & GDK_CONTROL_MASK)
+ if (state & GDK_CONTROL_MASK)
calendar_set_year_next (calendar);
else
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]