diff options
author | Seth Nickell <snickell@stanford.edu> | 2002-01-29 04:48:25 +0000 |
---|---|---|
committer | Seth Nickell <seth@src.gnome.org> | 2002-01-29 04:48:25 +0000 |
commit | 5fe3e402795ef71f6cf0d907efaf85a0a057784a (patch) | |
tree | 7953a2196b53e86a77868df59f59cfb7c4a7f10e /libbackground/applier.c | |
parent | 788e46daacc36681eac4214f5c220a759db87430 (diff) | |
download | gnome-control-center-5fe3e402795ef71f6cf0d907efaf85a0a057784a.tar.gz |
Read control center directory structure out of GnomeVFS instead of
2002-01-28 Seth Nickell <snickell@stanford.edu>
* control-center/capplet-dir.c: (capplet_new), (capplet_dir_new),
(capplet_dir_entry_destroy), (read_entries),
(get_root_capplet_dir):
* control-center/capplet-dir.h:
Read control center directory structure out of GnomeVFS instead of
directly off the disk.
Also deal with pixmaps more uniformly, and properly load them
out of PREFIX/share/pixmaps when they aren't an absolute path.
* capplets/desktop-links/Sawfish/appearance-properties.desktop.in:
* capplets/desktop-links/Sawfish/bindings-properties.desktop.in:
* capplets/desktop-links/Sawfish/focus-properties.desktop.in:
* capplets/desktop-links/Sawfish/match-properties.desktop.in:
* capplets/desktop-links/Sawfish/maximize-properties.desktop.in:
* capplets/desktop-links/Sawfish/meta-properties.desktop.in:
* capplets/desktop-links/Sawfish/misc-properties.desktop.in:
* capplets/desktop-links/Sawfish/move-properties.desktop.in:
* capplets/desktop-links/Sawfish/placement-properties.desktop.in:
* capplets/desktop-links/Sawfish/sound-properties.desktop.in:
* capplets/desktop-links/Sawfish/workspace-properties.desktop.in:
* capplets/ui-properties/behavior.desktop.in.in:
Add a Categories Field.
* capplets/desktop-links/Makefile.am:
* capplets/desktop-links/Sawfish/Makefile.am:
* capplets/file-types/Makefile.am:
* capplets/theme-switcher/Makefile.am:
* capplets/ui-properties/Makefile.am:
* control-center/Gnome.directory.in.in:
* control-center/Makefile.am:
Install directory files into PREFIX/share/gnome/vfolders, the standard
vfolder description location.
Diffstat (limited to 'libbackground/applier.c')
-rw-r--r-- | libbackground/applier.c | 100 |
1 files changed, 27 insertions, 73 deletions
diff --git a/libbackground/applier.c b/libbackground/applier.c index 51ecb04fa..a0ca297bf 100644 --- a/libbackground/applier.c +++ b/libbackground/applier.c @@ -37,10 +37,10 @@ #include "applier.h" -#define MONITOR_CONTENTS_X 20 -#define MONITOR_CONTENTS_Y 10 -#define MONITOR_CONTENTS_WIDTH 157 -#define MONITOR_CONTENTS_HEIGHT 111 +#define MONITOR_CONTENTS_X 0 +#define MONITOR_CONTENTS_Y 0 +#define MONITOR_CONTENTS_WIDTH 51 +#define MONITOR_CONTENTS_HEIGHT 38 enum { PROP_0, @@ -379,15 +379,19 @@ bg_applier_apply_prefs (BGApplier *bg_applier, bg_applier->p->wallpaper_pixbuf = NULL; if (new_prefs->wallpaper_enabled) { - g_return_if_fail (new_prefs->wallpaper_filename != NULL); + if (new_prefs->wallpaper_filename == NULL) { + new_prefs->wallpaper_enabled = FALSE; + } else { + g_return_if_fail (new_prefs->wallpaper_filename != NULL); - bg_applier->p->wallpaper_pixbuf = - gdk_pixbuf_new_from_file (new_prefs->wallpaper_filename, NULL); + bg_applier->p->wallpaper_pixbuf = + gdk_pixbuf_new_from_file (new_prefs->wallpaper_filename, NULL); - if (bg_applier->p->wallpaper_pixbuf == NULL) { - g_warning (_("Could not load pixbuf \"%s\"; disabling wallpaper."), - new_prefs->wallpaper_filename); - new_prefs->wallpaper_enabled = FALSE; + if (bg_applier->p->wallpaper_pixbuf == NULL) { + g_warning (_("Could not load pixbuf \"%s\"; disabling wallpaper."), + new_prefs->wallpaper_filename); + new_prefs->wallpaper_enabled = FALSE; + } } } } @@ -420,68 +424,14 @@ bg_applier_render_color_p (const BGApplier *bg_applier, const BGPreferences *pre GtkWidget * bg_applier_get_preview_widget (BGApplier *bg_applier) { - GdkPixbuf *pixbuf; - GdkPixmap *pixmap; - GdkBitmap *mask; - GdkVisual *visual; - GdkColormap *colormap; - gchar *filename; - GdkGC *gc; - - g_return_val_if_fail (bg_applier != NULL, NULL); - g_return_val_if_fail (IS_BG_APPLIER (bg_applier), NULL); - - if (bg_applier->p->type != BG_APPLIER_PREVIEW) - return NULL; - - if (bg_applier->p->preview_widget != NULL) - return bg_applier->p->preview_widget; - - filename = gnome_pixmap_file ("monitor.png"); - visual = gdk_window_get_visual (GDK_ROOT_PARENT ()); - colormap = gdk_window_get_colormap (GDK_ROOT_PARENT ()); - - gtk_widget_push_visual (visual); - gtk_widget_push_colormap (colormap); - - pixbuf = gdk_pixbuf_new_from_file (filename, NULL); + if (bg_applier->p->preview_widget == NULL) { + GdkPixmap *pixmap; - if (pixbuf == NULL) return NULL; + pixmap = gdk_pixmap_new (GDK_ROOT_PARENT(), 51, 38, -1); + bg_applier->p->preview_widget = gtk_image_new_from_pixmap (pixmap, NULL); + } - pixmap = gdk_pixmap_new (GDK_ROOT_PARENT (), - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - visual->depth); - mask = gdk_pixmap_new (GDK_ROOT_PARENT (), - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - 1); - - gc = gdk_gc_new (GDK_ROOT_PARENT ()); - - gdk_pixbuf_render_threshold_alpha (pixbuf, mask, - 0, 0, 0, 0, - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - 1); - - gdk_gc_set_clip_mask (gc, mask); - - gdk_pixbuf_render_to_drawable (pixbuf, pixmap, gc, - 0, 0, 0, 0, - gdk_pixbuf_get_width (pixbuf), - gdk_pixbuf_get_height (pixbuf), - GDK_RGB_DITHER_MAX, 0, 0); - - bg_applier->p->preview_widget = gtk_pixmap_new (pixmap, mask); - gtk_widget_show (bg_applier->p->preview_widget); - gdk_pixbuf_unref (pixbuf); - g_free (filename); - - gtk_widget_pop_visual (); - gtk_widget_pop_colormap (); - - return bg_applier->p->preview_widget; + return bg_applier->p->preview_widget; } GdkPixbuf * @@ -504,6 +454,8 @@ draw_disabled_message (GtkWidget *widget) gint x, y, w, h; const char *disabled_string = _("Disabled"); + printf ("disabled\n"); + g_return_if_fail (widget != NULL); g_return_if_fail (GTK_IS_PIXMAP (widget)); @@ -828,7 +780,8 @@ create_pixmap (BGApplier *bg_applier, const BGPreferences *prefs) if (!GTK_WIDGET_REALIZED (bg_applier->p->preview_widget)) gtk_widget_realize (bg_applier->p->preview_widget); - bg_applier->p->pixmap = GTK_PIXMAP (bg_applier->p->preview_widget)->pixmap; + g_assert (gtk_image_get_storage_type (GTK_IMAGE(bg_applier->p->preview_widget)) == GTK_IMAGE_PIXMAP); + gtk_image_get_pixmap (GTK_IMAGE (bg_applier->p->preview_widget), &bg_applier->p->pixmap, NULL); bg_applier->p->pixmap_is_set = TRUE; break; } @@ -939,7 +892,8 @@ get_geometry (wallpaper_type_t wallpaper_type, src_geom->width = pwidth; src_geom->height = pheight; break; - + case WPTYPE_EMBOSSED: + g_warning ("Embossing is not yet supported"); default: g_error ("Bad wallpaper type"); break; |