mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-12-26 21:51:08 +00:00
Merge branch 'wip/carlosg/osk-activation' into 'main'
gtktext: Claim gesture more selectively Closes #5351 See merge request GNOME/gtk!5230
This commit is contained in:
commit
21a69e7107
@ -2800,10 +2800,10 @@ check_autohide (GdkEvent *event)
|
||||
// grabs, it will be delivered to the same place as the
|
||||
// press, and will cause the auto dismissal to be triggered.
|
||||
case GDK_BUTTON_RELEASE:
|
||||
#endif
|
||||
case GDK_TOUCH_BEGIN:
|
||||
case GDK_TOUCH_END:
|
||||
case GDK_TOUCH_CANCEL:
|
||||
#endif
|
||||
case GDK_TOUCH_BEGIN:
|
||||
case GDK_TOUCHPAD_SWIPE:
|
||||
case GDK_TOUCHPAD_PINCH:
|
||||
display = gdk_event_get_display (event);
|
||||
|
@ -2756,8 +2756,6 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
GdkDevice *source;
|
||||
guint state;
|
||||
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
|
||||
sel_start = priv->selection_bound;
|
||||
sel_end = priv->current_pos;
|
||||
have_selection = sel_start != sel_end;
|
||||
@ -2792,6 +2790,8 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
gtk_text_selection_bubble_popup_unset (self);
|
||||
else
|
||||
gtk_text_selection_bubble_popup_set (self);
|
||||
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
}
|
||||
else if (extend_selection)
|
||||
{
|
||||
@ -2803,6 +2803,8 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
|
||||
/* all done, so skip the extend_to_left stuff later */
|
||||
extend_selection = FALSE;
|
||||
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -2810,6 +2812,7 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
priv->in_drag = TRUE;
|
||||
priv->drag_start_x = x;
|
||||
priv->drag_start_y = y;
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -2818,7 +2821,13 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
|
||||
if (!extend_selection)
|
||||
{
|
||||
gtk_text_set_selection_bounds (self, tmp_pos, tmp_pos);
|
||||
if (priv->current_pos != tmp_pos ||
|
||||
priv->selection_bound != tmp_pos)
|
||||
{
|
||||
gtk_text_set_selection_bounds (self, tmp_pos, tmp_pos);
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
}
|
||||
|
||||
priv->handle_place_time = g_get_monotonic_time ();
|
||||
}
|
||||
else
|
||||
@ -2828,6 +2837,7 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
sel_start = sel_end = priv->current_pos;
|
||||
|
||||
gtk_text_set_positions (self, tmp_pos, tmp_pos);
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2836,11 +2846,13 @@ gtk_text_click_gesture_pressed (GtkGestureClick *gesture,
|
||||
case 2:
|
||||
priv->select_words = TRUE;
|
||||
gtk_text_select_word (self);
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
break;
|
||||
|
||||
case 3:
|
||||
priv->select_lines = TRUE;
|
||||
gtk_text_select_line (self);
|
||||
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
Loading…
Reference in New Issue
Block a user