Small cleanup in label sizing code.

Move ellipsized_chars calculation in the scope where it is used.

https://bugzilla.gnome.org/show_bug.cgi?id=647284
This commit is contained in:
Paolo Borelli 2011-04-17 17:23:26 +02:00
parent af7650ce1f
commit 1ad1c33f52

View File

@ -3685,7 +3685,7 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
GtkLabelPrivate *priv = label->priv; GtkLabelPrivate *priv = label->priv;
PangoLayout *layout; PangoLayout *layout;
PangoRectangle rect; PangoRectangle rect;
gint text_width, ellipsize_chars, guess_width; gint text_width, guess_width;
/* "width-chars" Hard-coded minimum width: /* "width-chars" Hard-coded minimum width:
* - minimum size should be MAX (width-chars, strlen ("...")); * - minimum size should be MAX (width-chars, strlen ("..."));
@ -3718,12 +3718,6 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
pango_layout_get_extents (layout, NULL, &rect); pango_layout_get_extents (layout, NULL, &rect);
text_width = rect.width; text_width = rect.width;
/* enforce minimum width for ellipsized labels at ~3 chars */
if (priv->ellipsize)
ellipsize_chars = 3;
else
ellipsize_chars = 0;
/* "width-chars" Hard-coded minimum width: /* "width-chars" Hard-coded minimum width:
* - minimum size should be MAX (width-chars, strlen ("...")); * - minimum size should be MAX (width-chars, strlen ("..."));
* - natural size should be MAX (width-chars, strlen (priv->text)); * - natural size should be MAX (width-chars, strlen (priv->text));
@ -3745,10 +3739,13 @@ gtk_label_get_preferred_layout_size (GtkLabel *label,
if (priv->ellipsize || priv->wrap) if (priv->ellipsize || priv->wrap)
{ {
gint char_pixels; gint char_pixels, ellipsize_chars;
char_pixels = get_char_pixels (GTK_WIDGET (label), layout); char_pixels = get_char_pixels (GTK_WIDGET (label), layout);
/* enforce minimum width for ellipsized labels at ~3 chars */
ellipsize_chars = priv->ellipsize ? 3 : 0;
required->width = char_pixels * MAX (priv->width_chars, ellipsize_chars); required->width = char_pixels * MAX (priv->width_chars, ellipsize_chars);
/* Default to the minimum width regularly guessed by GTK+ if no minimum /* Default to the minimum width regularly guessed by GTK+ if no minimum