]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
Updating Estonian translation
[evince.git] / shell / ev-window.c
index d7565fffe46562bd568a290b07c6d5765f2a8302..37148318272a51244faacdac5737b2835550edf0 100644 (file)
@@ -853,6 +853,14 @@ view_handle_link_cb (EvView *view, EvLink *link, EvWindow *window)
        ev_window_add_history (window, current_page, NULL);
 }
 
+static void
+view_selection_changed_cb (EvView   *view,
+                          EvWindow *window)
+{
+       ev_window_set_action_sensitive (window, "EditCopy",
+                                       ev_view_get_has_selection (view));
+}
+
 static void
 ev_window_page_changed_cb (EvWindow        *ev_window,
                           gint             old_page,
@@ -3577,6 +3585,12 @@ ev_window_update_presentation_action (EvWindow *window)
                (action, G_CALLBACK (ev_window_cmd_view_presentation), window);
 }
 
+static void
+ev_window_view_presentation_finished (EvWindow *window)
+{
+       ev_window_stop_presentation (window, TRUE);
+}
+
 static void
 ev_window_run_presentation (EvWindow *window)
 {
@@ -3596,6 +3610,9 @@ ev_window_run_presentation (EvWindow *window)
        rotation = ev_document_model_get_rotation (window->priv->model);
        window->priv->presentation_view =
                ev_view_presentation_new (window->priv->document, current_page, rotation);
+       g_signal_connect_swapped (window->priv->presentation_view, "finished",
+                                 G_CALLBACK (ev_window_view_presentation_finished),
+                                 window);
 
        gtk_box_pack_start (GTK_BOX (window->priv->main_box),
                            window->priv->presentation_view,
@@ -4143,12 +4160,6 @@ ev_window_inverted_colors_changed_cb (EvDocumentModel *model,
        ev_window_refresh_window_thumbnail (window);
 }
 
-static void
-ev_window_has_selection_changed_cb (EvView *view, GParamSpec *pspec, EvWindow *window)
-{
-        ev_window_update_actions (window);
-}
-
 static void
 ev_window_dual_mode_changed_cb (EvDocumentModel *model,
                                GParamSpec      *pspec,
@@ -6278,10 +6289,12 @@ ev_window_init (EvWindow *ev_window)
        g_signal_connect_object (ev_window->priv->view, "handle-link",
                                 G_CALLBACK (view_handle_link_cb),
                                 ev_window, 0);
-       g_signal_connect_object (ev_window->priv->view,
-                                "popup",
+       g_signal_connect_object (ev_window->priv->view, "popup",
                                 G_CALLBACK (view_menu_popup_cb),
                                 ev_window, 0);
+       g_signal_connect_object (ev_window->priv->view, "selection-changed",
+                                G_CALLBACK (view_selection_changed_cb),
+                                ev_window, 0);
        gtk_widget_show (ev_window->priv->view);
        gtk_widget_show (ev_window->priv->password_view);
 
@@ -6327,16 +6340,10 @@ ev_window_init (EvWindow *ev_window)
                          "notify::dual-page",
                          G_CALLBACK (ev_window_dual_mode_changed_cb),
                          ev_window);
-
-       /* Connect to view signals */
        g_signal_connect (ev_window->priv->model,
                          "notify::inverted-colors",
                          G_CALLBACK (ev_window_inverted_colors_changed_cb),
                          ev_window);
-       g_signal_connect (ev_window->priv->view,
-                         "notify::has-selection",
-                         G_CALLBACK (ev_window_has_selection_changed_cb),
-                         ev_window);
 
        /* Connect sidebar signals */
        g_signal_connect (ev_window->priv->sidebar,