From 8062e471d1ee07673a41d226976cd33c1f4d7051 Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Tue, 7 Aug 2012 13:09:42 +0200 Subject: [PATCH] toolbar: deprecate shadow-type style property While shadow-type *properties* can make sense, to opt-out of the padding/border machinery programmatically, having it as a style property doesn't make any sense, since we have a better way to change the bevel style from the theme already. This commit deprecates the shadow-type style property in GtkToolbar. --- gtk/gtktoolbar.c | 88 ++++++++++++------------------------------------ 1 file changed, 22 insertions(+), 66 deletions(-) diff --git a/gtk/gtktoolbar.c b/gtk/gtktoolbar.c index b677f2d2a..69fd2b3e5 100644 --- a/gtk/gtktoolbar.c +++ b/gtk/gtktoolbar.c @@ -251,7 +251,6 @@ static void gtk_toolbar_reconfigured (GtkToolbar *toolbar static GtkReliefStyle get_button_relief (GtkToolbar *toolbar); static gint get_max_child_expand (GtkToolbar *toolbar); -static GtkShadowType get_shadow_type (GtkToolbar *toolbar); /* methods on ToolbarContent 'class' */ static ToolbarContent *toolbar_content_new_tool_item (GtkToolbar *toolbar, @@ -617,6 +616,15 @@ gtk_toolbar_class_init (GtkToolbarClass *klass) GTK_TYPE_RELIEF_STYLE, GTK_RELIEF_NONE, GTK_PARAM_READABLE)); + /** + * GtkToolbar:shadow-type: + * + * Style of bevel around the toolbar. + * + * Deprecated: 3.6: Use the standard border CSS property + * (through objects like #GtkStyleContext and #GtkCssProvider); the value + * of this style property is ignored. + */ gtk_widget_class_install_style_property (widget_class, g_param_spec_enum ("shadow-type", P_("Shadow type"), @@ -1022,17 +1030,10 @@ gtk_toolbar_size_request (GtkWidget *widget, /* Extra spacing */ border_width = gtk_container_get_border_width (GTK_CONTAINER (toolbar)); + get_widget_padding_and_border (widget, &padding); - requisition->width += 2 * border_width; - requisition->height += 2 * border_width; - - if (get_shadow_type (toolbar) != GTK_SHADOW_NONE) - { - get_widget_padding_and_border (widget, &padding); - - requisition->width += padding.left + padding.right; - requisition->height += padding.top + padding.bottom; - } + requisition->width += 2 * border_width + padding.left + padding.right; + requisition->height += 2 * border_width + padding.top + padding.bottom; priv->button_maxw = max_homogeneous_child_width; priv->button_maxh = max_homogeneous_child_height; @@ -1510,7 +1511,6 @@ gtk_toolbar_size_allocate (GtkWidget *widget, gboolean overflowing; gboolean size_changed; GtkAllocation item_area; - GtkShadowType shadow_type; gtk_widget_get_allocation (widget, &widget_allocation); size_changed = FALSE; @@ -1539,34 +1539,19 @@ gtk_toolbar_size_allocate (GtkWidget *widget, gtk_widget_get_preferred_size (priv->arrow_button, &arrow_requisition, NULL); - - shadow_type = get_shadow_type (toolbar); - get_widget_padding_and_border (widget, &padding); if (priv->orientation == GTK_ORIENTATION_HORIZONTAL) { - available_size = size = allocation->width - 2 * border_width; - short_size = allocation->height - 2 * border_width; + available_size = size = allocation->width - 2 * border_width - padding.left - padding.right; + short_size = allocation->height - 2 * border_width - padding.top - padding.bottom; arrow_size = arrow_requisition.width; - - if (shadow_type != GTK_SHADOW_NONE) - { - available_size -= padding.left + padding.right; - short_size -= padding.top + padding.bottom; - } } else { - available_size = size = allocation->height - 2 * border_width; - short_size = allocation->width - 2 * border_width; + available_size = size = allocation->height - 2 * border_width - padding.top - padding.bottom; + short_size = allocation->width - 2 * border_width - padding.left - padding.right; arrow_size = arrow_requisition.height; - - if (shadow_type != GTK_SHADOW_NONE) - { - available_size -= padding.top + padding.bottom; - short_size -= padding.left + padding.right; - } } n_items = g_list_length (priv->content); @@ -1736,35 +1721,18 @@ gtk_toolbar_size_allocate (GtkWidget *widget, /* translate the items by allocation->(x,y) */ for (i = 0; i < n_items; ++i) { - allocations[i].x += allocation->x; - allocations[i].y += allocation->y; - - if (shadow_type != GTK_SHADOW_NONE) - { - allocations[i].x += padding.left; - allocations[i].y += padding.top; - } + allocations[i].x += allocation->x + padding.left; + allocations[i].y += allocation->y + padding.top; } if (need_arrow) { - arrow_allocation.x += allocation->x; - arrow_allocation.y += allocation->y; - - if (shadow_type != GTK_SHADOW_NONE) - { - arrow_allocation.x += padding.left; - arrow_allocation.y += padding.top; - } + arrow_allocation.x += allocation->x + padding.left; + arrow_allocation.y += allocation->y + padding.top; } - item_area.x += allocation->x; - item_area.y += allocation->y; - if (shadow_type != GTK_SHADOW_NONE) - { - item_area.x += padding.left; - item_area.y += padding.top; - } + item_area.x += allocation->x + padding.left; + item_area.y += allocation->y + padding.top; /* did anything change? */ for (list = priv->content, i = 0; list != NULL; list = list->next, i++) @@ -3671,18 +3639,6 @@ get_max_child_expand (GtkToolbar *toolbar) return mexpand; } -static GtkShadowType -get_shadow_type (GtkToolbar *toolbar) -{ - GtkShadowType shadow_type; - - gtk_widget_style_get (GTK_WIDGET (toolbar), - "shadow-type", &shadow_type, - NULL); - - return shadow_type; -} - /* GTK+ internal methods */ gint -- 2.43.2