aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@gnome-db.org>2011-10-05 19:57:30 +0800
committerRodrigo Moya <rodrigo@gnome-db.org>2011-10-05 19:57:30 +0800
commit4ec46cc05fcb94d181fb9c2412984a1446647c85 (patch)
treed16ce30e77dd539c03509237dd4c723d46aea97a /widgets/table
parent5ea7e23aef0c239af2600c95419ba0bda0f08b3c (diff)
parent19163c2b71e6128fc9b32287b99b1f4422324c2d (diff)
downloadgsoc2013-evolution-4ec46cc05fcb94d181fb9c2412984a1446647c85.tar.gz
gsoc2013-evolution-4ec46cc05fcb94d181fb9c2412984a1446647c85.tar.zst
gsoc2013-evolution-4ec46cc05fcb94d181fb9c2412984a1446647c85.zip
Merge from master
Diffstat (limited to 'widgets/table')
-rw-r--r--widgets/table/Makefile.am14
-rw-r--r--widgets/table/e-table-field-chooser-item.c32
-rw-r--r--widgets/table/e-table-group-container.c5
-rw-r--r--widgets/table/e-table-header-item.c49
-rw-r--r--widgets/table/e-table-header-utils.c254
-rw-r--r--widgets/table/e-table-header-utils.h4
-rw-r--r--widgets/table/e-table-memory.c2
-rw-r--r--widgets/table/e-table-utils.c5
-rw-r--r--widgets/table/e-tree-memory.c5
-rw-r--r--widgets/table/e-tree-model.c3
-rw-r--r--widgets/table/e-tree-sorted.c8
-rw-r--r--widgets/table/e-tree.c5
12 files changed, 102 insertions, 284 deletions
diff --git a/widgets/table/Makefile.am b/widgets/table/Makefile.am
index 0ae1e2b7e9..36af5ec2bf 100644
--- a/widgets/table/Makefile.am
+++ b/widgets/table/Makefile.am
@@ -7,11 +7,10 @@ libetable_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
-I$(top_srcdir) \
-I$(top_srcdir)/widgets \
- $(E_UTIL_CFLAGS) \
- $(E_WIDGETS_CFLAGS) \
+ $(EVOLUTION_DATA_SERVER_CFLAGS) \
$(GNOME_PLATFORM_CFLAGS) \
- -DEVOLUTION_UIDIR=\"$(uidir)\" \
- -DG_LOG_DOMAIN=\"e-table\"
+ -DEVOLUTION_UIDIR=\"$(uidir)\" \
+ -DG_LOG_DOMAIN=\"e-table\"
libetable_la_SOURCES = \
e-cell.c \
@@ -173,10 +172,9 @@ libetable_la_LIBADD = \
$(top_builddir)/widgets/misc/libemiscwidgets.la \
$(top_builddir)/widgets/text/libetext.la \
$(top_builddir)/libgnomecanvas/libgnomecanvas.la \
- $(E_UTIL_LIBS) \
- $(E_WIDGETS_LIBS) \
- $(MATH_LIB) \
- $(GNOME_PLATFORM_LIBS)
+ $(EVOLUTION_DATA_SERVER_LIBS) \
+ $(GNOME_PLATFORM_LIBS) \
+ $(MATH_LIB)
icons = \
arrow-down.xpm \
diff --git a/widgets/table/e-table-field-chooser-item.c b/widgets/table/e-table-field-chooser-item.c
index ecc414853c..78d8461b5f 100644
--- a/widgets/table/e-table-field-chooser-item.c
+++ b/widgets/table/e-table-field-chooser-item.c
@@ -491,17 +491,12 @@ etfci_draw (GnomeCanvasItem *item,
gint rows;
gint y1, y2;
gint row;
- GtkStyle *style;
- GtkStateType state;
if (etfci->combined_header == NULL)
return;
rows = e_table_header_count (etfci->combined_header);
- style = gtk_widget_get_style (GTK_WIDGET (canvas));
- state = gtk_widget_get_state (GTK_WIDGET (canvas));
-
y1 = y2 = 0;
for (row = 0; row < rows; row++, y1 = y2) {
ETableCol *ecol;
@@ -519,10 +514,7 @@ etfci_draw (GnomeCanvasItem *item,
if (y2 < y)
continue;
- cairo_save (cr);
-
e_table_header_draw_button (cr, ecol,
- style, state,
GTK_WIDGET (canvas),
-x, y1 - y,
width, height,
@@ -567,9 +559,6 @@ etfci_start_drag (ETableFieldChooserItem *etfci,
GtkWidget *widget = GTK_WIDGET (GNOME_CANVAS_ITEM (etfci)->canvas);
GtkTargetList *list;
GdkDragContext *context;
- GdkWindow *window;
- GtkStyle *style;
- GtkStateType state;
ETableCol *ecol;
cairo_surface_t *cs;
cairo_t *cr;
@@ -604,28 +593,19 @@ etfci_start_drag (ETableFieldChooserItem *etfci,
g_free ((gpointer) etfci_drag_types[0].target);
button_height = e_table_header_compute_height (ecol, widget);
- window = gtk_widget_get_window (widget);
- cs = gdk_window_create_similar_surface (
- window, CAIRO_CONTENT_COLOR, etfci->width, button_height);
-
- style = gtk_widget_get_style (widget);
- state = gtk_widget_get_state (widget);
+ cs = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
+ etfci->width, button_height);
+ cr = cairo_create (cs);
cr = cairo_create (cs);
e_table_header_draw_button (
- cr, ecol, style,
- state, widget, 0, 0,
+ cr, ecol,
+ widget, 0, 0,
etfci->width, button_height,
etfci->width, button_height,
E_TABLE_COL_ARROW_NONE);
- pixbuf = gdk_pixbuf_get_from_window (window, 0, 0, etfci->width, button_height);
- gtk_drag_set_icon_pixbuf (
- context,
- pixbuf,
- etfci->width / 2,
- button_height / 2);
- g_object_unref (pixbuf);
+ gtk_drag_set_icon_surface (context, cs);
cairo_surface_destroy (cs);
cairo_destroy (cr);
diff --git a/widgets/table/e-table-group-container.c b/widgets/table/e-table-group-container.c
index d874834db1..7d04eda9d9 100644
--- a/widgets/table/e-table-group-container.c
+++ b/widgets/table/e-table-group-container.c
@@ -1252,7 +1252,7 @@ e_table_group_container_print_page (EPrintable *ep,
gboolean quantize,
ETGCPrintContext *groupcontext)
{
- cairo_t *cr;
+ cairo_t *cr = NULL;
GtkPageSetup *setup;
gdouble yd;
gdouble page_height, page_margin;
@@ -1301,8 +1301,7 @@ e_table_group_container_print_page (EPrintable *ep,
child_height = e_printable_height (child_printable, context, width,yd, quantize);
if (child_height < 0)
child_height = -child_height;
- if (yd < 2 * TEXT_AREA_HEIGHT + 20 + child_height )
- {
+ if (cr && yd < 2 * TEXT_AREA_HEIGHT + 20 + child_height) {
cairo_show_page (cr);
cairo_translate (cr, -2 * TEXT_AREA_HEIGHT, -TEXT_AREA_HEIGHT);
break;
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index 11d8f31f81..b8aa55f369 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -996,9 +996,7 @@ ethi_draw (GnomeCanvasItem *item,
gint x1, x2;
gint col;
GHashTable *arrows = g_hash_table_new (NULL, NULL);
- GtkStyle *style;
-
- style = gtk_widget_get_style (GTK_WIDGET (canvas));
+ GtkStyleContext *context;
if (ethi->sort_info) {
gint length;
@@ -1040,10 +1038,13 @@ ethi_draw (GnomeCanvasItem *item,
ethi->width = e_table_header_total_width (ethi->eth) + ethi->group_indent_width;
x1 = x2 = 0;
x2 += ethi->group_indent_width;
+
+ context = gtk_widget_get_style_context (GTK_WIDGET (canvas));
+
for (col = 0; col < cols; col++, x1 = x2) {
ETableCol *ecol = e_table_header_get_column (ethi->eth, col);
- GtkStateType state;
gint col_width;
+ GtkRegionFlags flags = 0;
col_width = ecol->width;
@@ -1058,15 +1059,29 @@ ethi_draw (GnomeCanvasItem *item,
if (x2 <= x1)
continue;
- state = gtk_widget_get_state (GTK_WIDGET (canvas));
+ if (((col + 1) % 2) == 0)
+ flags |= GTK_REGION_EVEN;
+ else
+ flags |= GTK_REGION_ODD;
+
+ if (col == 0)
+ flags |= GTK_REGION_FIRST;
+
+ if (col + 1 == cols)
+ flags |= GTK_REGION_LAST;
+
+ gtk_style_context_save (context);
+ gtk_style_context_add_region (
+ context, GTK_STYLE_REGION_COLUMN_HEADER, flags);
e_table_header_draw_button (
- cr, ecol,
- style, state, GTK_WIDGET (canvas),
+ cr, ecol, GTK_WIDGET (canvas),
x1 - x, -y, width, height,
x2 - x1, ethi->height,
(ETableColArrow) g_hash_table_lookup (
arrows, GINT_TO_POINTER (ecol->col_idx)));
+
+ gtk_style_context_restore (context);
}
g_hash_table_destroy (arrows);
@@ -1209,22 +1224,16 @@ ethi_start_drag (ETableHeaderItem *ethi,
ETableCol *ecol;
gint col_width;
cairo_surface_t *s;
- GdkPixbuf *pixbuf;
cairo_t *cr;
gint group_indent = 0;
GHashTable *arrows = g_hash_table_new (NULL, NULL);
- GtkStateType state;
- GtkStyle *style;
GtkTargetEntry ethi_drag_types[] = {
{ (gchar *) TARGET_ETABLE_COL_TYPE, 0, TARGET_ETABLE_COL_HEADER },
};
widget = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas);
- state = gtk_widget_get_state (widget);
- style = gtk_widget_get_style (widget);
-
ethi->drag_col = ethi_find_col_by_x (ethi, event->motion.x);
if (ethi->drag_col == -1)
@@ -1269,27 +1278,17 @@ ethi_start_drag (ETableHeaderItem *ethi,
ecol = e_table_header_get_column (ethi->eth, ethi->drag_col);
col_width = ecol->width;
- s = cairo_image_surface_create (CAIRO_FORMAT_A1, col_width, ethi->height);
+ s = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, col_width, ethi->height);
cr = cairo_create (s);
- pixbuf = gdk_pixbuf_get_from_surface (
- s, 0, 0, col_width, ethi->height);
-
- state = gtk_widget_get_state (widget);
e_table_header_draw_button (
cr, ecol,
- style, state,
widget, 0, 0,
col_width, ethi->height,
col_width, ethi->height,
(ETableColArrow) g_hash_table_lookup (
arrows, GINT_TO_POINTER (ecol->col_idx)));
- gtk_drag_set_icon_pixbuf (
- context,
- pixbuf,
- col_width / 2,
- ethi->height / 2);
- g_object_unref (pixbuf);
+ gtk_drag_set_icon_surface (context, s);
cairo_surface_destroy (s);
ethi->maybe_drag = FALSE;
diff --git a/widgets/table/e-table-header-utils.c b/widgets/table/e-table-header-utils.c
index 34f93a701b..df5ee66b56 100644
--- a/widgets/table/e-table-header-utils.c
+++ b/widgets/table/e-table-header-utils.c
@@ -35,29 +35,21 @@
#include "e-table-defines.h"
#include "e-table-header-utils.h"
-static PangoLayout *
-build_header_layout (GtkWidget *widget,
- const gchar *str)
+static void
+get_button_padding (GtkWidget *widget,
+ GtkBorder *padding)
{
- PangoLayout *layout;
-
- layout = gtk_widget_create_pango_layout (widget, str);
-
-#ifdef FROB_FONT_DESC
- {
- PangoFontDescription *desc;
- desc = pango_font_description_copy (gtk_widget_get_style (widget)->font_desc);
- pango_font_description_set_size (desc,
- pango_font_description_get_size (desc) * 1.2);
+ GtkStyleContext *context;
+ GtkStateFlags state_flags;
- pango_font_description_set_weight (desc, PANGO_WEIGHT_BOLD);
- pango_layout_set_font_description (layout, desc);
+ context = gtk_widget_get_style_context (widget);
+ state_flags = gtk_widget_get_state_flags (widget);
- pango_font_description_free (desc);
- }
-#endif
+ gtk_style_context_save (context);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON);
+ gtk_style_context_get_padding (context, state_flags, padding);
- return layout;
+ gtk_style_context_restore (context);
}
/**
@@ -73,17 +65,17 @@ gdouble
e_table_header_compute_height (ETableCol *ecol,
GtkWidget *widget)
{
- gint ythick;
gint height;
PangoLayout *layout;
+ GtkBorder padding;
g_return_val_if_fail (ecol != NULL, -1);
g_return_val_if_fail (E_IS_TABLE_COL (ecol), -1);
g_return_val_if_fail (GTK_IS_WIDGET (widget), -1);
- ythick = gtk_widget_get_style (widget)->ythickness;
+ get_button_padding (widget, &padding);
- layout = build_header_layout (widget, ecol->text);
+ layout = gtk_widget_create_pango_layout (widget, ecol->text);
pango_layout_get_pixel_size (layout, NULL, &height);
@@ -93,8 +85,7 @@ e_table_header_compute_height (ETableCol *ecol,
}
height = MAX (height, MIN_ARROW_SIZE);
-
- height += 2 * (ythick + HEADER_PADDING);
+ height += padding.top + padding.bottom + 2 * HEADER_PADDING;
g_object_unref (layout);
@@ -102,139 +93,18 @@ e_table_header_compute_height (ETableCol *ecol,
}
gdouble
-e_table_header_width_extras (GtkStyle *style)
+e_table_header_width_extras (GtkWidget *widget)
{
- g_return_val_if_fail (style != NULL, -1);
+ GtkBorder padding;
- return 2 * (style->xthickness + HEADER_PADDING);
+ get_button_padding (widget, &padding);
+ return padding.left + padding.right + 2 * HEADER_PADDING;
}
-/* Creates a pixmap that is a composite of a background color and the upper-left
- * corner rectangle of a pixbuf.
- */
-#if 0
-static GdkPixmap *
-make_composite_pixmap (GdkDrawable *drawable,
- GdkGC *gc,
- GdkPixbuf *pixbuf,
- GdkColor *bg,
- gint width,
- gint height,
- gint dither_xofs,
- gint dither_yofs)
-{
- gint pwidth, pheight;
- GdkPixmap *pixmap;
- GdkPixbuf *tmp;
- gint color;
-
- pwidth = gdk_pixbuf_get_width (pixbuf);
- pheight = gdk_pixbuf_get_height (pixbuf);
- g_return_val_if_fail (width <= pwidth && height <= pheight, NULL);
-
- color = ((bg->red & 0xff00) << 8) |
- (bg->green & 0xff00) |
- ((bg->blue & 0xff00) >> 8);
-
- if (width >= pwidth && height >= pheight) {
- tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
- if (!tmp)
- return NULL;
-
- gdk_pixbuf_composite_color (pixbuf, tmp,
- 0, 0,
- width, height,
- 0, 0,
- 1.0, 1.0,
- GDK_INTERP_NEAREST,
- 255,
- 0, 0,
- 16,
- color, color);
- } else {
- gint x, y, rowstride;
- GdkPixbuf *fade;
- guchar *pixels;
-
- /* Do a nice fade of the pixbuf down and to the right */
-
- fade = gdk_pixbuf_new (GDK_COLORSPACE_RGB, TRUE, 8, width, height);
- if (!fade)
- return NULL;
-
- gdk_pixbuf_copy_area (pixbuf,
- 0, 0,
- width, height,
- fade,
- 0, 0);
-
- rowstride = gdk_pixbuf_get_rowstride (fade);
- pixels = gdk_pixbuf_get_pixels (fade);
-
- for (y = 0; y < height; y++) {
- guchar *p;
- gint yfactor;
-
- p = pixels + y * rowstride;
-
- if (height < pheight)
- yfactor = height - y;
- else
- yfactor = height;
-
- for (x = 0; x < width; x++) {
- gint xfactor;
-
- if (width < pwidth)
- xfactor = width - x;
- else
- xfactor = width;
-
- p[3] = ((gint) p[3] * xfactor * yfactor / (width * height));
- p += 4;
- }
- }
-
- tmp = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
- if (!tmp) {
- g_object_unref (fade);
- return NULL;
- }
-
- gdk_pixbuf_composite_color (fade, tmp,
- 0, 0,
- width, height,
- 0, 0,
- 1.0, 1.0,
- GDK_INTERP_NEAREST,
- 255,
- 0, 0,
- 16,
- color, color);
-
- g_object_unref (fade);
- }
-
- pixmap = gdk_pixmap_new (drawable, width, height, -1);
- gdk_draw_rgb_image_dithalign (pixmap, gc,
- 0, 0,
- width, height,
- GDK_RGB_DITHER_NORMAL,
- gdk_pixbuf_get_pixels (tmp),
- gdk_pixbuf_get_rowstride (tmp),
- dither_xofs, dither_yofs);
- g_object_unref (tmp);
-
- return pixmap;
-}
-#endif
-
/**
* e_table_header_draw_button:
* @drawable: Destination drawable.
* @ecol: Table column for the header information.
- * @style: Style to use for drawing the button.
- * @state: State of the table widget.
* @widget: The table widget.
* @x: Leftmost coordinate of the button.
* @y: Topmost coordinate of the button.
@@ -249,8 +119,6 @@ make_composite_pixmap (GdkDrawable *drawable,
void
e_table_header_draw_button (cairo_t *cr,
ETableCol *ecol,
- GtkStyle *style,
- GtkStateType state,
GtkWidget *widget,
gint x,
gint y,
@@ -260,58 +128,49 @@ e_table_header_draw_button (cairo_t *cr,
gint button_height,
ETableColArrow arrow)
{
- gint xthick, ythick;
gint inner_x, inner_y;
gint inner_width, inner_height;
gint arrow_width = 0, arrow_height = 0;
PangoLayout *layout;
- static gpointer g_label = NULL;
+ GtkStyleContext *context;
+ GtkBorder padding;
+ GtkStateFlags state_flags;
g_return_if_fail (cr != NULL);
g_return_if_fail (ecol != NULL);
g_return_if_fail (E_IS_TABLE_COL (ecol));
- g_return_if_fail (style != NULL);
g_return_if_fail (widget != NULL);
g_return_if_fail (GTK_IS_WIDGET (widget));
g_return_if_fail (button_width > 0 && button_height > 0);
- if (g_label == NULL) {
- GtkWidget *button = gtk_button_new_with_label("Hi");
- GtkWidget *window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_container_add (GTK_CONTAINER (window), button);
- gtk_widget_ensure_style (window);
- gtk_widget_ensure_style (button);
- g_label = gtk_bin_get_child (GTK_BIN (button));
- g_object_add_weak_pointer (G_OBJECT (g_label), &g_label);
- gtk_widget_ensure_style (g_label);
- gtk_widget_realize (g_label);
- }
-
- cairo_save (cr);
- gdk_cairo_set_source_color (
- cr, &gtk_widget_get_style (GTK_WIDGET (g_label))->fg[state]);
+ /* Button bevel */
+ context = gtk_widget_get_style_context (widget);
+ state_flags = gtk_widget_get_state_flags (widget);
- xthick = style->xthickness;
- ythick = style->ythickness;
+ gtk_style_context_save (context);
+ gtk_style_context_set_state (context, state_flags);
+ gtk_style_context_add_class (context, GTK_STYLE_CLASS_BUTTON);
- /* Button bevel */
+ gtk_style_context_get_padding (context, state_flags, &padding);
- gtk_paint_box (style, cr, state, GTK_SHADOW_OUT,
- widget, "button",
- x, y, button_width, button_height);
+ gtk_render_background (
+ context, cr, x, y,
+ button_width, button_height);
+ gtk_render_frame (
+ context, cr, x, y,
+ button_width, button_height);
/* Inside area */
- inner_width = button_width - 2 * (xthick + HEADER_PADDING);
- inner_height = button_height - 2 * (ythick + HEADER_PADDING);
+ inner_width = button_width - (padding.left + padding.right + 2 * HEADER_PADDING);
+ inner_height = button_height - (padding.top + padding.bottom + 2 * HEADER_PADDING);
if (inner_width < 1 || inner_height < 1) {
- cairo_restore (cr);
return; /* nothing fits */
}
- inner_x = x + xthick + HEADER_PADDING;
- inner_y = y + ythick + HEADER_PADDING;
+ inner_x = x + padding.left + HEADER_PADDING;
+ inner_y = y + padding.top + HEADER_PADDING;
/* Arrow space */
@@ -333,11 +192,11 @@ e_table_header_draw_button (cairo_t *cr,
}
if (inner_width < 1) {
- cairo_restore (cr);
+ gtk_style_context_restore (context);
return; /* nothing else fits */
}
- layout = build_header_layout (widget, ecol->text);
+ layout = gtk_widget_create_pango_layout (widget, ecol->text);
pango_layout_set_ellipsize (layout, PANGO_ELLIPSIZE_END);
/* Pixbuf or label */
@@ -370,18 +229,19 @@ e_table_header_draw_button (cairo_t *cr,
layout, (inner_width - (xpos - inner_x)) *
PANGO_SCALE);
- cairo_move_to (cr, xpos + pwidth + 1, ypos);
- pango_cairo_show_layout (cr, layout);
+ gtk_render_layout (
+ context, cr, xpos + pwidth + 1,
+ ypos, layout);
}
- gdk_cairo_set_source_pixbuf (cr, ecol->pixbuf,
- xpos, inner_y + (inner_height - clip_height) / 2);
- cairo_paint (cr);
+ gtk_render_icon (
+ context, cr, ecol->pixbuf, xpos,
+ inner_y + (inner_height - clip_height) / 2);
+
} else {
pango_layout_set_width (layout, inner_width * PANGO_SCALE);
- cairo_move_to (cr, inner_x, inner_y);
- pango_cairo_show_layout (cr, layout);
+ gtk_render_layout (context, cr, inner_x, inner_y, layout);
}
switch (arrow) {
@@ -393,13 +253,13 @@ e_table_header_draw_button (cairo_t *cr,
if (ecol->icon_name == NULL)
inner_width += arrow_width + HEADER_PADDING;
- gtk_paint_arrow (style, cr, state,
- GTK_SHADOW_NONE, widget, "header",
- (arrow == E_TABLE_COL_ARROW_UP) ? GTK_ARROW_UP : GTK_ARROW_DOWN,
- (ecol->icon_name == NULL),
- inner_x + inner_width - arrow_width,
- inner_y + (inner_height - arrow_height) / 2,
- arrow_width, arrow_height);
+ gtk_render_arrow (
+ context, cr,
+ (arrow == E_TABLE_COL_ARROW_UP) ? 0 : G_PI,
+ inner_x + inner_width - arrow_width,
+ inner_y + (inner_height - arrow_height) / 2,
+ MAX (arrow_width, arrow_height));
+
break;
}
@@ -409,5 +269,5 @@ e_table_header_draw_button (cairo_t *cr,
}
g_object_unref (layout);
- cairo_restore (cr);
+ gtk_style_context_restore (context);
}
diff --git a/widgets/table/e-table-header-utils.h b/widgets/table/e-table-header-utils.h
index c3b2de89c7..e6d2aaba1d 100644
--- a/widgets/table/e-table-header-utils.h
+++ b/widgets/table/e-table-header-utils.h
@@ -32,11 +32,9 @@ G_BEGIN_DECLS
gdouble e_table_header_compute_height (ETableCol *ecol,
GtkWidget *widget);
-gdouble e_table_header_width_extras (GtkStyle *style);
+gdouble e_table_header_width_extras (GtkWidget *widget);
void e_table_header_draw_button (cairo_t *cr,
ETableCol *ecol,
- GtkStyle *style,
- GtkStateType state,
GtkWidget *widget,
gint x,
gint y,
diff --git a/widgets/table/e-table-memory.c b/widgets/table/e-table-memory.c
index 28f10264f8..6fe853e6bb 100644
--- a/widgets/table/e-table-memory.c
+++ b/widgets/table/e-table-memory.c
@@ -176,8 +176,6 @@ e_table_memory_insert (ETableMemory *etmm,
e_table_model_row_inserted (E_TABLE_MODEL (etmm), row);
}
-
-
/**
* e_table_memory_remove:
* @etable:
diff --git a/widgets/table/e-table-utils.c b/widgets/table/e-table-utils.c
index 007803585e..a534f22f07 100644
--- a/widgets/table/e-table-utils.c
+++ b/widgets/table/e-table-utils.c
@@ -40,7 +40,6 @@ e_table_state_to_header (GtkWidget *widget,
ETableState *state)
{
ETableHeader *nh;
- GtkStyle *style;
const gint max_cols = e_table_header_count (full_header);
gint column;
GValue *val = g_new0 (GValue, 1);
@@ -49,11 +48,9 @@ e_table_state_to_header (GtkWidget *widget,
g_return_val_if_fail (full_header, NULL);
g_return_val_if_fail (state, NULL);
- style = gtk_widget_get_style (widget);
-
nh = e_table_header_new ();
g_value_init (val, G_TYPE_DOUBLE);
- g_value_set_double (val, e_table_header_width_extras (style));
+ g_value_set_double (val, e_table_header_width_extras (widget));
g_object_set_property (G_OBJECT(nh), "width_extras", val);
g_free (val);
diff --git a/widgets/table/e-tree-memory.c b/widgets/table/e-tree-memory.c
index 43fb41b29c..4f279aabb9 100644
--- a/widgets/table/e-tree-memory.c
+++ b/widgets/table/e-tree-memory.c
@@ -77,7 +77,6 @@ struct _ETreeMemoryPrivate {
gpointer destroy_user_data;
};
-
/* ETreeMemoryPath functions */
static inline void
@@ -169,8 +168,6 @@ e_tree_path_unlink (ETreeMemoryPath *path)
path->prev_sibling = NULL;
}
-
-
/**
* e_tree_memory_freeze:
* @etmm: the ETreeModel to freeze.
@@ -212,7 +209,6 @@ e_tree_memory_thaw (ETreeMemory *etmm)
}
}
-
/* virtual methods */
static void
@@ -363,7 +359,6 @@ etmm_node_request_collapse (ETreeModel *etm,
parent_class->node_request_collapse (etm, node);
}
-
static void
e_tree_memory_class_init (ETreeMemoryClass *class)
{
diff --git a/widgets/table/e-tree-model.c b/widgets/table/e-tree-model.c
index b37ce4bf17..24221418c0 100644
--- a/widgets/table/e-tree-model.c
+++ b/widgets/table/e-tree-model.c
@@ -61,7 +61,6 @@ enum {
static guint e_tree_model_signals[LAST_SIGNAL] = {0, };
-
static void
e_tree_model_class_init (ETreeModelClass *class)
{
@@ -419,8 +418,6 @@ e_tree_model_node_request_collapse (ETreeModel *tree_model,
g_signal_emit (G_OBJECT (tree_model), e_tree_model_signals[NODE_REQUEST_COLLAPSE], 0, collapsed_node);
}
-
-
/**
* e_tree_model_new
*
diff --git a/widgets/table/e-tree-sorted.c b/widgets/table/e-tree-sorted.c
index 72b4cba091..4d95fcc74b 100644
--- a/widgets/table/e-tree-sorted.c
+++ b/widgets/table/e-tree-sorted.c
@@ -119,8 +119,6 @@ static void free_path (ETreeSortedPath *path);
static void generate_children (ETreeSorted *ets, ETreeSortedPath *path);
static void regenerate_children (ETreeSorted *ets, ETreeSortedPath *path);
-
-
/* idle callbacks */
static gboolean
@@ -162,8 +160,6 @@ ets_insert_idle (ETreeSorted *ets)
return FALSE;
}
-
-
/* Helper functions */
#define CHECK_AROUND_LAST_ACCESS
@@ -597,8 +593,6 @@ schedule_resort (ETreeSorted *ets,
}
}
-
-
/* virtual methods */
static void
@@ -1210,8 +1204,6 @@ ets_sort_info_changed (ETableSortInfo *sort_info,
schedule_resort (ets, ets->priv->root, TRUE, TRUE);
}
-
-
/* Initialization and creation */
static void
diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c
index 41818652bd..effd1e9aa6 100644
--- a/widgets/table/e-tree.c
+++ b/widgets/table/e-tree.c
@@ -472,6 +472,11 @@ et_dispose (GObject *object)
priv->table_canvas = NULL;
}
+ if (priv->item != NULL) {
+ g_object_unref (G_OBJECT (priv->item));
+ priv->item = NULL;
+ }
+
/* Chain up to parent's dispose() method. */
G_OBJECT_CLASS (e_tree_parent_class)->dispose (object);
}