X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-view.c;h=3c2090dbbe0398a4912bc69e27b5edf52d7041f3;hb=e47828bd9933f9a44cdfb009fdfcddfcec2748dd;hp=7c009d6b4628e20de429f9245eea0a641889e0bd;hpb=194a13e3f28e0578796101163ddd1ee34b1a16e0;p=evince.git diff --git a/shell/ev-view.c b/shell/ev-view.c index 7c009d6b..3c2090db 100644 --- a/shell/ev-view.c +++ b/shell/ev-view.c @@ -206,7 +206,8 @@ static void draw_one_page (EvView gint page, GdkRectangle *page_area, GtkBorder *border, - GdkRectangle *expose_area); + GdkRectangle *expose_area, + gboolean *page_ready); static void draw_loading_text (EvView *view, GdkRectangle *page_area, GdkRectangle *expose_area); @@ -1236,6 +1237,9 @@ goto_dest (EvView *view, EvLinkDest *dest) case EV_LINK_DEST_TYPE_XYZ: goto_xyz_dest (view, dest); break; + case EV_LINK_DEST_TYPE_PAGE_LABEL: + ev_page_cache_set_page_label (view->page_cache, ev_link_dest_get_page_label (dest)); + break; default: g_assert_not_reached (); } @@ -1333,15 +1337,15 @@ tip_from_action_named (EvLinkAction *action) const gchar *name = ev_link_action_get_name (action); if (g_ascii_strcasecmp (name, "FirstPage") == 0) { - return g_strdup (_("Got to fisrt page")); + return g_strdup (_("Go to first page")); } else if (g_ascii_strcasecmp (name, "PrevPage") == 0) { - return g_strdup (_("Got to previuos page")); + return g_strdup (_("Go to previous page")); } else if (g_ascii_strcasecmp (name, "NextPage") == 0) { - return g_strdup (_("Got to next page")); + return g_strdup (_("Go to next page")); } else if (g_ascii_strcasecmp (name, "LastPage") == 0) { - return g_strdup (_("Got to last page")); + return g_strdup (_("Go to last page")); } else if (g_ascii_strcasecmp (name, "GoToPage") == 0) { - return g_strdup (_("Got to page")); + return g_strdup (_("Go to page")); } else if (g_ascii_strcasecmp (name, "Find") == 0) { return g_strdup (_("Find")); } @@ -1375,10 +1379,10 @@ tip_from_link (EvView *view, EvLink *link) break; case EV_LINK_ACTION_TYPE_GOTO_REMOTE: if (title) { - msg = g_strdup_printf (_("Go to %s on file %s"), title, + msg = g_strdup_printf (_("Go to %s on file “%s”"), title, ev_link_action_get_filename (action)); } else { - msg = g_strdup_printf (_("Go to file %s"), + msg = g_strdup_printf (_("Go to file “%s”"), ev_link_action_get_filename (action)); } @@ -1761,6 +1765,7 @@ ev_view_expose_event (GtkWidget *widget, for (i = view->start_page; i <= view->end_page; i++) { GdkRectangle page_area; GtkBorder border; + gboolean page_ready = TRUE; if (!get_page_extents (view, i, &page_area, &border)) continue; @@ -1768,9 +1773,9 @@ ev_view_expose_event (GtkWidget *widget, page_area.x -= view->scroll_x; page_area.y -= view->scroll_y; - draw_one_page (view, i, &page_area, &border, &(event->area)); + draw_one_page (view, i, &page_area, &border, &(event->area), &page_ready); - if (EV_IS_DOCUMENT_FIND (view->document)) + if (page_ready && EV_IS_DOCUMENT_FIND (view->document)) highlight_find_results (view, i); } @@ -2264,7 +2269,8 @@ draw_one_page (EvView *view, gint page, GdkRectangle *page_area, GtkBorder *border, - GdkRectangle *expose_area) + GdkRectangle *expose_area, + gboolean *page_ready) { gint width, height; GdkPixbuf *current_pixbuf; @@ -2291,6 +2297,7 @@ draw_one_page (EvView *view, real_page_area.y += border->top; real_page_area.width -= (border->left + border->right); real_page_area.height -= (border->top + border->bottom); + *page_ready = TRUE; ev_document_misc_paint_one_page (GTK_WIDGET(view)->window, GTK_WIDGET (view), @@ -2350,6 +2357,7 @@ draw_one_page (EvView *view, draw_loading_text (view, &real_page_area, expose_area); + *page_ready = FALSE; } if (scaled_selection) {