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>
|
||||
|
||||
* 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 ...
|
||||
* *.desktop, *.directory: Updated French translations
|
||||
* po/POTFILES.in: Added screensaver XML files
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -294,14 +294,17 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
|||
prefs->color2->red, prefs->color2->green,
|
||||
prefs->color2->blue, 0xffff);
|
||||
|
||||
if (prefs->gradient_enabled)
|
||||
if (prefs->gradient_enabled) {
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
(WID ("gradient_select")),
|
||||
TRUE);
|
||||
else
|
||||
set_gradient_controls_sensitive (prefs_widget, TRUE);
|
||||
} else {
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
(WID ("solid_select")),
|
||||
TRUE);
|
||||
set_gradient_controls_sensitive (prefs_widget, FALSE);
|
||||
}
|
||||
|
||||
if (prefs->orientation == ORIENTATION_VERT)
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
|
@ -320,10 +323,13 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
|||
prefs->wallpaper_sel_path);
|
||||
|
||||
if (prefs->wallpaper_filename) {
|
||||
entry = gnome_file_entry_gtk_entry
|
||||
(GNOME_FILE_ENTRY (widget));
|
||||
gtk_entry_set_text (GTK_ENTRY (entry),
|
||||
prefs->wallpaper_filename);
|
||||
entry = gnome_file_entry_gtk_entry
|
||||
(GNOME_FILE_ENTRY (widget));
|
||||
gtk_entry_set_text (GTK_ENTRY (entry),
|
||||
prefs->wallpaper_filename);
|
||||
set_wallpaper_controls_sensitive (prefs_widget, TRUE);
|
||||
} else {
|
||||
set_wallpaper_controls_sensitive (prefs_widget, FALSE);
|
||||
}
|
||||
|
||||
switch (prefs->wallpaper_type) {
|
||||
|
@ -356,14 +362,17 @@ read_preferences (PrefsWidget *prefs_widget, Preferences *prefs)
|
|||
break;
|
||||
}
|
||||
|
||||
if (prefs->enabled)
|
||||
if (prefs->enabled) {
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
(WID ("disable_toggle")),
|
||||
FALSE);
|
||||
else
|
||||
set_background_controls_sensitive (prefs_widget, TRUE);
|
||||
} else {
|
||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON
|
||||
(WID ("disable_toggle")),
|
||||
TRUE);
|
||||
set_background_controls_sensitive (prefs_widget, FALSE);
|
||||
}
|
||||
|
||||
preferences_apply_preview (prefs);
|
||||
}
|
||||
|
@ -495,7 +504,8 @@ wallpaper_entry_changed_cb (GtkEntry *e, PrefsWidget *prefs_widget)
|
|||
|
||||
if (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);
|
||||
prefs_widget->prefs->wallpaper_enabled = TRUE;
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue