]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
intltool-update de
[evince.git] / shell / ev-window.c
index 233067b398dfd5214bf591e835374d003bb67646..1032d5186cc25a7107a8bbd9c9b224ed1835e7ae 100644 (file)
@@ -97,7 +97,9 @@
 #include <string.h>
 #include <unistd.h>
 
+#if !GLIB_CHECK_VERSION (2, 13, 3)
 char *xdg_user_dir_lookup (char *type);
+#endif
 
 typedef enum {
        PAGE_MODE_DOCUMENT,
@@ -211,7 +213,7 @@ struct _EvWindowPrivate {
 #define GCONF_LOCKDOWN_SAVE         "/desktop/gnome/lockdown/disable_save_to_disk"
 #define GCONF_LOCKDOWN_PRINT        "/desktop/gnome/lockdown/disable_printing"
 
-#define PRESENTATION_TIMEOUT 5 * 1000
+#define PRESENTATION_TIMEOUT 5
 
 #define SIDEBAR_DEFAULT_SIZE    132
 #define LINKS_SIDEBAR_ID "links"
@@ -506,7 +508,7 @@ update_chrome_visibility (EvWindow *window)
        fullscreen_toolbar = ((priv->chrome & EV_CHROME_FULLSCREEN_TOOLBAR) != 0 || 
                              (priv->chrome & EV_CHROME_RAISE_TOOLBAR) != 0) && fullscreen;
        findbar = (priv->chrome & EV_CHROME_FINDBAR) != 0;
-       sidebar = (priv->chrome & EV_CHROME_SIDEBAR) != 0 && !fullscreen_mode;
+       sidebar = (priv->chrome & EV_CHROME_SIDEBAR) != 0 && !presentation;
        preview_toolbar = (priv->chrome& EV_CHROME_PREVIEW_TOOLBAR);
 
        set_widget_visibility (priv->menubar, menubar); 
@@ -1506,6 +1508,8 @@ file_open_dialog_response_cb (GtkWidget *chooser,
                              gint       response_id,
                              EvWindow  *ev_window)
 {
+       gchar *uri;
+
        if (response_id == GTK_RESPONSE_OK) {
                GSList *uris;
 
@@ -1518,8 +1522,10 @@ file_open_dialog_response_cb (GtkWidget *chooser,
                g_slist_foreach (uris, (GFunc)g_free, NULL);    
                g_slist_free (uris);
        }
-       ev_application_set_chooser_uri (EV_APP, 
-                                       gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (chooser)));
+
+       uri = gtk_file_chooser_get_uri (GTK_FILE_CHOOSER (chooser));
+       ev_application_set_chooser_uri (EV_APP, uri);
+       g_free (uri);
 
        gtk_widget_destroy (chooser);
 }
@@ -1547,12 +1553,20 @@ ev_window_cmd_file_open (GtkAction *action, EvWindow *window)
                gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (chooser),
                                          window->priv->uri);
        } else {
+#if GLIB_CHECK_VERSION (2, 13, 3)
+               const gchar *folder;
+
+               folder = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
+               gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser),
+                                                    folder ? folder : g_get_home_dir ());
+#else
                char *folder;
                
                folder = xdg_user_dir_lookup ("DOCUMENTS");
                gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (chooser),
                                                     folder);
                free (folder);
+#endif
        }
        
        g_signal_connect (chooser, "response",
@@ -2086,7 +2100,11 @@ ev_window_cmd_save_as (GtkAction *action, EvWindow *ev_window)
        GtkWidget *fc;
        gchar *base_name;
        gchar *file_name;
+#if GLIB_CHECK_VERSION (2, 13, 3)
+       const gchar *folder;
+#else
        gchar *folder;
+#endif
 
        fc = gtk_file_chooser_dialog_new (
                _("Save a Copy"),
@@ -2102,12 +2120,20 @@ ev_window_cmd_save_as (GtkAction *action, EvWindow *ev_window)
        gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (fc), TRUE);   
        file_name = gnome_vfs_format_uri_for_display (ev_window->priv->uri);
        base_name = g_path_get_basename (file_name);
-        folder = xdg_user_dir_lookup ("DOCUMENTS");
        gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (fc), base_name);
+       
+#if GLIB_CHECK_VERSION (2, 13, 3)
+       folder = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
+       gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fc),
+                                            folder ? folder : g_get_home_dir ());
+#else
+       folder = xdg_user_dir_lookup ("DOCUMENTS");
         gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fc), folder);
+       free (folder);
+#endif
+       
        g_free (file_name);
        g_free (base_name);
-        free (folder);
         
        g_signal_connect (fc, "response",
                          G_CALLBACK (file_save_dialog_response_cb),
@@ -2902,9 +2928,16 @@ presentation_set_timeout (EvWindow *window)
        if (window->priv->presentation_timeout_id > 0) {
                g_source_remove (window->priv->presentation_timeout_id);
        }
-       
+
+#if GLIB_CHECK_VERSION (2, 13, 0)
+       window->priv->presentation_timeout_id =
+               g_timeout_add_seconds (PRESENTATION_TIMEOUT,
+                                      (GSourceFunc)presentation_timeout_cb, window);
+#else
        window->priv->presentation_timeout_id = 
-           g_timeout_add (PRESENTATION_TIMEOUT, (GSourceFunc)presentation_timeout_cb, window);
+           g_timeout_add (PRESENTATION_TIMEOUT * 1000,
+                          (GSourceFunc)presentation_timeout_cb, window);
+#endif 
 
        ev_view_show_cursor (EV_VIEW (window->priv->view));
 }
@@ -3799,9 +3832,7 @@ ev_window_sidebar_visibility_changed_cb (EvSidebar  *ev_sidebar,
 
        action = gtk_action_group_get_action (ev_window->priv->action_group, "ViewSidebar");
 
-       if (!ev_view_get_presentation (view) && 
-           !ev_view_get_fullscreen (view)) {
-
+       if (!ev_view_get_presentation (view)) {
                gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
                                              GTK_WIDGET_VISIBLE (ev_sidebar));