summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/reference/gtk/gtk4-sections.txt3
-rw-r--r--gtk/gtkbutton.c47
-rw-r--r--gtk/gtkcolumnviewcolumn.c28
-rw-r--r--gtk/gtkcolumnviewcolumn.h4
-rw-r--r--gtk/gtkscrolledwindow.c72
-rw-r--r--gtk/gtkscrolledwindow.h6
-rw-r--r--gtk/gtktextview.c2
-rw-r--r--tests/testcolumnview.c2
-rw-r--r--tests/testkineticscrolling.c3
-rw-r--r--tests/testlistdnd.c2
10 files changed, 16 insertions, 153 deletions
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index a5246c6dae..72968d98a4 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -555,7 +555,6 @@ gtk_column_view_get_type
<TITLE>GtkColumnViewColumn</TITLE>
GtkColumnViewColumn
gtk_column_view_column_new
-gtk_column_view_column_new_with_factory
gtk_column_view_column_get_column_view
gtk_column_view_column_set_factory
gtk_column_view_column_get_factory
@@ -2491,8 +2490,6 @@ gtk_scrolled_window_get_has_frame
gtk_scrolled_window_set_has_frame
gtk_scrolled_window_get_kinetic_scrolling
gtk_scrolled_window_set_kinetic_scrolling
-gtk_scrolled_window_get_capture_button_press
-gtk_scrolled_window_set_capture_button_press
gtk_scrolled_window_get_overlay_scrolling
gtk_scrolled_window_set_overlay_scrolling
gtk_scrolled_window_get_min_content_width
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index 1bacdc797b..8ef124da83 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -94,7 +94,6 @@ struct _GtkButtonPrivate
guint activate_timeout;
guint button_down : 1;
- guint in_button : 1;
guint use_underline : 1;
guint child_type : 2;
};
@@ -159,16 +158,6 @@ G_DEFINE_TYPE_WITH_CODE (GtkButton, gtk_button, GTK_TYPE_WIDGET,
G_IMPLEMENT_INTERFACE (GTK_TYPE_ACTIONABLE, gtk_button_actionable_iface_init))
static void
-gtk_button_unmap (GtkWidget *widget)
-{
- GtkButtonPrivate *priv = gtk_button_get_instance_private (GTK_BUTTON (widget));
-
- priv->in_button = FALSE;
-
- GTK_WIDGET_CLASS (gtk_button_parent_class)->unmap (widget);
-}
-
-static void
gtk_button_compute_expand (GtkWidget *widget,
gboolean *hexpand,
gboolean *vexpand)
@@ -216,7 +205,6 @@ gtk_button_class_init (GtkButtonClass *klass)
widget_class->unrealize = gtk_button_unrealize;
widget_class->state_flags_changed = gtk_button_state_flags_changed;
- widget_class->unmap = gtk_button_unmap;
widget_class->compute_expand = gtk_button_compute_expand;
widget_class->get_request_mode = gtk_button_get_request_mode;
@@ -327,8 +315,6 @@ click_pressed_cb (GtkGestureClick *gesture,
if (gtk_widget_get_focus_on_click (widget) && !gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
- priv->in_button = TRUE;
-
sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), sequence, GTK_EVENT_SEQUENCE_CLAIMED);
@@ -336,28 +322,6 @@ click_pressed_cb (GtkGestureClick *gesture,
priv->button_down = TRUE;
}
-static gboolean
-touch_release_in_button (GtkGestureClick *gesture,
- GtkWidget *widget,
- double x,
- double y)
-{
- GdkEvent *event;
-
- event = gtk_event_controller_get_current_event (GTK_EVENT_CONTROLLER (gesture));
-
- if (!event)
- return FALSE;
-
- if (gdk_event_get_event_type (event) != GDK_TOUCH_END)
- return FALSE;
-
- if (!gtk_widget_contains (widget, x, y))
- return FALSE;
-
- return TRUE;
-}
-
static void
click_released_cb (GtkGestureClick *gesture,
guint n_press,
@@ -366,19 +330,11 @@ click_released_cb (GtkGestureClick *gesture,
GtkWidget *widget)
{
GtkButton *button = GTK_BUTTON (widget);
- GtkButtonPrivate *priv = gtk_button_get_instance_private (button);
- GdkEventSequence *sequence;
gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
gtk_button_do_release (button,
gtk_widget_is_sensitive (GTK_WIDGET (button)) &&
- (priv->in_button ||
- touch_release_in_button (gesture, widget, x, y)));
-
- sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
-
- if (sequence)
- priv->in_button = FALSE;
+ gtk_widget_contains (widget, x, y));
}
static void
@@ -444,7 +400,6 @@ gtk_button_init (GtkButton *button)
gtk_widget_set_focusable (GTK_WIDGET (button), TRUE);
gtk_widget_set_receives_default (GTK_WIDGET (button), TRUE);
- priv->in_button = FALSE;
priv->button_down = FALSE;
priv->use_underline = FALSE;
priv->child_type = WIDGET_CHILD;
diff --git a/gtk/gtkcolumnviewcolumn.c b/gtk/gtkcolumnviewcolumn.c
index c1e7c18317..478cc5fe3f 100644
--- a/gtk/gtkcolumnviewcolumn.c
+++ b/gtk/gtkcolumnviewcolumn.c
@@ -357,25 +357,7 @@ gtk_column_view_column_init (GtkColumnViewColumn *self)
/**
* gtk_column_view_column_new:
* @title: (nullable): Title to use for this column
- *
- * Creates a new #GtkColumnViewColumn.
- *
- * You most likely want to call gtk_column_view_add_column() next.
- *
- * Returns: a new #GtkColumnViewColumn
- **/
-GtkColumnViewColumn *
-gtk_column_view_column_new (const char *title)
-{
- return g_object_new (GTK_TYPE_COLUMN_VIEW_COLUMN,
- "title", title,
- NULL);
-}
-
-/**
- * gtk_column_view_column_new_with_factory:
- * @title: (nullable): Title to use for this column
- * @factory: (transfer full): The factory to populate items with
+ * @factory: (transfer full) (nullable): The factory to populate items with
*
* Creates a new #GtkColumnViewColumn that uses the given @factory for
* mapping items to widgets.
@@ -385,15 +367,15 @@ gtk_column_view_column_new (const char *title)
* The function takes ownership of the
* argument, so you can write code like
* ```
- * column = gtk_column_view_column_new_with_factory (_("Name"),
+ * column = gtk_column_view_column_new (_("Name"),
* gtk_builder_list_item_factory_new_from_resource ("/name.ui"));
* ```
*
* Returns: a new #GtkColumnViewColumn using the given @factory
**/
GtkColumnViewColumn *
-gtk_column_view_column_new_with_factory (const char *title,
- GtkListItemFactory *factory)
+gtk_column_view_column_new (const char *title,
+ GtkListItemFactory *factory)
{
GtkColumnViewColumn *result;
@@ -404,7 +386,7 @@ gtk_column_view_column_new_with_factory (const char *title,
"title", title,
NULL);
- g_object_unref (factory);
+ g_clear_object (&factory);
return result;
}
diff --git a/gtk/gtkcolumnviewcolumn.h b/gtk/gtkcolumnviewcolumn.h
index 6125f16f76..5baf5b972c 100644
--- a/gtk/gtkcolumnviewcolumn.h
+++ b/gtk/gtkcolumnviewcolumn.h
@@ -47,9 +47,7 @@ GDK_AVAILABLE_IN_ALL
GType gtk_column_view_column_get_type (void) G_GNUC_CONST;
GDK_AVAILABLE_IN_ALL
-GtkColumnViewColumn * gtk_column_view_column_new (const char *title);
-GDK_AVAILABLE_IN_ALL
-GtkColumnViewColumn * gtk_column_view_column_new_with_factory (const char *title,
+GtkColumnViewColumn * gtk_column_view_column_new (const char *title,
GtkListItemFactory *factory);
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c
index 2e24b21b38..23196edb94 100644
--- a/gtk/gtkscrolledwindow.c
+++ b/gtk/gtkscrolledwindow.c
@@ -29,6 +29,7 @@
#include "gtkadjustment.h"
#include "gtkadjustmentprivate.h"
#include "gtkbuildable.h"
+#include "gtkdragsource.h"
#include "gtkeventcontrollermotion.h"
#include "gtkeventcontrollerscroll.h"
#include "gtkeventcontrollerprivate.h"
@@ -282,7 +283,6 @@ typedef struct
double drag_start_y;
guint kinetic_scrolling : 1;
- guint capture_button_press : 1;
guint in_drag : 1;
guint deceleration_id;
@@ -902,7 +902,6 @@ scrolled_window_drag_begin_cb (GtkScrolledWindow *scrolled_window,
GtkGesture *gesture)
{
GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
- GtkEventSequenceState state;
GdkEventSequence *sequence;
GtkWidget *event_widget;
@@ -915,13 +914,7 @@ scrolled_window_drag_begin_cb (GtkScrolledWindow *scrolled_window,
if (event_widget == priv->vscrollbar || event_widget == priv->hscrollbar ||
(!may_hscroll (scrolled_window) && !may_vscroll (scrolled_window)))
- state = GTK_EVENT_SEQUENCE_DENIED;
- else if (priv->capture_button_press)
- state = GTK_EVENT_SEQUENCE_CLAIMED;
- else
- return;
-
- gtk_gesture_set_sequence_state (gesture, sequence, state);
+ gtk_gesture_set_sequence_state (gesture, sequence, GTK_EVENT_SEQUENCE_DENIED);
}
static void
@@ -953,16 +946,12 @@ scrolled_window_drag_update_cb (GtkScrolledWindow *scrolled_window,
GtkAdjustment *vadjustment;
double dx, dy;
- gtk_scrolled_window_invalidate_overshoot (scrolled_window);
-
- if (!priv->capture_button_press)
- {
- GdkEventSequence *sequence;
+ if (!gtk_drag_check_threshold (GTK_WIDGET (scrolled_window),
+ 0, 0, offset_x, offset_y))
+ return;
- sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
- gtk_gesture_set_sequence_state (gesture, sequence,
- GTK_EVENT_SEQUENCE_CLAIMED);
- }
+ gtk_scrolled_window_invalidate_overshoot (scrolled_window);
+ gtk_gesture_set_state (gesture, GTK_EVENT_SEQUENCE_CLAIMED);
hadjustment = gtk_scrollbar_get_adjustment (GTK_SCROLLBAR (priv->hscrollbar));
if (hadjustment && may_hscroll (scrolled_window))
@@ -2024,7 +2013,6 @@ gtk_scrolled_window_init (GtkScrolledWindow *scrolled_window)
gtk_gesture_group (priv->long_press_gesture, priv->drag_gesture);
gtk_scrolled_window_set_kinetic_scrolling (scrolled_window, TRUE);
- gtk_scrolled_window_set_capture_button_press (scrolled_window, TRUE);
controller = gtk_event_controller_motion_new ();
gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
@@ -2551,52 +2539,6 @@ gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window)
return priv->kinetic_scrolling;
}
-/**
- * gtk_scrolled_window_set_capture_button_press:
- * @scrolled_window: a #GtkScrolledWindow
- * @capture_button_press: %TRUE to capture button presses
- *
- * Changes the behaviour of @scrolled_window with regard to the initial
- * event that possibly starts kinetic scrolling. When @capture_button_press
- * is set to %TRUE, the event is captured by the scrolled window, and
- * then later replayed if it is meant to go to the child widget.
- *
- * This should be enabled if any child widgets perform non-reversible
- * actions on button press events. If they don't, it might be better to
- * set @capture_button_press to %FALSE.
- *
- * This setting only has an effect if kinetic scrolling is enabled.
- */
-void
-gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window,
- gboolean capture_button_press)
-{
- GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
-
- g_return_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window));
-
- priv->capture_button_press = capture_button_press;
-}
-
-/**
- * gtk_scrolled_window_get_capture_button_press:
- * @scrolled_window: a #GtkScrolledWindow
- *
- * Return whether button presses are captured during kinetic
- * scrolling. See gtk_scrolled_window_set_capture_button_press().
- *
- * Returns: %TRUE if button presses are captured during kinetic scrolling
- */
-gboolean
-gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window)
-{
- GtkScrolledWindowPrivate *priv = gtk_scrolled_window_get_instance_private (scrolled_window);
-
- g_return_val_if_fail (GTK_IS_SCROLLED_WINDOW (scrolled_window), FALSE);
-
- return priv->capture_button_press;
-}
-
static void
gtk_scrolled_window_dispose (GObject *object)
{
diff --git a/gtk/gtkscrolledwindow.h b/gtk/gtkscrolledwindow.h
index 06a0c778a4..30cfb334c6 100644
--- a/gtk/gtkscrolledwindow.h
+++ b/gtk/gtkscrolledwindow.h
@@ -146,12 +146,6 @@ GDK_AVAILABLE_IN_ALL
gboolean gtk_scrolled_window_get_kinetic_scrolling (GtkScrolledWindow *scrolled_window);
GDK_AVAILABLE_IN_ALL
-void gtk_scrolled_window_set_capture_button_press (GtkScrolledWindow *scrolled_window,
- gboolean capture_button_press);
-GDK_AVAILABLE_IN_ALL
-gboolean gtk_scrolled_window_get_capture_button_press (GtkScrolledWindow *scrolled_window);
-
-GDK_AVAILABLE_IN_ALL
void gtk_scrolled_window_set_overlay_scrolling (GtkScrolledWindow *scrolled_window,
gboolean overlay_scrolling);
GDK_AVAILABLE_IN_ALL
diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c
index add51f814f..1277bfb1b8 100644
--- a/gtk/gtktextview.c
+++ b/gtk/gtktextview.c
@@ -5480,8 +5480,6 @@ gtk_text_view_click_gesture_pressed (GtkGestureClick *gesture,
if (is_touchscreen)
{
- gtk_gesture_set_sequence_state (GTK_GESTURE (gesture), sequence,
- GTK_EVENT_SEQUENCE_CLAIMED);
gtk_text_buffer_place_cursor (get_buffer (text_view), &iter);
priv->handle_place_time = g_get_monotonic_time ();
}
diff --git a/tests/testcolumnview.c b/tests/testcolumnview.c
index aa7e769393..04f09f1ee5 100644
--- a/tests/testcolumnview.c
+++ b/tests/testcolumnview.c
@@ -662,7 +662,7 @@ add_extra_columns (GtkColumnView *view,
for (i = 0; i < G_N_ELEMENTS(extra_columns); i++)
{
bytes = g_bytes_new_static (extra_columns[i].factory_xml, strlen (extra_columns[i].factory_xml));
- column = gtk_column_view_column_new_with_factory (extra_columns[i].title,
+ column = gtk_column_view_column_new (extra_columns[i].title,
gtk_builder_list_item_factory_new_from_bytes (scope, bytes));
g_bytes_unref (bytes);
sorter = GTK_SORTER (gtk_custom_sorter_new (compare_file_attribute, (gpointer) extra_columns[i].attribute, NULL));
diff --git a/tests/testkineticscrolling.c b/tests/testkineticscrolling.c
index 1189cc9d14..e492e5135f 100644
--- a/tests/testkineticscrolling.c
+++ b/tests/testkineticscrolling.c
@@ -66,7 +66,6 @@ kinetic_scrolling (void)
swindow = gtk_scrolled_window_new ();
gtk_scrolled_window_set_kinetic_scrolling (GTK_SCROLLED_WINDOW (swindow), TRUE);
- gtk_scrolled_window_set_capture_button_press (GTK_SCROLLED_WINDOW (swindow), TRUE);
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (swindow), button_grid);
gtk_grid_attach (GTK_GRID (grid), swindow, 0, 1, 1, 1);
@@ -104,7 +103,6 @@ kinetic_scrolling (void)
swindow = gtk_scrolled_window_new ();
gtk_scrolled_window_set_kinetic_scrolling (GTK_SCROLLED_WINDOW (swindow), TRUE);
- gtk_scrolled_window_set_capture_button_press (GTK_SCROLLED_WINDOW (swindow), TRUE);
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (swindow), treeview);
gtk_grid_attach (GTK_GRID (grid), swindow, 1, 1, 1, 1);
@@ -114,7 +112,6 @@ kinetic_scrolling (void)
textview = gtk_text_view_new ();
swindow = gtk_scrolled_window_new ();
gtk_scrolled_window_set_kinetic_scrolling (GTK_SCROLLED_WINDOW (swindow), TRUE);
- gtk_scrolled_window_set_capture_button_press (GTK_SCROLLED_WINDOW (swindow), TRUE);
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (swindow), textview);
gtk_grid_attach (GTK_GRID (grid), swindow, 2, 1, 1, 1);
diff --git a/tests/testlistdnd.c b/tests/testlistdnd.c
index 803ff2164d..60c943715d 100644
--- a/tests/testlistdnd.c
+++ b/tests/testlistdnd.c
@@ -388,7 +388,7 @@ main (int argc, char *argv[])
g_signal_connect (factory, "unbind", G_CALLBACK (unbind_item), NULL);
title = g_strdup_printf ("Column %u", i);
- column = gtk_column_view_column_new_with_factory (title, factory);
+ column = gtk_column_view_column_new (title, factory);
gtk_column_view_append_column (GTK_COLUMN_VIEW (cv), column);
g_object_unref (column);
g_free (title);