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:
parent
99aa241dba
commit
589923f166
3 changed files with 50 additions and 16 deletions
|
@ -1,5 +1,14 @@
|
||||||
2000-09-10 Bradford Hovinen <hovinen@helixcode.com>
|
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
|
||||||
|
|
||||||
* all: Chnaged #include "config.h" to #ifdef HAVE_CONFIG_H ...
|
* all: Chnaged #include "config.h" to #ifdef HAVE_CONFIG_H ...
|
||||||
* *.desktop, *.directory: Updated French translations
|
* *.desktop, *.directory: Updated French translations
|
||||||
* po/POTFILES.in: Added screensaver XML files
|
* po/POTFILES.in: Added screensaver XML files
|
||||||
|
|
|
@ -663,15 +663,15 @@ renderer_render_background (Renderer *renderer)
|
||||||
renderer->gwidth = 32;
|
renderer->gwidth = 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (renderer->pixbuf != NULL)
|
||||||
|
gdk_pixbuf_unref (renderer->pixbuf);
|
||||||
|
|
||||||
renderer->gradient_data =
|
renderer->gradient_data =
|
||||||
fill_gradient (renderer->gwidth, renderer->gheight,
|
fill_gradient (renderer->gwidth, renderer->gheight,
|
||||||
renderer->prefs->color1,
|
renderer->prefs->color1,
|
||||||
renderer->prefs->color2,
|
renderer->prefs->color2,
|
||||||
renderer->prefs->orientation);
|
renderer->prefs->orientation);
|
||||||
|
|
||||||
if (renderer->pixbuf != NULL)
|
|
||||||
gdk_pixbuf_unref (renderer->pixbuf);
|
|
||||||
|
|
||||||
renderer->pixbuf =
|
renderer->pixbuf =
|
||||||
gdk_pixbuf_new_from_data (renderer->gradient_data,
|
gdk_pixbuf_new_from_data (renderer->gradient_data,
|
||||||
GDK_COLORSPACE_RGB,
|
GDK_COLORSPACE_RGB,
|
||||||
|
@ -837,12 +837,27 @@ renderer_render_to_screen (Renderer *renderer)
|
||||||
renderer->wwidth, renderer->wheight,
|
renderer->wwidth, renderer->wheight,
|
||||||
GDK_RGB_DITHER_NORMAL, 0, 0);
|
GDK_RGB_DITHER_NORMAL, 0, 0);
|
||||||
} else {
|
} else {
|
||||||
gdk_window_set_background (GDK_ROOT_PARENT(),
|
if (renderer->is_root) {
|
||||||
renderer->prefs->color1);
|
gdk_color_alloc (gdk_window_get_colormap
|
||||||
gdk_window_clear (GDK_ROOT_PARENT());
|
(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);
|
set_root_pixmap (renderer->pixmap);
|
||||||
|
|
||||||
gdk_gc_destroy (gc);
|
gdk_gc_destroy (gc);
|
||||||
|
|
|
@ -294,14 +294,17 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
||||||
prefs->color2->red, prefs->color2->green,
|
prefs->color2->red, prefs->color2->green,
|
||||||
prefs->color2->blue, 0xffff);
|
prefs->color2->blue, 0xffff);
|
||||||
|
|
||||||
if (prefs->gradient_enabled)
|
if (prefs->gradient_enabled) {
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||||
(WID ("gradient_select")),
|
(WID ("gradient_select")),
|
||||||
TRUE);
|
TRUE);
|
||||||
else
|
set_gradient_controls_sensitive (prefs_widget, TRUE);
|
||||||
|
} else {
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||||
(WID ("solid_select")),
|
(WID ("solid_select")),
|
||||||
TRUE);
|
TRUE);
|
||||||
|
set_gradient_controls_sensitive (prefs_widget, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
if (prefs->orientation == ORIENTATION_VERT)
|
if (prefs->orientation == ORIENTATION_VERT)
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||||
|
@ -320,10 +323,13 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
||||||
prefs->wallpaper_sel_path);
|
prefs->wallpaper_sel_path);
|
||||||
|
|
||||||
if (prefs->wallpaper_filename) {
|
if (prefs->wallpaper_filename) {
|
||||||
entry = gnome_file_entry_gtk_entry
|
entry = gnome_file_entry_gtk_entry
|
||||||
(GNOME_FILE_ENTRY (widget));
|
(GNOME_FILE_ENTRY (widget));
|
||||||
gtk_entry_set_text (GTK_ENTRY (entry),
|
gtk_entry_set_text (GTK_ENTRY (entry),
|
||||||
prefs->wallpaper_filename);
|
prefs->wallpaper_filename);
|
||||||
|
set_wallpaper_controls_sensitive (prefs_widget, TRUE);
|
||||||
|
} else {
|
||||||
|
set_wallpaper_controls_sensitive (prefs_widget, FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (prefs->wallpaper_type) {
|
switch (prefs->wallpaper_type) {
|
||||||
|
@ -356,14 +362,17 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prefs->enabled)
|
if (prefs->enabled) {
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||||
(WID ("disable_toggle")),
|
(WID ("disable_toggle")),
|
||||||
FALSE);
|
FALSE);
|
||||||
else
|
set_background_controls_sensitive (prefs_widget, TRUE);
|
||||||
|
} else {
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||||
(WID ("disable_toggle")),
|
(WID ("disable_toggle")),
|
||||||
TRUE);
|
TRUE);
|
||||||
|
set_background_controls_sensitive (prefs_widget, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
preferences_apply_preview (prefs);
|
preferences_apply_preview (prefs);
|
||||||
}
|
}
|
||||||
|
@ -495,7 +504,8 @@ wallpaper_entry_changed_cb (GtkEntry *e, PrefsWidget *prefs_widget)
|
||||||
|
|
||||||
if (prefs_widget->prefs->wallpaper_filename &&
|
if (prefs_widget->prefs->wallpaper_filename &&
|
||||||
strlen (prefs_widget->prefs->wallpaper_filename) &&
|
strlen (prefs_widget->prefs->wallpaper_filename) &&
|
||||||
g_strcasecmp (prefs_widget->prefs->wallpaper_filename, "none")) {
|
g_strcasecmp (prefs_widget->prefs->wallpaper_filename, "none"))
|
||||||
|
{
|
||||||
set_wallpaper_controls_sensitive (prefs_widget, TRUE);
|
set_wallpaper_controls_sensitive (prefs_widget, TRUE);
|
||||||
prefs_widget->prefs->wallpaper_enabled = TRUE;
|
prefs_widget->prefs->wallpaper_enabled = TRUE;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue