[gtk+/wip/matthiasc/gadget] headerbar: Fix up some oversights
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/matthiasc/gadget] headerbar: Fix up some oversights
- Date: Tue, 8 Dec 2015 15:17:34 +0000 (UTC)
commit 56d750873abc499069e5c6276bf7589e2f4c141e
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Dec 8 10:15:51 2015 -0500
headerbar: Fix up some oversights
Don't look at css borders anymore at all, and don't forget
to include the center widget in size requests.
gtk/gtkheaderbar.c | 30 +++++++++++++++++++-----------
1 files changed, 19 insertions(+), 11 deletions(-)
---
diff --git a/gtk/gtkheaderbar.c b/gtk/gtkheaderbar.c
index feb540e..eb21a2e 100644
--- a/gtk/gtkheaderbar.c
+++ b/gtk/gtkheaderbar.c
@@ -667,6 +667,17 @@ gtk_header_bar_get_size (GtkWidget *widget,
nvis_children += 1;
}
+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
+ minimum += center_min;
+ natural += center_nat;
+ }
+ else
+ {
+ minimum = MAX (minimum, center_min);
+ natural = MAX (natural, center_nat);
+ }
+
if (nvis_children > 0 && orientation == GTK_ORIENTATION_HORIZONTAL)
{
minimum += nvis_children * priv->spacing;
@@ -691,7 +702,6 @@ gtk_header_bar_compute_size_for_orientation (GtkWidget *widget,
gint child_size;
gint child_natural;
gint nvis_children;
- GtkBorder css_borders;
nvis_children = 0;
@@ -776,7 +786,6 @@ gtk_header_bar_compute_size_for_opposing_orientation (GtkWidget *widget,
gint child_size;
gint child_minimum;
gint child_natural;
- GtkBorder css_borders;
gint center_min, center_nat;
nvis_children = count_visible_children (bar);
@@ -989,7 +998,6 @@ gtk_header_bar_allocate_contents (GtkCssGadget *gadget,
gint x;
gint child_size;
GtkTextDirection direction;
- GtkBorder css_borders;
gtk_widget_set_allocation (widget, allocation);
@@ -1063,12 +1071,12 @@ gtk_header_bar_allocate_contents (GtkCssGadget *gadget,
side[0] = side[1] = 0;
for (packing = GTK_PACK_START; packing <= GTK_PACK_END; packing++)
{
- child_allocation.y = allocation->y + css_borders.top;
+ child_allocation.y = allocation->y;
child_allocation.height = height;
if (packing == GTK_PACK_START)
- x = allocation->x + css_borders.left + start_width;
+ x = allocation->x + start_width;
else
- x = allocation->x + allocation->width - end_width - css_borders.right;
+ x = allocation->x + allocation->width - end_width;
i = 0;
for (l = priv->children; l != NULL; l = l->next)
@@ -1145,16 +1153,16 @@ gtk_header_bar_allocate_contents (GtkCssGadget *gadget,
if (priv->label_box != NULL)
gtk_widget_size_allocate (priv->label_box, &child_allocation);
- child_allocation.y = allocation->y + css_borders.top;
+ child_allocation.y = allocation->y;
child_allocation.height = height;
if (priv->titlebar_start_box)
{
gboolean left = (direction == GTK_TEXT_DIR_LTR);
if (left)
- child_allocation.x = allocation->x + css_borders.left;
+ child_allocation.x = allocation->x;
else
- child_allocation.x = allocation->x + allocation->width - css_borders.right - start_width +
priv->spacing;
+ child_allocation.x = allocation->x + allocation->width - start_width + priv->spacing;
child_allocation.width = start_width - priv->spacing;
gtk_widget_size_allocate (priv->titlebar_start_box, &child_allocation);
}
@@ -1163,9 +1171,9 @@ gtk_header_bar_allocate_contents (GtkCssGadget *gadget,
{
gboolean left = (direction != GTK_TEXT_DIR_LTR);
if (left)
- child_allocation.x = allocation->x + css_borders.left;
+ child_allocation.x = allocation->x;
else
- child_allocation.x = allocation->x + allocation->width - css_borders.right - end_width +
priv->spacing;
+ child_allocation.x = allocation->x + allocation->width - end_width + priv->spacing;
child_allocation.width = end_width - priv->spacing;
gtk_widget_size_allocate (priv->titlebar_end_box, &child_allocation);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]