diff --git a/capplets/screensaver/ChangeLog b/capplets/screensaver/ChangeLog index f964390a3..b9161d256 100644 --- a/capplets/screensaver/ChangeLog +++ b/capplets/screensaver/ChangeLog @@ -1,3 +1,12 @@ +2001-07-03 Richard Hestilow + + * preview.[ch]: New function show_blank_preview. + + * prefs-widget.c (prefs_widget_set_mode): Call show_blank_preview + if set to disabled or blank screen. + (selection_changed_cb): Don't show the preview if mode is set to + disabled or blank screen. + 2001-07-20 Chema Celorio * RELEASE : 1.5.0 @@ -38,7 +47,6 @@ * Makefile.am (SUBDIRS): clean ->>>>>>> 1.38 2001-07-17 Bradford Hovinen * Makefile.am (EXTRA_DIST): Changed Applications_DATA to diff --git a/capplets/screensaver/Makefile.am b/capplets/screensaver/Makefile.am index 55a00271f..57891ad6f 100644 --- a/capplets/screensaver/Makefile.am +++ b/capplets/screensaver/Makefile.am @@ -19,7 +19,7 @@ screensaver_properties_capplet_SOURCES = \ resources.c resources.h\ XScreenSaver_ad.h -pixmaps_DATA = no-hack.png +pixmaps_DATA = no-hack.png blank-screen.png ## ## You should not need to modify anything below this line diff --git a/capplets/screensaver/blank-screen.png b/capplets/screensaver/blank-screen.png new file mode 100644 index 000000000..575689242 Binary files /dev/null and b/capplets/screensaver/blank-screen.png differ diff --git a/capplets/screensaver/prefs-widget.c b/capplets/screensaver/prefs-widget.c index acaea50fa..ec4d7d5f4 100644 --- a/capplets/screensaver/prefs-widget.c +++ b/capplets/screensaver/prefs-widget.c @@ -517,6 +517,9 @@ prefs_widget_set_mode (PrefsWidget *prefs_widget, SelectionMode mode) e_selection_model_select_single_row ( E_SELECTION_MODEL (E_TABLE (prefs_widget->priv->table)->selection), row); } + + if (mode == SM_DISABLE_SCREENSAVER || mode == SM_BLANK_SCREEN) + show_blank_preview (); } void @@ -682,7 +685,9 @@ selection_changed_cb (ETable *table, PrefsWidget *prefs_widget) prefs_widget->selected_saver = saver; if (prefs_widget->selection_mode == SM_ONE_SCREENSAVER_ONLY) state_changed_cb (GTK_WIDGET (table), prefs_widget); - show_preview (saver); + if (prefs_widget->selection_mode != SM_DISABLE_SCREENSAVER && + prefs_widget->selection_mode != SM_BLANK_SCREEN) + show_preview (saver); } static void diff --git a/capplets/screensaver/preview.c b/capplets/screensaver/preview.c index 54973280e..bf908dbf2 100644 --- a/capplets/screensaver/preview.c +++ b/capplets/screensaver/preview.c @@ -272,6 +272,21 @@ close_preview (void) } } +void +show_blank_preview (void) +{ + GdkPixbuf *pixbuf; + + close_preview (); + gtk_widget_map (preview_window); + + pixbuf = gdk_pixbuf_new_from_file (GNOMECC_PIXMAPS_DIR "/blank-screen.png"); + gdk_pixbuf_render_to_drawable + (pixbuf, (GdkDrawable *) preview_window->window, + preview_window->style->fg_gc[0], 0, 0, 0, 0, + 300, 250, GDK_RGB_DITHER_NONE, 0, 0); +} + /* Ick... */ static GdkWindow *