X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkassistant.c;h=97caaa0ad715ba8f8b0fea915b3ad5d094bfe328;hb=db76c77b819b1b31e19609bb1b30c85f22b5b482;hp=41ecd1311babec2f8cb310bd8bc420c43751c54c;hpb=6ea712fe0968e770f23d865f9bab10266efc06fc;p=~andy%2Fgtk diff --git a/gtk/gtkassistant.c b/gtk/gtkassistant.c index 41ecd1311..97caaa0ad 100644 --- a/gtk/gtkassistant.c +++ b/gtk/gtkassistant.c @@ -1167,13 +1167,14 @@ gtk_assistant_size_request (GtkWidget *widget, requisition->height = height; } + static void gtk_assistant_size_allocate (GtkWidget *widget, GtkAllocation *allocation) { GtkAssistant *assistant = GTK_ASSISTANT (widget); GtkAssistantPrivate *priv = assistant->priv; - GtkRequisition header_requisition; + GtkRequisition header_requisition, action_requisition, sidebar_requisition; GtkAllocation child_allocation, header_allocation; gint header_padding, content_padding; gboolean rtl; @@ -1200,24 +1201,28 @@ gtk_assistant_size_allocate (GtkWidget *widget, gtk_widget_size_allocate (priv->header_image, &header_allocation); /* Action area */ + gtk_widget_get_child_requisition (priv->action_area, &action_requisition); + child_allocation.x = GTK_CONTAINER (widget)->border_width; child_allocation.y = allocation->height - - GTK_CONTAINER (widget)->border_width - priv->action_area->requisition.height; + GTK_CONTAINER (widget)->border_width - action_requisition.height; child_allocation.width = allocation->width - 2 * GTK_CONTAINER (widget)->border_width; - child_allocation.height = priv->action_area->requisition.height; + child_allocation.height = action_requisition.height; gtk_widget_size_allocate (priv->action_area, &child_allocation); /* Sidebar */ + gtk_widget_get_child_requisition (priv->sidebar_image, &sidebar_requisition); + if (rtl) child_allocation.x = allocation->width - - GTK_CONTAINER (widget)->border_width - priv->sidebar_image->requisition.width; + GTK_CONTAINER (widget)->border_width - sidebar_requisition.width; else child_allocation.x = GTK_CONTAINER (widget)->border_width; child_allocation.y = GTK_CONTAINER (widget)->border_width + priv->header_image->allocation.height + 2 * header_padding; - child_allocation.width = priv->sidebar_image->requisition.width; + child_allocation.width = sidebar_requisition.width; child_allocation.height = allocation->height - 2 * GTK_CONTAINER (widget)->border_width - priv->header_image->allocation.height - 2 * header_padding - priv->action_area->allocation.height;