aboutsummaryrefslogtreecommitdiffstats
path: root/widgets/table
diff options
context:
space:
mode:
authorSrinivasa Ragavan <sragavan@src.gnome.org>2008-01-24 16:34:13 +0800
committerSrinivasa Ragavan <sragavan@src.gnome.org>2008-01-24 16:34:13 +0800
commitd5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a (patch)
tree3414e5e5ecbcbad24beca888e4e22d670ee1a988 /widgets/table
parente953820d261cf20176cd62f08b4212a676e8edec (diff)
downloadgsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar.gz
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar.bz2
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar.lz
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar.xz
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.tar.zst
gsoc2013-evolution-d5ec942afbcd814dbe6f9adaa0bf4d31b7b1b26a.zip
Cairofication of the preference window's etable.
svn path=/trunk/; revision=34877
Diffstat (limited to 'widgets/table')
-rw-r--r--widgets/table/ChangeLog6
-rw-r--r--widgets/table/e-cell-pixbuf.c55
2 files changed, 22 insertions, 39 deletions
diff --git a/widgets/table/ChangeLog b/widgets/table/ChangeLog
index 30d266f683..18765c3600 100644
--- a/widgets/table/ChangeLog
+++ b/widgets/table/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-24 Srinivasa Ragavan <sragavan@novell.com>
+
+ * e-cell-pixbuf.c: (pixbuf_draw), (pixbuf_height), (pixbuf_print),
+ (pixbuf_print_height), (pixbuf_max_width): Cairfy pixbuf renderer for
+ settings window.
+
2008-01-22 Milan Crha <mcrha@redhat.com>
** Fix for bug #511105
diff --git a/widgets/table/e-cell-pixbuf.c b/widgets/table/e-cell-pixbuf.c
index 36fd8a49b3..2dc98d367b 100644
--- a/widgets/table/e-cell-pixbuf.c
+++ b/widgets/table/e-cell-pixbuf.c
@@ -115,31 +115,11 @@ pixbuf_draw (ECellView *ecell_view, GdkDrawable *drawable,
GdkPixbuf *cell_pixbuf;
int real_x, real_y, real_w, real_h;
int pix_w, pix_h;
- ECellPixbuf *ecp;
-
- cell_pixbuf = NULL;
+ cairo_t *cr;
+
+ cell_pixbuf = e_table_model_value_at (ecell_view->e_table_model,
+ 1, row);
- ecp = E_CELL_PIXBUF (ecell_view->ecell);
-
- if (flags & E_CELL_SELECTED) {
- if (GTK_WIDGET_HAS_FOCUS (GNOME_CANVAS_ITEM (ecell_view->e_table_item_view)->canvas)) {
- if (ecp->focused_column != -1)
- cell_pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model,
- ecp->focused_column, row);
- } else {
- if (ecp->selected_column != -1)
- cell_pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model,
- ecp->selected_column, row);
- }
- } else {
- if (ecp->unselected_column != -1)
- cell_pixbuf = e_table_model_value_at (ecell_view->e_table_model,
- ecp->unselected_column, row);
- }
-
- if (cell_pixbuf == NULL)
- cell_pixbuf = e_table_model_value_at (ecell_view->e_table_model,
- model_col, row);
/* we can't make sure we really got a pixbuf since, well, it's a Gdk thing */
if (x2 - x1 == 0)
@@ -170,15 +150,12 @@ pixbuf_draw (ECellView *ecell_view, GdkDrawable *drawable,
real_h = y2 - y1;
}
-
- gdk_draw_pixbuf (drawable,
- NULL,
- cell_pixbuf,
- 0, 0,
- real_x, real_y,
- real_w, real_h,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
+ cr = gdk_cairo_create (drawable);
+ cairo_save (cr);
+ gdk_cairo_set_source_pixbuf (cr, cell_pixbuf, real_x, real_y);
+ cairo_paint_with_alpha (cr, 1);
+ cairo_restore (cr);
+ cairo_destroy (cr);
}
static gint
@@ -203,7 +180,7 @@ pixbuf_height (ECellView *ecell_view, int model_col, int view_col, int row)
}
}
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
+ pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, 1, row);
if (!pixbuf)
return 0;
@@ -223,7 +200,7 @@ pixbuf_print (ECellView *ecell_view, GtkPrintContext *context,
int scale;
cairo_t *cr = gtk_print_context_get_cairo_context (context);
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
+ pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, 1, row);
if (pixbuf == NULL)
return;
@@ -250,7 +227,7 @@ pixbuf_print_height (ECellView *ecell_view, GtkPrintContext *context,
}
}
- pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, model_col, row);
+ pixbuf = (GdkPixbuf *) e_table_model_value_at (ecell_view->e_table_model, 1, row);
if (!pixbuf)
return 0;
@@ -271,10 +248,10 @@ pixbuf_max_width (ECellView *ecell_view, int model_col, int view_col)
for (i = 0; i <= num_rows; i++) {
GdkPixbuf *pixbuf = (GdkPixbuf *) e_table_model_value_at
(ecell_view->e_table_model,
- model_col,
+ 1,
i);
- if (!pixbuf)
- continue;
+ if (!pixbuf)
+ continue;
pw = gdk_pixbuf_get_width (pixbuf);
if (max_width < pw)
max_width = pw;