]> www.fi.muni.cz Git - evince.git/blobdiff - shell/ev-view.c
Reuse g_app_info_launch_default_for_uri to save some code and fix bug
[evince.git] / shell / ev-view.c
index dc1d190f5749b6ba982fcd7c2ac0a6deea3d337f..1a76442a910fb19c53c59407d084f80f6596d372 100644 (file)
@@ -1907,7 +1907,8 @@ ev_view_form_field_choice_changed (GtkWidget   *widget,
                gint item;
                
                item = gtk_combo_box_get_active (GTK_COMBO_BOX (widget));
-               if (GPOINTER_TO_INT (field_choice->selected_items->data) != item) {
+               if (!field_choice->selected_items ||
+                   GPOINTER_TO_INT (field_choice->selected_items->data) != item) {
                        g_list_free (field_choice->selected_items);
                        field_choice->selected_items = NULL;
                        field_choice->selected_items = g_list_prepend (field_choice->selected_items,
@@ -2482,7 +2483,7 @@ ev_view_expose_event (GtkWidget      *widget,
        cairo_t *cr;
        gint     i;
 
-       if (view->animation) {
+       if (view->animation && ev_transition_animation_ready (view->animation)) {
                GdkRectangle page_area;
                GtkBorder    border;
 
@@ -3738,9 +3739,12 @@ draw_one_page (EvView       *view,
                page_surface = ev_pixbuf_cache_get_surface (view->pixbuf_cache, page);
 
                if (!page_surface) {
-                       draw_loading_text (view,
-                                          &real_page_area,
-                                          expose_area);
+                       if (!view->presentation) {
+                               draw_loading_text (view,
+                                                  &real_page_area,
+                                                  expose_area);
+                       }
+
                        *page_ready = FALSE;
 
                        return;
@@ -5329,18 +5333,30 @@ ev_view_find_previous (EvView *view)
        }
 }
 
-void ev_view_search_changed (EvView *view)
+void
+ev_view_search_changed (EvView *view)
 {
        /* search string has changed, focus on new search result */
        view->jump_to_find_result = TRUE;
 }
 
-void ev_view_set_highlight_search (EvView *view, gboolean value)
+void
+ev_view_set_highlight_search (EvView *view, gboolean value)
 {
        view->highlight_find_results = value;
        gtk_widget_queue_draw (GTK_WIDGET (view));
 }
 
+void
+ev_view_find_cancel (EvView *view)
+{
+       if (EV_IS_DOCUMENT_FIND (view->document)) {
+               EvDocumentFind *find = EV_DOCUMENT_FIND (view->document);
+
+               ev_document_find_cancel (find);
+       }
+}
+
 /*** Selections ***/
 
 /* compute_new_selection_rect/text calculates the area currently selected by