]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/gtk+/gtk+-2.6.4-1.osso7/gtkcellrenderertext.c.diff
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / gtk+ / gtk+-2.6.4-1.osso7 / gtkcellrenderertext.c.diff
1 --- gtk+-2.6.4/gtk/gtkcellrenderertext.c        2005-01-09 19:32:25.000000000 +0200
2 +++ gtk+-2.6.4/gtk/gtkcellrenderertext.c        2005-04-06 16:19:36.274023872 +0300
3 @@ -182,8 +182,8 @@
4  
5    GTK_CELL_RENDERER (celltext)->xalign = 0.0;
6    GTK_CELL_RENDERER (celltext)->yalign = 0.5;
7 -  GTK_CELL_RENDERER (celltext)->xpad = 2;
8 -  GTK_CELL_RENDERER (celltext)->ypad = 2;
9 +  GTK_CELL_RENDERER (celltext)->xpad = 0;
10 +  GTK_CELL_RENDERER (celltext)->ypad = 0;
11    celltext->fixed_height_rows = -1;
12    celltext->font = pango_font_description_new ();
13  
14 @@ -1429,7 +1429,7 @@
15    /* The minimum size for ellipsized labels is ~ 3 chars */
16    if (width)
17      {
18 -      if (priv->ellipsize || priv->width_chars > 0)
19 +      /*if (priv->ellipsize || priv->width_chars > 0)
20         {
21           PangoContext *context;
22           PangoFontMetrics *metrics;
23 @@ -1444,9 +1444,9 @@
24           *width += (PANGO_PIXELS (char_width) * MAX (priv->width_chars, 3));
25         }
26        else
27 -       {
28 +       {*/
29           *width = GTK_CELL_RENDERER (celltext)->xpad * 2 + rect.width;
30 -       }         
31 +       /*}       */
32      }
33  
34    if (cell_area)
35 @@ -1501,6 +1501,7 @@
36    gint x_offset;
37    gint y_offset;
38    GtkCellRendererTextPrivate *priv;
39 +  PangoRectangle logical_rect;
40  
41    priv = GTK_CELL_RENDERER_TEXT_GET_PRIVATE (cell);
42  
43 @@ -1521,7 +1522,7 @@
44    else if ((flags & GTK_CELL_RENDERER_PRELIT) == GTK_CELL_RENDERER_PRELIT &&
45            GTK_WIDGET_STATE (widget) == GTK_STATE_PRELIGHT)
46      {
47 -      state = GTK_STATE_PRELIGHT;
48 +      state = GTK_STATE_NORMAL;
49      }
50    else
51      {
52 @@ -1559,6 +1560,14 @@
53        g_object_unref (gc);
54      }
55  
56 +  /* Dirty Hildon hack to force ellipsation */
57 +  pango_layout_get_extents (layout, NULL, &logical_rect);
58 +  if (PANGO_PIXELS (logical_rect.width) > MIN (background_area->width, expose_area->width))
59 +    {
60 +      priv->ellipsize = PANGO_ELLIPSIZE_END;
61 +      priv->ellipsize_set = TRUE;
62 +    }
63 +
64    if (priv->ellipsize)
65      pango_layout_set_width (layout, 
66                             (cell_area->width - x_offset - 2 * cell->xpad) * PANGO_SCALE);