forked from AuroraMiddleware/gtk
listitemwidget: Activate on release instead of press
Single click activation should only be done on release and not on press, otherwise it breaks touch scrolling. Double-click activation still can be done on press. This matches the GtkListBox behavior as well. Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3345
This commit is contained in:
parent
e6f0103940
commit
5968b10b0b
@ -332,7 +332,7 @@ gtk_list_item_widget_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
|
||||
if (!priv->list_item || priv->list_item->activatable)
|
||||
{
|
||||
if (n_press == 2 || priv->single_click_activate)
|
||||
if (n_press == 2 && !priv->single_click_activate)
|
||||
{
|
||||
gtk_widget_activate_action (GTK_WIDGET (self),
|
||||
"list.activate-item",
|
||||
@ -356,6 +356,16 @@ gtk_list_item_widget_click_gesture_released (GtkGestureClick *gesture,
|
||||
{
|
||||
GtkListItemWidgetPrivate *priv = gtk_list_item_widget_get_instance_private (self);
|
||||
|
||||
if (priv->single_click_activate)
|
||||
{
|
||||
gtk_widget_activate_action (GTK_WIDGET (self),
|
||||
"list.activate-item",
|
||||
"u",
|
||||
priv->position);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (!priv->list_item || priv->list_item->selectable)
|
||||
{
|
||||
GdkModifierType state;
|
||||
|
Loading…
Reference in New Issue
Block a user