]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
Make pdf compilation optional. See bug #38007.
[evince.git] / shell / ev-window.c
index 7fb90b2ea13bc333e580a594ada7c27c0f01e006..98d888f41d940726b3724ee64f45fb50d98bc64c 100644 (file)
@@ -80,7 +80,9 @@
 #include <gtk/gtkprintunixdialog.h>
 #endif
 
+#ifdef ENABLE_PDF
 #include <poppler.h>
+#endif
 
 #include <glib/gstdio.h>
 #include <glib/gi18n.h>
@@ -89,6 +91,8 @@
 #include <libgnomevfs/gnome-vfs-utils.h>
 #include <gconf/gconf-client.h>
 
+#include "totem-scrsaver.h"
+
 #include <string.h>
 
 typedef enum {
@@ -148,7 +152,10 @@ struct _EvWindowPrivate {
        GtkWidget *fullscreen_toolbar;
        GtkWidget *fullscreen_popup;
        guint      fullscreen_timeout_id;
-       
+
+       /* Screensaver */
+       TotemScrsaver *screensaver;
+
        /* Popup link */
        GtkWidget *view_popup;
        EvLink    *link;
@@ -617,10 +624,15 @@ page_changed_cb (EvPageCache *page_cache,
                 gint         page,
                 EvWindow    *ev_window)
 {
+       gchar *label;
+       
        ev_window_update_actions (ev_window);
        
-       if (ev_window->priv->history)
-               ev_history_add_page (ev_window->priv->history, page);
+       if (ev_window->priv->history) {
+               label = ev_page_cache_get_page_label (ev_window->priv->page_cache, page);
+               ev_history_add_page (ev_window->priv->history, page, label);
+               g_free (label);
+       }
 
        if (!ev_window_is_empty (ev_window))
                ev_metadata_manager_set_int (ev_window->priv->uri, "page", page);
@@ -2530,6 +2542,8 @@ ev_window_run_presentation (EvWindow *window)
                          window);
        fullscreen_set_timeout (window);
 
+       totem_scrsaver_disable (window->priv->screensaver);
+
        if (!ev_window_is_empty (window))
                ev_metadata_manager_set_boolean (window->priv->uri, "presentation", TRUE);
 }
@@ -2556,6 +2570,8 @@ ev_window_stop_presentation (EvWindow *window)
                                              window);
        fullscreen_clear_timeout (window);
 
+       totem_scrsaver_enable (window->priv->screensaver);
+
        if (!ev_window_is_empty (window))
                ev_metadata_manager_set_boolean (window->priv->uri, "presentation", FALSE);
 }
@@ -3074,6 +3090,7 @@ ev_window_dual_mode_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *ev_wi
 static char *
 build_comments_string (void)
 {
+#ifdef ENABLE_PDF
        PopplerBackend backend;
        const char *backend_name;
        const char *version;
@@ -3095,6 +3112,9 @@ build_comments_string (void)
        return g_strdup_printf (_("PostScript and PDF File Viewer.\n"
                                  "Using poppler %s (%s)"),
                                version, backend_name);
+#else
+       return g_strdup_printf (_("Document Viewer."));
+#endif
 }
 
 static void
@@ -3152,7 +3172,7 @@ ev_window_cmd_help_about (GtkAction *action, EvWindow *ev_window)
                "name", _("Evince"),
                "version", VERSION,
                "copyright",
-               _("\xc2\xa9 1996-2005 The Evince authors"),
+               _("\xc2\xa9 1996-2007 The Evince authors"),
                "license", license_trans,
                "website", "http://www.gnome.org/projects/evince",
                "comments", comments,
@@ -4616,7 +4636,11 @@ ev_window_init (EvWindow *ev_window)
        g_signal_connect_swapped (G_OBJECT (ev_window->priv->view), "drag-data-received",
                                  G_CALLBACK (drag_data_received_cb),
                                  ev_window);
-       
+
+       /* Screensaver */
+
+       ev_window->priv->screensaver = totem_scrsaver_new ();
+
        /* Set it user interface params */
 
        ev_window_setup_recent (ev_window);