X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window.c;h=bc7d1513f2b922573d8e4adb863c1e37216aa1be;hb=6821de696db5b2d3225015b01d428ba8a0302960;hp=92f5089d150487e3da417b7c2dfba0fbe9834309;hpb=4a0680e34b63098c3d8b6a48b613958acd3e47a9;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 92f5089d..bc7d1513 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -992,10 +992,12 @@ setup_document_from_metadata (EvWindow *window) request_width = MIN (request_width, gdk_screen_get_width (screen)); request_height = MIN (request_width, gdk_screen_get_height (screen)); } - - gtk_window_resize (GTK_WINDOW (window), - request_width, - request_height); + + if (request_width > 0 && request_height > 0) { + gtk_window_resize (GTK_WINDOW (window), + request_width, + request_height); + } g_value_unset (&width_ratio); g_value_unset (&height_ratio); } @@ -1157,7 +1159,8 @@ ev_window_refresh_window_thumbnail (EvWindow *ev_window, int rotation) EvDocument *document = ev_window->priv->document; if (!EV_IS_DOCUMENT_THUMBNAILS (document) || - ev_page_cache_get_n_pages (ev_window->priv->page_cache) <= 0) { + ev_page_cache_get_n_pages (ev_window->priv->page_cache) <= 0 || + ev_page_cache_check_dimensions (ev_window->priv->page_cache)) { return; } @@ -1244,15 +1247,19 @@ ev_window_set_document (EvWindow *ev_window, EvDocument *document) ev_window->priv->dest = NULL; } - if (ev_page_cache_get_n_pages (ev_window->priv->page_cache) > 0) { - ev_view_set_document (view, document); - } else { + if (ev_page_cache_get_n_pages (ev_window->priv->page_cache) <= 0) { ev_window_warning_message (ev_window, "%s", _("The document contains no pages")); + } else if (ev_page_cache_check_dimensions (ev_window->priv->page_cache)) { + ev_window_warning_message (ev_window, "%s", + _("The document contains only empty pages")); + } else { + ev_view_set_document (view, document); } if (ev_window->priv->setup_document_idle > 0) g_source_remove (ev_window->priv->setup_document_idle); + ev_window->priv->setup_document_idle = g_idle_add ((GSourceFunc)ev_window_setup_document, ev_window); } @@ -1586,12 +1593,15 @@ show_loading_progress (EvWindow *ev_window) { GtkWidget *area; gchar *text; + gchar *display_name; if (ev_window->priv->message_area) return FALSE; - - text = g_strdup_printf (_("Loading document from %s"), - ev_window->priv->uri); + + display_name = escape_uri_for_display (ev_window->priv->uri); + text = g_strdup_printf (_("Loading document from “%s”"), + display_name); + area = ev_progress_message_area_new (GTK_STOCK_OPEN, text, GTK_STOCK_CLOSE, @@ -1604,7 +1614,9 @@ show_loading_progress (EvWindow *ev_window) ev_window); gtk_widget_show (area); ev_window_set_message_area (ev_window, area); + g_free (text); + g_free (display_name); return FALSE; }