Replace the background treeview with an icon view that only shows the
* appearance.h: * appearance-desktop.c: * appearance.glade: * gnome-wp-item.c: * Makefile.am: * wp-cellrenderer.[ch]: Replace the background treeview with an icon view that only shows the thumbnails. Tooltips are to be done. svn path=/trunk/; revision=7593
This commit is contained in:
parent
c1a597bb4d
commit
3a908d7a99
8 changed files with 552 additions and 526 deletions
64
capplets/appearance/wp-cellrenderer.c
Normal file
64
capplets/appearance/wp-cellrenderer.c
Normal file
|
@ -0,0 +1,64 @@
|
|||
|
||||
#include "wp-cellrenderer.h"
|
||||
#include <glib.h>
|
||||
#include <gdk/gdk.h>
|
||||
#include <gtk/gtk.h>
|
||||
|
||||
static void cell_renderer_wallpaper_render (GtkCellRenderer *cell,
|
||||
GdkWindow *window,
|
||||
GtkWidget *widget,
|
||||
GdkRectangle *background_area,
|
||||
GdkRectangle *cell_area,
|
||||
GdkRectangle *expose_area,
|
||||
GtkCellRendererState flags);
|
||||
|
||||
G_DEFINE_TYPE (CellRendererWallpaper, cell_renderer_wallpaper, GTK_TYPE_CELL_RENDERER_PIXBUF)
|
||||
|
||||
static void
|
||||
cell_renderer_wallpaper_class_init (CellRendererWallpaperClass *klass)
|
||||
{
|
||||
GtkCellRendererClass *renderer_class;
|
||||
|
||||
renderer_class = (GtkCellRendererClass *) klass;
|
||||
renderer_class->render = cell_renderer_wallpaper_render;
|
||||
}
|
||||
|
||||
static void
|
||||
cell_renderer_wallpaper_init (CellRendererWallpaper *renderer)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
GtkCellRenderer *
|
||||
cell_renderer_wallpaper_new (void)
|
||||
{
|
||||
return g_object_new (cell_renderer_wallpaper_get_type (), NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
cell_renderer_wallpaper_render (GtkCellRenderer *cell,
|
||||
GdkWindow *window,
|
||||
GtkWidget *widget,
|
||||
GdkRectangle *background_area,
|
||||
GdkRectangle *cell_area,
|
||||
GdkRectangle *expose_area,
|
||||
GtkCellRendererState flags)
|
||||
{
|
||||
(* GTK_CELL_RENDERER_CLASS (cell_renderer_wallpaper_parent_class)->render)
|
||||
(cell, window, widget, background_area, cell_area, expose_area, flags);
|
||||
|
||||
if (flags && GTK_CELL_RENDERER_FOCUSED)
|
||||
{
|
||||
GdkGC *gc;
|
||||
|
||||
gc = gdk_gc_new (GDK_DRAWABLE (window));
|
||||
|
||||
gdk_gc_set_foreground (gc, &widget->style->bg[GTK_STATE_SELECTED]);
|
||||
gdk_gc_set_line_attributes (gc, 3,
|
||||
GDK_LINE_SOLID, GDK_CAP_BUTT, GDK_JOIN_MITER);
|
||||
|
||||
gdk_draw_rectangle (GDK_DRAWABLE (window), gc, FALSE,
|
||||
background_area->x, background_area->y,
|
||||
background_area->width, background_area->height);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue