aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table/e-table-header-item.c
diff options
context:
space:
mode:
authorChristopher James Lahey <clahey@ximian.com>2001-10-24 03:48:19 +0800
committerChris Lahey <clahey@src.gnome.org>2001-10-24 03:48:19 +0800
commit2def5aacb2ade53ff07a9d6b9f63438fe01e877b (patch)
tree7fff79b728b7fd7c1a149e6618999d79b8ae35d2 /widgets/table/e-table-header-item.c
parent83c1664ef72b6c4a905db6f27f21c841d4328def (diff)
downloadgsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar.gz
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar.bz2
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar.lz
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar.xz
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.tar.zst
gsoc2013-evolution-2def5aacb2ade53ff07a9d6b9f63438fe01e877b.zip
Got rid of the gc argument to e_table_header_draw_button.
2001-10-23 Christopher James Lahey <clahey@ximian.com> * e-table-field-chooser-item.c: Got rid of the gc argument to e_table_header_draw_button. (etfci_font_load): Just use the style font here. * e-table-group-container.c (e_table_group_container_construct): Changed this to just use the font from the style. Fixes Ximian bug #11882. * e-table-header-item.c: Got rid of the gc argument to e_table_header_draw_button. (ethi_font_load): Changed this to just fallback on the font from the style if the fontname is NULL or doesn't load to a font. Fixes Ximian bug #11882. * e-table-header-utils.c, e-table-header-utils.h (e_table_header_draw_button): Got rid of the gc parameter here and changed to use the gc from the style of a button created for this purpose, but not shown. Fixes Ximian bug #13251. svn path=/trunk/; revision=13949
Diffstat (limited to 'widgets/table/e-table-header-item.c')
-rw-r--r--widgets/table/e-table-header-item.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/widgets/table/e-table-header-item.c b/widgets/table/e-table-header-item.c
index cca78c3709..50bae53e37 100644
--- a/widgets/table/e-table-header-item.c
+++ b/widgets/table/e-table-header-item.c
@@ -195,6 +195,7 @@ ethi_font_set (ETableHeaderItem *ethi, GdkFont *font)
gdk_font_unref (ethi->font);
ethi->font = font;
+ gdk_font_ref (font);
ethi->height = e_table_header_item_get_height (ethi);
e_canvas_item_request_reflow(GNOME_CANVAS_ITEM(ethi));
@@ -203,13 +204,18 @@ ethi_font_set (ETableHeaderItem *ethi, GdkFont *font)
static void
ethi_font_load (ETableHeaderItem *ethi, char *fontname)
{
- GdkFont *font;
+ GdkFont *font = NULL;
- font = gdk_fontset_load (fontname);
- if (font == NULL)
- font = gdk_font_load ("-adobe-helvetica-medium-r-normal--*-120-*-*-*-*-iso8859-1");
+ if (fontname != NULL)
+ font = gdk_fontset_load (fontname);
+
+ if (font == NULL) {
+ font = GTK_WIDGET (GNOME_CANVAS_ITEM (ethi)->canvas)->style->font;
+ gdk_font_ref (font);
+ }
ethi_font_set (ethi, font);
+ gdk_font_unref (font);
}
static void
@@ -760,6 +766,8 @@ ethi_unrealize (GnomeCanvasItem *item)
{
ETableHeaderItem *ethi = E_TABLE_HEADER_ITEM (item);
+ gdk_font_unref (ethi->font);
+
gtk_signal_disconnect (GTK_OBJECT (item->canvas), ethi->drag_motion_id);
gtk_signal_disconnect (GTK_OBJECT (item->canvas), ethi->drag_leave_id);
gtk_signal_disconnect (GTK_OBJECT (item->canvas), ethi->drag_drop_id);
@@ -833,7 +841,7 @@ ethi_draw (GnomeCanvasItem *item, GdkDrawable *drawable, int x, int y, int width
e_table_header_draw_button (drawable, ecol,
GTK_WIDGET (canvas)->style, ethi->font,
GTK_WIDGET_STATE (canvas),
- GTK_WIDGET (canvas), GTK_WIDGET (canvas)->style->fg_gc[GTK_STATE_NORMAL],
+ GTK_WIDGET (canvas),
x1 - x, -y,
width, height,
x2 - x1, ethi->height,
@@ -1025,7 +1033,7 @@ ethi_start_drag (ETableHeaderItem *ethi, GdkEvent *event)
pixmap, ecol,
widget->style, ethi->font,
GTK_WIDGET_STATE (widget),
- widget, widget->style->fg_gc[GTK_STATE_NORMAL],
+ widget,
0, 0,
col_width, ethi->height,
col_width, ethi->height,