diff options
Diffstat (limited to 'capplets/screensaver/main.c')
-rw-r--r-- | capplets/screensaver/main.c | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/capplets/screensaver/main.c b/capplets/screensaver/main.c index f88c641bb..717fe2e77 100644 --- a/capplets/screensaver/main.c +++ b/capplets/screensaver/main.c @@ -37,8 +37,10 @@ #include <capplet-widget.h> -#include <ximian-archiver/archive.h> -#include <ximian-archiver/location.h> +#ifdef HAVE_XIMIAN_ARCHIVER +# include <ximian-archiver/archive.h> +# include <ximian-archiver/location.h> +#endif /* HAVE_XIMIAN_ARCHIVER */ #include "preferences.h" #include "prefs-widget.h" @@ -52,6 +54,8 @@ static PrefsWidget *prefs_widget; static CappletWidget *capplet; +#ifdef HAVE_XIMIAN_ARCHIVER + static Archive *archive; static gboolean outside_location; @@ -74,6 +78,8 @@ store_archive_data (void) archive_close (archive); } +#endif /* HAVE_XIMIAN_ARCHIVER */ + static void state_changed_cb (GtkWidget *widget) { @@ -88,11 +94,17 @@ try_cb (GtkWidget *widget) old_sm = prefs->selection_mode; +#ifdef HAVE_XIMIAN_ARCHIVER if (!outside_location) { prefs_widget_store_prefs (prefs_widget, prefs); preferences_save (prefs); setup_dpms (prefs); } +#else /* !HAVE_XIMIAN_ARCHIVER */ + prefs_widget_store_prefs (prefs_widget, prefs); + preferences_save (prefs); + setup_dpms (prefs); +#endif /* HAVE_XIMIAN_ARCHIVER */ if (old_sm == SM_DISABLE_SCREENSAVER && prefs->selection_mode != SM_DISABLE_SCREENSAVER) @@ -109,10 +121,15 @@ revert_cb (GtkWidget *widget) old_sm = old_prefs->selection_mode; +#ifdef HAVE_XIMIAN_ARCHIVER if (!outside_location) { preferences_save (old_prefs); preferences_destroy (prefs); } +#else /* !HAVE_XIMIAN_ARCHIVER */ + preferences_save (old_prefs); + preferences_destroy (prefs); +#endif /* HAVE_XIMIAN_ARCHIVER */ prefs = preferences_new (); preferences_load (prefs); @@ -140,7 +157,9 @@ ok_cb (GtkWidget *widget) close_preview (); +#ifdef HAVE_XIMIAN_ARCHIVER if (!outside_location) { +#endif /* HAVE_XIMIAN_ARCHIVER */ prefs_widget_store_prefs (prefs_widget, prefs); preferences_save (prefs); setup_dpms (prefs); @@ -150,9 +169,11 @@ ok_cb (GtkWidget *widget) else if (old_sm != SM_DISABLE_SCREENSAVER && prefs->selection_mode == SM_DISABLE_SCREENSAVER) stop_xscreensaver (); +#ifdef HAVE_XIMIAN_ARCHIVER } store_archive_data (); +#endif /* HAVE_XIMIAN_ARCHIVER */ } static void @@ -164,7 +185,9 @@ cancel_cb (GtkWidget *widget) close_preview (); +#ifdef HAVE_XIMIAN_ARCHIVER if (!outside_location) { +#endif /* HAVE_XIMIAN_ARCHIVER */ preferences_save (old_prefs); setup_dpms (old_prefs); @@ -174,7 +197,9 @@ cancel_cb (GtkWidget *widget) else if (old_sm != SM_DISABLE_SCREENSAVER && prefs->selection_mode == SM_DISABLE_SCREENSAVER) stop_xscreensaver (); +#ifdef HAVE_XIMIAN_ARCHIVER } +#endif /* HAVE_XIMIAN_ARCHIVER */ } static void @@ -218,6 +243,8 @@ setup_capplet_widget (void) prefs->frozen--; } +#ifdef HAVE_XIMIAN_ARCHIVER + static void do_get_xml (void) { @@ -264,6 +291,8 @@ do_set_xml (gboolean apply_settings) return; } +#endif /* HAVE_XIMIAN_ARCHIVER */ + static void do_restore_from_defaults (void) { @@ -290,11 +319,15 @@ main (int argc, char **argv) g_error ("Could not initialize the capplet."); } else if (res == 3) { +#ifdef HAVE_XIMIAN_ARCHIVER do_get_xml (); +#endif /* HAVE_XIMIAN_ARCHIVER */ return 0; } else if (res == 4) { +#ifdef HAVE_XIMIAN_ARCHIVER do_set_xml (TRUE); +#endif /* HAVE_XIMIAN_ARCHIVER */ return 0; } else if (res == 5) { @@ -331,6 +364,7 @@ main (int argc, char **argv) (GNOME_ICONDIR"/gnome-ccscreensaver.png"); init_resource_database (argc, argv); +#ifdef HAVE_XIMIAN_ARCHIVER archive = ARCHIVE (archive_load (FALSE)); if (capplet_get_location () != NULL && @@ -352,6 +386,19 @@ main (int argc, char **argv) setup_dpms (prefs); } +#else /* !HAVE_XIMIAN_ARCHIVER */ + + prefs = preferences_new (); + preferences_load (prefs); + + if (token) { + if (prefs->selection_mode != SM_DISABLE_SCREENSAVER) + start_xscreensaver (); + setup_dpms (prefs); + } + +#endif /* HAVE_XIMIAN_ARCHIVER */ + if (!res) { old_prefs = preferences_new (); preferences_load (old_prefs); |