]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-window.c
Fix several history bugs
[evince.git] / shell / ev-window.c
index ff4c5d2417bd1c1fe786a56d63cdcab7acdc3b6a..64b80c33abdd79d5002eea9572012af1d383b783 100644 (file)
@@ -32,7 +32,7 @@
 #include "ev-navigation-action.h"
 #include "ev-page-action.h"
 #include "ev-sidebar.h"
-#include "ev-sidebar-bookmarks.h"
+#include "ev-sidebar-links.h"
 #include "ev-sidebar-thumbnails.h"
 #include "ev-view.h"
 #include "ev-print-job.h"
@@ -190,6 +190,12 @@ update_action_sensitivity (EvWindow *ev_window)
        set_action_sensitive (ev_window, "GoLastPage", page < n_pages);
 }
 
+void
+ev_window_open_link (EvWindow *ev_window, EvLink *link)
+{
+       ev_view_go_to_link (EV_VIEW (ev_window->priv->view), link);
+}
+
 gboolean
 ev_window_is_empty (const EvWindow *ev_window)
 {
@@ -866,7 +872,7 @@ ev_window_cmd_go_back (GtkAction *action, EvWindow *ev_window)
 {
         g_return_if_fail (EV_IS_WINDOW (ev_window));
 
-        /* FIXME */
+       ev_view_go_back (EV_VIEW (ev_window->priv->view));
 }
 
 static void
@@ -874,7 +880,7 @@ ev_window_cmd_go_forward (GtkAction *action, EvWindow *ev_window)
 {
         g_return_if_fail (EV_IS_WINDOW (ev_window));
 
-        /* FIXME */
+       ev_view_go_forward (EV_VIEW (ev_window->priv->view));
 }
 
 static void
@@ -1323,8 +1329,11 @@ static GtkToggleActionEntry toggle_entries[] = {
 static void
 goto_page_cb (GtkAction *action, int page_number, EvWindow *ev_window)
 {
+       EvView *view = EV_VIEW (ev_window->priv->view);
 
-       ev_view_set_page (EV_VIEW (ev_window->priv->view), page_number);
+       if (ev_view_get_page (view) != page_number) {
+               ev_view_set_page (view, page_number);
+       }
 }
 
 static void
@@ -1341,6 +1350,8 @@ register_custom_actions (EvWindow *window, GtkActionGroup *group)
                               "direction", EV_NAVIGATION_DIRECTION_BACK,
                               "is_important", TRUE,
                               NULL);
+       g_signal_connect (action, "activate",
+                         G_CALLBACK (ev_window_cmd_go_back), window);
        gtk_action_group_add_action (group, action);
        g_object_unref (action);
 
@@ -1352,6 +1363,8 @@ register_custom_actions (EvWindow *window, GtkActionGroup *group)
                               "arrow-tooltip", _("Forward history"),
                               "direction", EV_NAVIGATION_DIRECTION_FORWARD,
                               NULL);
+       g_signal_connect (action, "activate",
+                         G_CALLBACK (ev_window_cmd_go_forward), window);
        gtk_action_group_add_action (group, action);
        g_object_unref (action);
 
@@ -1439,11 +1452,11 @@ ev_window_init (EvWindow *ev_window)
                        ev_window->priv->sidebar);
 
        /* Stub sidebar, for now */
-       sidebar_widget = ev_sidebar_bookmarks_new ();
+       sidebar_widget = ev_sidebar_links_new ();
        gtk_widget_show (sidebar_widget);
        ev_sidebar_add_page (EV_SIDEBAR (ev_window->priv->sidebar),
-                            "bookmarks",
-                            _("Bookmarks"),
+                            "index",
+                            _("Index"),
                             sidebar_widget);
 
        sidebar_widget = ev_sidebar_thumbnails_new ();