summaryrefslogtreecommitdiff
path: root/libbackground/applier.c
diff options
context:
space:
mode:
authorSeth Nickell <snickell@stanford.edu>2002-01-29 04:48:25 +0000
committerSeth Nickell <seth@src.gnome.org>2002-01-29 04:48:25 +0000
commit5fe3e402795ef71f6cf0d907efaf85a0a057784a (patch)
tree7953a2196b53e86a77868df59f59cfb7c4a7f10e /libbackground/applier.c
parent788e46daacc36681eac4214f5c220a759db87430 (diff)
downloadgnome-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.c100
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;