paned: Use content allocation instead of widget allocation

We don't want to include padding and borders in our calculations
involving the handle.
This commit is contained in:
Benjamin Otte 2016-02-14 16:07:06 +01:00
parent 7e47418d0c
commit 88f0885638

View File

@ -718,7 +718,7 @@ initiates_touch_drag (GtkPaned *paned,
GtkAllocation allocation; GtkAllocation allocation;
#define TOUCH_EXTRA_AREA_WIDTH 50 #define TOUCH_EXTRA_AREA_WIDTH 50
gtk_widget_get_allocation (GTK_WIDGET (paned), &allocation); gtk_css_gadget_get_content_allocation (priv->gadget, &allocation, NULL);
gtk_css_gadget_get_preferred_size (priv->handle_gadget, gtk_css_gadget_get_preferred_size (priv->handle_gadget,
priv->orientation, priv->orientation,
-1, -1,
@ -761,7 +761,7 @@ gesture_drag_begin_cb (GtkGestureDrag *gesture,
sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture)); sequence = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence); event = gtk_gesture_get_last_event (GTK_GESTURE (gesture), sequence);
device = gdk_event_get_source_device (event); device = gdk_event_get_source_device (event);
gtk_widget_get_allocation (GTK_WIDGET (paned), &allocation); gtk_css_gadget_get_content_allocation (priv->gadget, &allocation, NULL);
paned->priv->panning = FALSE; paned->priv->panning = FALSE;
is_touch = (event->type == GDK_TOUCH_BEGIN || is_touch = (event->type == GDK_TOUCH_BEGIN ||
@ -1626,7 +1626,7 @@ gtk_paned_create_child_window (GtkPaned *paned,
NULL, &handle_size, NULL, &handle_size,
NULL, NULL); NULL, NULL);
gtk_widget_get_allocation (widget, &allocation); gtk_css_gadget_get_content_allocation (priv->gadget, &allocation, NULL);
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL && if (priv->orientation == GTK_ORIENTATION_HORIZONTAL &&
child == priv->child2 && priv->child1 && child == priv->child2 && priv->child1 &&
gtk_widget_get_visible (priv->child1)) gtk_widget_get_visible (priv->child1))
@ -1963,14 +1963,13 @@ update_drag (GtkPaned *paned,
{ {
GtkPanedPrivate *priv = paned->priv; GtkPanedPrivate *priv = paned->priv;
GtkAllocation allocation; GtkAllocation allocation;
GtkWidget *widget = GTK_WIDGET (paned);
gint pos; gint pos;
gint handle_size; gint handle_size;
gint size; gint size;
gint x, y; gint x, y;
gdk_window_get_position (priv->handle, &x, &y); gdk_window_get_position (priv->handle, &x, &y);
gtk_widget_get_allocation (widget, &allocation); gtk_css_gadget_get_content_allocation (priv->gadget, &allocation, NULL);
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
pos = xpos; pos = xpos;
else else