GtkWidget *page_view;
GtkWidget *password_view;
GtkWidget *statusbar;
+ GtkWidget *sidebar_thumbs;
/* Dialogs */
EvProperties *properties;
static void
update_document_mode (EvWindow *window, EvDocumentMode mode)
{
- if (mode == EV_DOCUMENT_MODE_FULL_SCREEN) {
- ev_window_fullscreen (window);
- } else if (mode == EV_DOCUMENT_MODE_PRESENTATION) {
+ if (mode == EV_DOCUMENT_MODE_PRESENTATION) {
ev_window_run_presentation (window);
}
+ else if (mode == EV_DOCUMENT_MODE_FULL_SCREEN) {
+ ev_window_fullscreen (window);
+ }
}
static void
G_CALLBACK (ev_window_load_job_cb),
ev_window);
ev_job_queue_add_job (ev_window->priv->load_job, EV_JOB_PRIORITY_HIGH);
+ g_object_unref (document);
}
}
ev_window_cmd_edit_rotate_left (GtkAction *action, EvWindow *ev_window)
{
ev_view_rotate_left (EV_VIEW (ev_window->priv->view));
+ ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (ev_window->priv->sidebar_thumbs));
}
static void
ev_window_cmd_edit_rotate_right (GtkAction *action, EvWindow *ev_window)
{
ev_view_rotate_right (EV_VIEW (ev_window->priv->view));
+ ev_sidebar_thumbnails_refresh (EV_SIDEBAR_THUMBNAILS (ev_window->priv->sidebar_thumbs));
}
static void
ev_page_cache_set_current_page (ev_window->priv->page_cache, n_pages - 1);
}
+static void
+ev_window_cmd_go_forward (GtkAction *action, EvWindow *ev_window)
+{
+ int n_pages, current_page;
+
+ g_return_if_fail (EV_IS_WINDOW (ev_window));
+
+ n_pages = ev_page_cache_get_n_pages (ev_window->priv->page_cache);
+ current_page = ev_page_cache_get_current_page (ev_window->priv->page_cache);
+
+ if (current_page + 10 < n_pages)
+ ev_page_cache_set_current_page (ev_window->priv->page_cache, current_page + 10);
+}
+
+static void
+ev_window_cmd_go_backward (GtkAction *action, EvWindow *ev_window)
+{
+ int current_page;
+
+ g_return_if_fail (EV_IS_WINDOW (ev_window));
+
+ current_page = ev_page_cache_get_current_page (ev_window->priv->page_cache);
+
+ if (current_page - 10 >= 0)
+ ev_page_cache_set_current_page (ev_window->priv->page_cache, current_page - 10);
+}
+
static void
ev_window_cmd_view_reload (GtkAction *action, EvWindow *ev_window)
{
{ "Plus", GTK_STOCK_ZOOM_IN, NULL, "plus",
N_("Enlarge the document"),
G_CALLBACK (ev_window_cmd_view_zoom_in) },
+ { "CtrlEqual", GTK_STOCK_ZOOM_IN, NULL, "<control>equal",
+ N_("Enlarge the document"),
+ G_CALLBACK (ev_window_cmd_view_zoom_in) },
{ "Minus", GTK_STOCK_ZOOM_OUT, NULL, "minus",
N_("Shrink the document"),
G_CALLBACK (ev_window_cmd_view_zoom_out) },
{ "FocusPageSelector", NULL, "", "<control>l",
N_("Focus the page selector"),
- G_CALLBACK (ev_window_cmd_focus_page_selector) }
+ G_CALLBACK (ev_window_cmd_focus_page_selector) },
+ { "GoBackwardFast", NULL, "", "<shift>Page_Up",
+ N_("Go ten pages backward"),
+ G_CALLBACK (ev_window_cmd_go_backward) },
+ { "GoForwardFast", NULL, "", "<shift>Page_Down",
+ N_("Go ten pages forward"),
+ G_CALLBACK (ev_window_cmd_go_forward) },
};
/* Toggle items */
action = gtk_action_group_get_action (ev_window->priv->action_group, PAGE_SELECTOR_ACTION);
ev_page_action_set_model (EV_PAGE_ACTION (action), model);
+ g_object_unref (model);
}
g_object_get (ev_sidebar_page, "main_widget", &widget, NULL);
- if (widget != NULL) {
- g_signal_connect_object (widget, "focus_in_event",
- G_CALLBACK (view_actions_focus_in_cb),
+ if (widget != NULL) {
+ g_signal_connect_object (widget, "focus_in_event",
+ G_CALLBACK (view_actions_focus_in_cb),
ev_window, 0);
- g_signal_connect_object (widget, "focus_out_event",
- G_CALLBACK (view_actions_focus_out_cb),
+ g_signal_connect_object (widget, "focus_out_event",
+ G_CALLBACK (view_actions_focus_out_cb),
ev_window, 0);
+ g_object_unref (widget);
}
}
sidebar_widget);
sidebar_widget = ev_sidebar_thumbnails_new ();
+ ev_window->priv->sidebar_thumbs = sidebar_widget;
g_signal_connect (sidebar_widget,
"notify::main-widget",
G_CALLBACK (sidebar_page_main_widget_update_cb),