+static void
+goto_page_cb (GtkAction *action, int page_number, EvWindow *ev_window)
+{
+ EvView *view = EV_VIEW (ev_window->priv->view);
+
+ if (ev_view_get_page (view) != page_number) {
+ ev_view_set_page (view, page_number);
+ }
+}
+
+static void
+register_custom_actions (EvWindow *window, GtkActionGroup *group)
+{
+ GtkAction *action;
+
+ action = g_object_new (EV_TYPE_NAVIGATION_ACTION,
+ "name", NAVIGATION_BACK_ACTION,
+ "label", _("Back"),
+ "stock_id", GTK_STOCK_GO_BACK,
+ "tooltip", _("Go back"),
+ "arrow-tooltip", _("Back history"),
+ "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);
+
+ action = g_object_new (EV_TYPE_NAVIGATION_ACTION,
+ "name", NAVIGATION_FORWARD_ACTION,
+ "label", _("Forward"),
+ "stock_id", GTK_STOCK_GO_FORWARD,
+ "tooltip", _("Go forward"),
+ "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);
+
+ action = g_object_new (EV_TYPE_PAGE_ACTION,
+ "name", PAGE_SELECTOR_ACTION,
+ "label", _("Page"),
+ "tooltip", _("Select Page"),
+ NULL);
+ g_signal_connect (action, "goto_page",
+ G_CALLBACK (goto_page_cb), window);
+ gtk_action_group_add_action (group, action);
+ g_object_unref (action);
+}
+
+static void
+set_short_labels (GtkActionGroup *action_group)
+{
+ GtkAction *action;
+
+ action = gtk_action_group_get_action (action_group, "GoPageUp");
+ g_object_set (action, "short_label", _("Up"), NULL);
+ action = gtk_action_group_get_action (action_group, "GoPageDown");
+ g_object_set (action, "short_label", _("Down"), NULL);
+ action = gtk_action_group_get_action (action_group, "ViewPageWidth");
+ g_object_set (action, "short_label", _("Fit Width"), NULL);
+}
+