[eog] EogScrollView: Fix image selection in RTL locales



commit f6fadb87bf476f803ce3b33782e1cfb5a08939e3
Author: Felix Riemann <friemann gnome org>
Date:   Sun Dec 1 19:55:57 2019 +0100

    EogScrollView: Fix image selection in RTL locales
    
    Previously it would always select the next image while it should
    simply mirror the image selection in LTR mode.
    
    Fixes #93.

 src/eog-scroll-view.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/src/eog-scroll-view.c b/src/eog-scroll-view.c
index caf3001c..42704c97 100644
--- a/src/eog-scroll-view.c
+++ b/src/eog-scroll-view.c
@@ -1504,6 +1504,7 @@ pan_gesture_pan_cb (GtkGesturePan   *gesture,
                     EogScrollView   *view)
 {
        EogScrollViewPrivate *priv;
+       const gboolean is_rtl = gtk_widget_get_direction (GTK_WIDGET (view)) == GTK_TEXT_DIR_RTL;
 
        if (eog_scroll_view_scrollbars_visible (view)) {
                gtk_gesture_set_state (GTK_GESTURE (gesture),
@@ -1518,11 +1519,13 @@ pan_gesture_pan_cb (GtkGesturePan   *gesture,
        gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_CLAIMED);
 
        if (offset > PAN_ACTION_DISTANCE) {
-               if (direction == GTK_PAN_DIRECTION_LEFT ||
-                   gtk_widget_get_direction (GTK_WIDGET (view)) == GTK_TEXT_DIR_RTL)
-                       priv->pan_action = EOG_PAN_ACTION_NEXT;
+               if (direction == GTK_PAN_DIRECTION_LEFT)
+                       priv->pan_action = is_rtl ? EOG_PAN_ACTION_PREV
+                                                 : EOG_PAN_ACTION_NEXT;
                else
-                       priv->pan_action = EOG_PAN_ACTION_PREV;
+                       priv->pan_action = is_rtl ? EOG_PAN_ACTION_NEXT
+                                                 : EOG_PAN_ACTION_PREV;
+
        }
 #undef PAN_ACTION_DISTANCE
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]