]> www.fi.muni.cz Git - evince.git/blobdiff - libview/ev-view.c
Updated Greek translation.
[evince.git] / libview / ev-view.c
index f69b7b0a634b27a2b147b026ac5cad13c48a4b98..e1c84037e2209902e708ce14e4bee609cfc4e6be 100644 (file)
@@ -2735,7 +2735,9 @@ ev_view_scroll_event (GtkWidget *widget, GdkEventScroll *event)
                state &= ~GDK_SHIFT_MASK;
        }
 
                state &= ~GDK_SHIFT_MASK;
        }
 
-       if (state == 0 && view->presentation) {
+       if (state == 0 &&
+           (view->presentation ||
+            (view->sizing_mode == EV_SIZING_BEST_FIT && !view->continuous))) {
                switch (event->direction) {
                        case GDK_SCROLL_DOWN:
                        case GDK_SCROLL_RIGHT:
                switch (event->direction) {
                        case GDK_SCROLL_DOWN:
                        case GDK_SCROLL_RIGHT:
@@ -3018,26 +3020,28 @@ static void
 start_selection_for_event (EvView         *view,
                           GdkEventButton *event)
 {
 start_selection_for_event (EvView         *view,
                           GdkEventButton *event)
 {
-       EvSelectionStyle style;
-
        clear_selection (view);
        clear_selection (view);
-       
+
        view->selection_info.start.x = event->x + view->scroll_x;
        view->selection_info.start.y = event->y + view->scroll_y;
 
        switch (event->type) {
                case GDK_2BUTTON_PRESS:
        view->selection_info.start.x = event->x + view->scroll_x;
        view->selection_info.start.y = event->y + view->scroll_y;
 
        switch (event->type) {
                case GDK_2BUTTON_PRESS:
-                       style = EV_SELECTION_STYLE_WORD;
+                       view->selection_info.style = EV_SELECTION_STYLE_WORD;
                        break;
                case GDK_3BUTTON_PRESS:
                        break;
                case GDK_3BUTTON_PRESS:
-                       style = EV_SELECTION_STYLE_LINE;
+                       view->selection_info.style = EV_SELECTION_STYLE_LINE;
                        break;
                default:
                        break;
                default:
-                       style = EV_SELECTION_STYLE_GLYPH;
-                       break;
+                       view->selection_info.style = EV_SELECTION_STYLE_GLYPH;
+                       return;
        }
 
        }
 
-       view->selection_info.style = style;
+       /* In case of WORD or LINE, compute selections now */
+       compute_selections (view,
+                           view->selection_info.style,
+                           &(view->selection_info.start),
+                           &(view->selection_info.start));
 }
 
 static gboolean
 }
 
 static gboolean
@@ -3520,14 +3524,6 @@ ev_view_button_release_event (GtkWidget      *widget,
            view->selection_update_id = 0;
        }
 
            view->selection_update_id = 0;
        }
 
-       if (!view->selection_info.in_selection &&
-           view->selection_info.style != EV_SELECTION_STYLE_GLYPH) {
-               compute_selections (view,
-                                   view->selection_info.style,
-                                   &(view->selection_info.start),
-                                   &(view->selection_info.start));
-       }
-
        if (view->selection_info.selections) {
                clear_link_selected (view);
                ev_view_update_primary_selection (view);
        if (view->selection_info.selections) {
                clear_link_selected (view);
                ev_view_update_primary_selection (view);