]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
*** empty log message ***
[evince.git] / shell / ev-window.c
index 15d671f5e938d164a1f0200a28729875591a29ff..a3a4457d8e8ed7b0488b19aa93fcb3e68f56c469 100644 (file)
@@ -309,8 +309,8 @@ update_action_sensitivity (EvWindow *ev_window)
 
         /* Go menu */
        if (document) {
-               set_action_sensitive (ev_window, "GoPreviousPage", ev_view_can_previous_page (view));
-               set_action_sensitive (ev_window, "GoNextPage", ev_view_can_next_page (view));
+               set_action_sensitive (ev_window, "GoPreviousPage", page > 0);
+               set_action_sensitive (ev_window, "GoNextPage", page < n_pages - 1);
                set_action_sensitive (ev_window, "GoFirstPage", page > 0);
                set_action_sensitive (ev_window, "GoLastPage", page < n_pages - 1);
        } else {
@@ -751,14 +751,14 @@ setup_view_from_metadata (EvWindow *window)
 
        /* Presentation */
        if (ev_metadata_manager_get (uri, "presentation", &presentation, FALSE)) {
-               if (g_value_get_boolean (&presentation)) {
+               if (g_value_get_boolean (&presentation) && uri) {
                        ev_window_run_presentation (window);
                }
        }
 
        /* Fullscreen */
        if (ev_metadata_manager_get (uri, "fullscreen", &fullscreen, FALSE)) {
-               if (g_value_get_boolean (&fullscreen)) {
+               if (g_value_get_boolean (&fullscreen) && uri) {
                        ev_window_run_fullscreen (window);
                }
        }
@@ -1093,6 +1093,8 @@ 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)));
 
        gtk_widget_destroy (chooser);
 }
@@ -1113,7 +1115,10 @@ ev_window_cmd_file_open (GtkAction *action, EvWindow *window)
        ev_document_types_add_filters (chooser, NULL);
        gtk_file_chooser_set_select_multiple (GTK_FILE_CHOOSER (chooser), TRUE);
        gtk_file_chooser_set_local_only (GTK_FILE_CHOOSER (chooser), FALSE);
-
+       if (ev_application_get_chooser_uri (EV_APP) != NULL)
+               gtk_file_chooser_set_uri (GTK_FILE_CHOOSER (chooser),
+                                         ev_application_get_chooser_uri (EV_APP));
+       
        g_signal_connect (chooser, "response",
                          G_CALLBACK (file_open_dialog_response_cb),
                          window);
@@ -2487,6 +2492,9 @@ view_menu_popup_cb (EvView         *view,
        gboolean   show_external = FALSE;
        gboolean   show_internal = FALSE;
        GtkAction *action;
+
+       if (ev_view_get_presentation (EV_VIEW (ev_window->priv->view)))
+               return FALSE;
        
        if (ev_window->priv->link)
                g_object_unref (ev_window->priv->link);
@@ -2530,7 +2538,7 @@ view_menu_popup_cb (EvView         *view,
        gtk_menu_popup (GTK_MENU (popup), NULL, NULL,
                        NULL, NULL,
                        3, gtk_get_current_event_time ());
-       return TRUE;
+       return FALSE;
 }
 
 static void