]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-view.c
[comics] Unified command scheme to run extractor
[evince.git] / libview / ev-view.c
index 60a58af8c72660903ac18a9673976260a92957d1..83e45189ef9896a1795443f3850071435cb3466d 100644 (file)
@@ -3800,7 +3800,7 @@ ev_view_key_press_event (GtkWidget   *widget,
        if (!view->document)
                return FALSE;
 
-       if (!view->presentation) {
+       if (!GTK_WIDGET_HAS_FOCUS (widget)) {
                /* Forward key events to current focused window child */
                if (view->window_child_focus) {
                        GdkEventKey *new_event;
@@ -3815,7 +3815,12 @@ ev_view_key_press_event (GtkWidget   *widget,
 
                        return handled;
                }
-       } else if (view->presentation_state == EV_PRESENTATION_END)
+
+               return FALSE;
+       }
+
+       if (!view->presentation ||
+           view->presentation_state == EV_PRESENTATION_END)
                return gtk_bindings_activate_event (GTK_OBJECT (widget), event);
 
 
@@ -4546,6 +4551,8 @@ ev_view_init (EvView *view)
 {
        GTK_WIDGET_SET_FLAGS (view, GTK_CAN_FOCUS);
 
+       view->start_page = -1;
+       view->end_page = -1;
        view->spacing = 5;
        view->scale = 1.0;
        view->current_page = 0;
@@ -4885,6 +4892,8 @@ ev_view_set_document (EvView     *view,
                        setup_caches (view);
                 }
 
+               view_update_range_and_current_page (view);
+
                gtk_widget_queue_resize (GTK_WIDGET (view));
        }
 }