Set gradient/wallpaper/background controls' sensitivity depending on

2000-09-10  Bradford Hovinen  <hovinen@helixcode.com>

	* capplets/new-background-properties/prefs-widget.c
	(read_preferences): Set gradient/wallpaper/background controls'
	sensitivity depending on whether they are enabled

	* capplets/new-background-properties/applier.c
	(renderer_render_to_screen): Fixed solid, no wallpaper case to
	work correctly with preview window; don't set root pixmap if
	neither wallpaper nor gradient enabled
This commit is contained in:
Bradford Hovinen 2000-09-10 19:42:19 +00:00 committed by Bradford Hovinen (Gdict maintainer)
parent 99aa241dba
commit 589923f166
3 changed files with 50 additions and 16 deletions

View file

@ -663,15 +663,15 @@ renderer_render_background (Renderer *renderer)
renderer->gwidth = 32;
}
if (renderer->pixbuf != NULL)
gdk_pixbuf_unref (renderer->pixbuf);
renderer->gradient_data =
fill_gradient (renderer->gwidth, renderer->gheight,
renderer->prefs->color1,
renderer->prefs->color2,
renderer->prefs->orientation);
if (renderer->pixbuf != NULL)
gdk_pixbuf_unref (renderer->pixbuf);
renderer->pixbuf =
gdk_pixbuf_new_from_data (renderer->gradient_data,
GDK_COLORSPACE_RGB,
@ -837,12 +837,27 @@ renderer_render_to_screen (Renderer *renderer)
renderer->wwidth, renderer->wheight,
GDK_RGB_DITHER_NORMAL, 0, 0);
} else {
gdk_window_set_background (GDK_ROOT_PARENT(),
renderer->prefs->color1);
gdk_window_clear (GDK_ROOT_PARENT());
if (renderer->is_root) {
gdk_color_alloc (gdk_window_get_colormap
(GDK_ROOT_PARENT()),
renderer->prefs->color1);
gdk_window_set_background (GDK_ROOT_PARENT (),
renderer->prefs->color1);
gdk_window_clear (GDK_ROOT_PARENT ());
} else {
gdk_color_alloc (gdk_window_get_colormap
(preview_widget->window),
renderer->prefs->color1);
gdk_gc_set_foreground (gc, renderer->prefs->color1);
XFillRectangle (GDK_DISPLAY (), renderer->pixmap, xgc,
renderer->x, renderer->y,
renderer->width, renderer->height);
}
}
if (renderer->is_root && !renderer->is_set)
if (renderer->is_root && !renderer->is_set &&
(renderer->prefs->wallpaper_enabled ||
renderer->prefs->gradient_enabled))
set_root_pixmap (renderer->pixmap);
gdk_gc_destroy (gc);