summaryrefslogtreecommitdiff
path: root/gtk/gtkwindowgroup.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2020-02-28 16:27:42 -0500
committerMatthias Clasen <mclasen@redhat.com>2020-02-28 16:27:42 -0500
commit0ffb35c9e74462a4c91f71aacdeeeb58225cb25c (patch)
tree2cd3a65ea292c0d0a7109a774ed8213901c82a80 /gtk/gtkwindowgroup.c
parentd60097f8fea8d1a437f0de75eee12c9a242b0ab9 (diff)
downloadgtk+-0ffb35c9e74462a4c91f71aacdeeeb58225cb25c.tar.gz
Drop device grabs
We were not using this api at all, so lets drop it.
Diffstat (limited to 'gtk/gtkwindowgroup.c')
-rw-r--r--gtk/gtkwindowgroup.c152
1 files changed, 0 insertions, 152 deletions
diff --git a/gtk/gtkwindowgroup.c b/gtk/gtkwindowgroup.c
index b81c407362..aeadd467af 100644
--- a/gtk/gtkwindowgroup.c
+++ b/gtk/gtkwindowgroup.c
@@ -62,7 +62,6 @@ struct _GtkDeviceGrabInfo
struct _GtkWindowGroupPrivate
{
GSList *grabs;
- GSList *device_grabs;
};
G_DEFINE_TYPE_WITH_PRIVATE (GtkWindowGroup, gtk_window_group, G_TYPE_OBJECT)
@@ -98,7 +97,6 @@ window_group_cleanup_grabs (GtkWindowGroup *group,
GtkWindow *window)
{
GtkWindowGroupPrivate *priv;
- GtkDeviceGrabInfo *info;
GSList *tmp_list;
GSList *to_remove = NULL;
@@ -118,26 +116,6 @@ window_group_cleanup_grabs (GtkWindowGroup *group,
g_object_unref (to_remove->data);
to_remove = g_slist_delete_link (to_remove, to_remove);
}
-
- tmp_list = priv->device_grabs;
-
- while (tmp_list)
- {
- info = tmp_list->data;
-
- if (gtk_widget_get_root (info->widget) == (GtkRoot *) window)
- to_remove = g_slist_prepend (to_remove, info);
-
- tmp_list = tmp_list->next;
- }
-
- while (to_remove)
- {
- info = to_remove->data;
-
- gtk_device_grab_remove (info->widget, info->device);
- to_remove = g_slist_delete_link (to_remove, to_remove);
- }
}
/**
@@ -289,133 +267,3 @@ _gtk_window_group_remove_grab (GtkWindowGroup *window_group,
priv = window_group->priv;
priv->grabs = g_slist_remove (priv->grabs, widget);
}
-
-void
-_gtk_window_group_add_device_grab (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device,
- gboolean block_others)
-{
- GtkWindowGroupPrivate *priv;
- GtkDeviceGrabInfo *info;
-
- priv = window_group->priv;
-
- info = g_slice_new0 (GtkDeviceGrabInfo);
- info->widget = widget;
- info->device = device;
- info->block_others = block_others;
-
- priv->device_grabs = g_slist_prepend (priv->device_grabs, info);
-
- revoke_implicit_grabs (window_group, device, widget);
-}
-
-void
-_gtk_window_group_remove_device_grab (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device)
-{
- GtkWindowGroupPrivate *priv;
- GtkDeviceGrabInfo *info;
- GSList *list, *node = NULL;
- GdkDevice *other_device;
-
- priv = window_group->priv;
- other_device = gdk_device_get_associated_device (device);
- list = priv->device_grabs;
-
- while (list)
- {
- info = list->data;
-
- if (info->widget == widget &&
- (info->device == device ||
- info->device == other_device))
- {
- node = list;
- break;
- }
-
- list = list->next;
- }
-
- if (node)
- {
- info = node->data;
-
- priv->device_grabs = g_slist_delete_link (priv->device_grabs, node);
- g_slice_free (GtkDeviceGrabInfo, info);
- }
-}
-
-/**
- * gtk_window_group_get_current_device_grab:
- * @window_group: a #GtkWindowGroup
- * @device: a #GdkDevice
- *
- * Returns the current grab widget for @device, or %NULL if none.
- *
- * Returns: (nullable) (transfer none): The grab widget, or %NULL
- */
-GtkWidget *
-gtk_window_group_get_current_device_grab (GtkWindowGroup *window_group,
- GdkDevice *device)
-{
- GtkWindowGroupPrivate *priv;
- GtkDeviceGrabInfo *info;
- GdkDevice *other_device;
- GSList *list;
-
- g_return_val_if_fail (GTK_IS_WINDOW_GROUP (window_group), NULL);
- g_return_val_if_fail (GDK_IS_DEVICE (device), NULL);
-
- priv = window_group->priv;
- list = priv->device_grabs;
- other_device = gdk_device_get_associated_device (device);
-
- while (list)
- {
- info = list->data;
- list = list->next;
-
- if (info->device == device ||
- info->device == other_device)
- return info->widget;
- }
-
- return NULL;
-}
-
-gboolean
-_gtk_window_group_widget_is_blocked_for_device (GtkWindowGroup *window_group,
- GtkWidget *widget,
- GdkDevice *device)
-{
- GtkWindowGroupPrivate *priv;
- GtkDeviceGrabInfo *info;
- GdkDevice *other_device;
- GSList *list;
-
- priv = window_group->priv;
- other_device = gdk_device_get_associated_device (device);
- list = priv->device_grabs;
-
- while (list)
- {
- info = list->data;
- list = list->next;
-
- /* Look for blocking grabs on other device pairs
- * that have the passed widget within the GTK+ grab.
- */
- if (info->block_others &&
- info->device != device &&
- info->device != other_device &&
- (info->widget == widget ||
- gtk_widget_is_ancestor (widget, info->widget)))
- return TRUE;
- }
-
- return FALSE;
-}