menus: Handle item selection for touch devices dynamically

Instead of using gtk-touchscreen-mode, the behavior changes depending
on the source device in use.
This commit is contained in:
Carlos Garnacho
2011-12-11 18:46:50 +01:00
committed by Matthias Clasen
parent 51189ae260
commit 5139617b91
3 changed files with 20 additions and 16 deletions

View File

@ -1083,13 +1083,11 @@ gtk_menu_shell_enter_notify (GtkWidget *widget,
if (!gtk_widget_get_visible (GTK_MENU_ITEM (menu_item)->priv->submenu))
{
gboolean touchscreen_mode;
GdkDevice *source_device;
g_object_get (gtk_widget_get_settings (widget),
"gtk-touchscreen-mode", &touchscreen_mode,
NULL);
source_device = gdk_event_get_source_device ((GdkEvent *) event);
if (touchscreen_mode)
if (gdk_device_get_source (source_device) == GDK_SOURCE_TOUCH)
_gtk_menu_item_popup_submenu (menu_item, TRUE);
}
}