summaryrefslogtreecommitdiff
path: root/shell/ev-window.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r--shell/ev-window.c100
1 files changed, 55 insertions, 45 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c
index a466bffa..5281acda 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -418,7 +418,6 @@ ev_window_set_action_sensitive (EvWindow *ev_window,
G_GNUC_END_IGNORE_DEPRECATIONS;
}
-
static void
ev_window_setup_action_sensitivity (EvWindow *ev_window)
{
@@ -538,7 +537,7 @@ ev_window_update_actions (EvWindow *ev_window)
page = ev_document_model_get_page (ev_window->priv->model);
n_pages = ev_document_get_n_pages (ev_window->priv->document);
has_pages = n_pages > 0;
- dual_mode = ev_document_model_get_dual_page (ev_window->priv->model);
+ dual_mode = ev_document_model_get_page_layout (ev_window->priv->model);
}
#if ENABLE_EPUB
if (ev_window->priv->document && ev_window->priv->document->iswebdocument == TRUE ) {
@@ -1555,7 +1554,6 @@ ev_window_setup_default (EvWindow *ev_window)
ev_document_model_set_scale (model, g_settings_get_double (settings, "zoom"));
}
-
static void
ev_window_clear_thumbnail_job (EvWindow *ev_window)
{
@@ -1594,7 +1592,8 @@ ev_window_refresh_window_thumbnail (EvWindow *ev_window)
EvDocument *document = ev_window->priv->document;
if (!document || ev_document_get_n_pages (document) <= 0 ||
- !ev_document_check_dimensions (document)) {
+ !ev_document_check_dimensions (document) ||
+ document->iswebdocument) {
return;
}
@@ -1787,6 +1786,14 @@ ev_window_set_document (EvWindow *ev_window, EvDocument *document)
ev_view_disconnect_handlers(EV_VIEW(ev_window->priv->view));
g_object_unref(ev_window->priv->view);
ev_window->priv->view = NULL;
+
+ if (ev_window->priv->webview == NULL)
+ {
+ ev_window->priv->webview = ev_web_view_new();
+ ev_web_view_set_model(EV_WEB_VIEW(ev_window->priv->webview),ev_window->priv->model);
+ ev_web_view_reload(EV_WEB_VIEW(ev_window->priv->webview));
+ }
+
gtk_container_add (GTK_CONTAINER (ev_window->priv->scrolled_window),
ev_window->priv->webview);
gtk_widget_show(ev_window->priv->webview);
@@ -2166,6 +2173,19 @@ show_loading_progress (EvWindow *ev_window)
return FALSE;
}
+#if !GLIB_CHECK_VERSION(2, 62, 0)
+/* Non-year-2038-proof compatibility with GLib < 2.62 */
+static GDateTime *
+_g_file_info_get_modification_date_time (GFileInfo *info)
+{
+ GTimeVal mtime;
+
+ g_file_info_get_modification_time (info, &mtime);
+ return g_date_time_new_from_timeval_utc (&mtime);
+}
+#define g_file_info_get_modification_date_time _g_file_info_get_modification_date_time
+#endif
+
static void
ev_window_load_remote_failed (EvWindow *ev_window,
GError *error)
@@ -3580,9 +3600,12 @@ ev_window_print_update_pending_jobs_message (EvWindow *ev_window,
}
if (n_jobs > 1) {
- text = g_strdup_printf (ngettext ("%d pending job in queue",
- "%d pending jobs in queue",
- n_jobs - 1), n_jobs - 1);
+ gulong n = (gulong) (n_jobs - 1);
+ text = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
+ "%lu pending job in queue",
+ "%lu pending jobs in queue",
+ n),
+ n);
}
ev_message_area_set_secondary_text (EV_MESSAGE_AREA (ev_window->priv->message_area),
@@ -3625,7 +3648,6 @@ ev_window_print_operation_done (EvPrintOperation *op,
GtkWidget *dialog;
GError *error = NULL;
-
ev_print_operation_get_error (op, &error);
/* The message area is already used by
@@ -3880,7 +3902,6 @@ ev_window_check_document_modified (EvWindow *ev_window)
return FALSE;
}
-
text = g_markup_printf_escaped (_("Save a copy of document “%s” before closing?"),
gtk_window_get_title (GTK_WINDOW (ev_window)));
@@ -3979,12 +4000,13 @@ ev_window_check_print_queue (EvWindow *ev_window)
/* TRANS: the singular form is not really used as n_print_jobs > 1
but some languages distinguish between different plurals forms,
so the ngettext is needed. */
- text = g_strdup_printf (ngettext("There is %d print job active. "
- "Wait until print finishes before closing?",
- "There are %d print jobs active. "
- "Wait until print finishes before closing?",
- n_print_jobs),
- n_print_jobs);
+ text = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
+ "There is %d print job active. "
+ "Wait until print finishes before closing?",
+ "There are %d print jobs active. "
+ "Wait until print finishes before closing?",
+ (gulong) n_print_jobs),
+ n_print_jobs);
}
markup = g_strdup_printf ("<b>%s</b>", text);
@@ -4402,7 +4424,6 @@ ev_window_inhibit_screensaver (EvWindow *window)
_("Running in presentation mode"));
}
-
static void
ev_window_uninhibit_screensaver (EvWindow *window)
{
@@ -4715,7 +4736,6 @@ ev_window_set_page_mode (EvWindow *window,
ev_window_update_actions (window);
}
-
static void
ev_window_cmd_edit_rotate_left (GtkAction *action, EvWindow *ev_window)
{
@@ -4824,7 +4844,7 @@ ev_window_cmd_edit_save_settings (GtkAction *action, EvWindow *ev_window)
g_settings_set_boolean (settings, "continuous",
ev_document_model_get_continuous (model));
g_settings_set_boolean (settings, "dual-page",
- ev_document_model_get_dual_page (model));
+ ev_document_model_get_page_layout (model));
g_settings_set_boolean (settings, "dual-page-odd-left",
ev_document_model_get_dual_page_odd_pages_left (model));
g_settings_set_boolean (settings, "fullscreen",
@@ -5313,7 +5333,7 @@ ev_window_update_dual_page_action (EvWindow *window)
g_signal_handlers_block_by_func
(action, G_CALLBACK (ev_window_cmd_dual), window);
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
- ev_document_model_get_dual_page (window->priv->model));
+ ev_document_model_get_page_layout (window->priv->model));
G_GNUC_END_IGNORE_DEPRECATIONS;
g_signal_handlers_unblock_by_func
(action, G_CALLBACK (ev_window_cmd_dual), window);
@@ -5328,7 +5348,7 @@ ev_window_dual_mode_changed_cb (EvDocumentModel *model,
if (ev_window->priv->metadata && !ev_window_is_empty (ev_window))
ev_metadata_set_boolean (ev_window->priv->metadata, "dual-page",
- ev_document_model_get_dual_page (model));
+ ev_document_model_get_page_layout (model));
}
static void
@@ -5444,9 +5464,9 @@ ev_window_cmd_help_about (GtkAction *action, EvWindow *ev_window)
"version", VERSION,
"title", _("About Atril Document Viewer"),
"copyright", _("Copyright \xc2\xa9 1996–2009 The Evince authors\n"
- "Copyright \xc2\xa9 2012–2020 The MATE developers"),
+ "Copyright \xc2\xa9 2012–2021 The MATE developers"),
"license", license_trans,
- "website", "https://mate-desktop.org/",
+ "website", PACKAGE_URL,
"comments", comments,
"authors", authors,
"documenters", documenters,
@@ -5744,10 +5764,11 @@ ev_window_update_find_status_message (EvWindow *ev_window)
/* TRANS: Sometimes this could be better translated as
"%d hit(s) on this page". Therefore this string
contains plural cases. */
- message = g_strdup_printf (ngettext ("%d found on this page",
- "%d found on this page",
- n_results),
- n_results);
+ message = g_strdup_printf (g_dngettext (GETTEXT_PACKAGE,
+ "%d found on this page",
+ "%d found on this page",
+ (gulong) n_results),
+ n_results);
} else {
message = g_strdup (_("Not found"));
}
@@ -5964,7 +5985,6 @@ zoom_control_changed_cb (EphyZoomAction *action,
* the new expanded window size.
*/
-
if (ev_window->priv->chrome & EV_CHROME_SIDEBAR)
{
GtkAllocation alloc;
@@ -6429,12 +6449,12 @@ ev_window_class_init (EvWindowClass *ev_window_class)
/* Normal items */
static const GtkActionEntry entries[] = {
- { "File", NULL, N_("_File") },
- { "Edit", NULL, N_("_Edit") },
- { "View", NULL, N_("_View") },
- { "Go", NULL, N_("_Go") },
- { "Bookmarks", NULL, N_("_Bookmarks") },
- { "Help", NULL, N_("_Help") },
+ { "File", NULL, N_("_File"), NULL, NULL, NULL },
+ { "Edit", NULL, N_("_Edit"), NULL, NULL, NULL },
+ { "View", NULL, N_("_View"), NULL, NULL, NULL },
+ { "Go", NULL, N_("_Go"), NULL, NULL, NULL },
+ { "Bookmarks", NULL, N_("_Bookmarks"), NULL, NULL, NULL },
+ { "Help", NULL, N_("_Help"), NULL, NULL, NULL },
/* File menu */
{ "FileOpen", "document-open", N_("_Open…"), "<control>O",
@@ -6478,7 +6498,6 @@ static const GtkActionEntry entries[] = {
{ "EditSaveSettings", NULL, N_("Save Current Settings as _Default"), "<control>T", NULL,
G_CALLBACK (ev_window_cmd_edit_save_settings) },
-
/* View menu */
{ "ViewZoomIn", "zoom-in", N_("Zoom _In"), "<control>plus",
N_("Enlarge the document"),
@@ -7733,7 +7752,6 @@ ev_window_emit_doc_loaded (EvWindow *window)
ev_atril_window_emit_document_loaded (window->priv->skeleton, window->priv->uri);
}
-
#ifdef ENABLE_SYNCTEX
static gboolean
handle_sync_view_cb (EvAtrilWindow *object,
@@ -7787,7 +7805,6 @@ ev_window_init (EvWindow *ev_window)
GtkCssProvider *css_provider;
GError *error = NULL;
GtkWidget *sidebar_widget;
- GtkWidget *menuitem;
GtkWidget *overlay;
GObject *mpkeys;
guint page_cache_mb;
@@ -7923,12 +7940,6 @@ ev_window_init (EvWindow *ev_window)
gtk_box_pack_start (GTK_BOX (ev_window->priv->main_box),
ev_window->priv->menubar,
FALSE, FALSE, 0);
- menuitem = gtk_ui_manager_get_widget (ev_window->priv->ui_manager,
- "/MainMenu/EditMenu/EditRotateLeftMenu");
- gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
- menuitem = gtk_ui_manager_get_widget (ev_window->priv->ui_manager,
- "/MainMenu/EditMenu/EditRotateRightMenu");
- gtk_image_menu_item_set_always_show_image (GTK_IMAGE_MENU_ITEM (menuitem), TRUE);
ev_window->priv->toolbars_model = get_toolbars_model ();
ev_window->priv->toolbar = GTK_WIDGET
@@ -8084,9 +8095,8 @@ ev_window_init (EvWindow *ev_window)
ev_window->priv->view = ev_view_new ();
-#if ENABLE_EPUB /*The webview, we won't add it now but it will replace the atril-view if a web(epub) document is encountered.*/
- ev_window->priv->webview = ev_web_view_new();
- ev_web_view_set_model(EV_WEB_VIEW(ev_window->priv->webview),ev_window->priv->model);
+#if ENABLE_EPUB /* The webview is created in ev_window_set_document only if the document is a webdocument. */
+ ev_window->priv->webview = NULL;
#endif
page_cache_mb = g_settings_get_uint (ev_window_ensure_settings (ev_window),
GS_PAGE_CACHE_SIZE);