Replace Gtk3.20 functions in gnc-date-edit.c

This commit is contained in:
Robert Fewell 2017-07-09 09:38:51 +01:00 committed by Geert Janssens
parent f853441402
commit 6790066ff4

View File

@ -148,20 +148,33 @@ gnc_strtok_r (char *s, const char *delim, char **save_ptr)
static void
gnc_date_edit_popdown(GNCDateEdit *gde)
{
GdkDeviceManager *manager;
#if GTK_CHECK_VERSION(3,20,0)
GdkSeat *seat;
#else
GdkDeviceManager *device_manager;
#endif
GdkDevice *pointer;
g_return_if_fail (GNC_IS_DATE_EDIT (gde));
ENTER("gde %p", gde);
manager = gdk_display_get_device_manager (gdk_display_get_default());
pointer = gdk_device_manager_get_client_pointer (manager);
#if GTK_CHECK_VERSION(3,20,0)
seat = gdk_display_get_default_seat (gdk_display_get_default());
pointer = gdk_seat_get_pointer (seat);
#else
device_manager = gdk_display_get_device_manager (gdk_display_get_default());
pointer = gdk_device_manager_get_client_pointer (device_manager);
#endif
gtk_grab_remove (gde->cal_popup);
gtk_widget_hide (gde->cal_popup);
if (pointer)
#if GTK_CHECK_VERSION(3,20,0)
gdk_seat_ungrab (seat);
#else
gdk_device_ungrab (pointer, GDK_CURRENT_TIME);
#endif
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (gde->date_button),
FALSE);
@ -253,27 +266,42 @@ popup_grab_on_window (GdkWindow *window,
GdkDevice *pointer,
guint32 activate_time)
{
if (keyboard &&
gdk_device_grab (keyboard, window,
GDK_OWNERSHIP_WINDOW, TRUE,
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
NULL, activate_time) != GDK_GRAB_SUCCESS)
return FALSE;
if (pointer &&
gdk_device_grab (pointer, window,
GDK_OWNERSHIP_WINDOW, TRUE,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK,
NULL, activate_time) != GDK_GRAB_SUCCESS)
#if GTK_CHECK_VERSION(3,20,0)
GdkDisplay *display = gdk_display_get_default ();
GdkSeat *seat = gdk_display_get_default_seat (display);
GdkEvent *event = gtk_get_current_event ();
if (keyboard && gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_KEYBOARD, TRUE, NULL,
event, NULL, NULL) != GDK_GRAB_SUCCESS )
#else
if (keyboard && gdk_device_grab (keyboard, window,
GDK_OWNERSHIP_WINDOW, TRUE,
GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK,
NULL, activate_time) != GDK_GRAB_SUCCESS)
#endif
return FALSE;
#if GTK_CHECK_VERSION(3,20,0)
if (pointer && gdk_seat_grab (seat, window, GDK_SEAT_CAPABILITY_POINTER, TRUE, NULL,
event, NULL, NULL) != GDK_GRAB_SUCCESS )
#else
if (pointer && gdk_device_grab (pointer, window,
GDK_OWNERSHIP_WINDOW, TRUE,
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
GDK_POINTER_MOTION_MASK,
NULL, activate_time) != GDK_GRAB_SUCCESS)
#endif
{
if (keyboard)
gdk_device_ungrab (keyboard, activate_time);
return FALSE;
if (keyboard)
#if GTK_CHECK_VERSION(3,20,0)
gdk_seat_ungrab (seat);
#else
gdk_device_ungrab (keyboard, activate_time);
#endif
return FALSE;
}
return TRUE;
return TRUE;
}