eog r4959 - in trunk: . src



Author: friemann
Date: Mon Jan 19 12:46:53 2009
New Revision: 4959
URL: http://svn.gnome.org/viewvc/eog?rev=4959&view=rev

Log:
2009-01-19  Felix Riemann  <friemann svn gnome org>

	* src/eog-window.c: (eog_window_update_recent_files_menu),
	(eog_window_key_press):
	Flip Alt+Left/Right arrow combos in RTL locales.
	Fixes bug #566104 (Khaled Hosny)


Modified:
   trunk/ChangeLog
   trunk/src/eog-window.c

Modified: trunk/src/eog-window.c
==============================================================================
--- trunk/src/eog-window.c	(original)
+++ trunk/src/eog-window.c	Mon Jan 19 12:46:53 2009
@@ -94,6 +94,8 @@
 
 #define EOG_WALLPAPER_FILENAME "eog-wallpaper"
 
+#define is_rtl (gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL)
+
 typedef enum {
 	EOG_WINDOW_STATUS_UNKNOWN,
 	EOG_WINDOW_STATUS_INIT,
@@ -3657,7 +3659,6 @@
 		gchar *label_filename;
 		GtkAction *action;
 		GtkRecentInfo *info = li->data;
-		gboolean is_rtl = (gtk_widget_get_default_direction () == GTK_TEXT_DIR_RTL);
 
 		/* Sorting moves non-EOG files to the end of the list.
 		 * So no file of interest will follow if this test fails */
@@ -4430,7 +4431,11 @@
 	case GDK_Left:
 		if (event->state & GDK_MOD1_MASK) {
 			/* Alt+Left moves to previous image */
-			eog_window_cmd_go_prev (NULL, EOG_WINDOW (widget));
+			if (is_rtl) { /* move to next in RTL mode */
+				eog_window_cmd_go_next (NULL, EOG_WINDOW (widget));
+			} else {
+				eog_window_cmd_go_prev (NULL, EOG_WINDOW (widget));
+			}
 			result = TRUE;
 			break;
 		} /* else fall-trough is intended */
@@ -4449,7 +4454,11 @@
 	case GDK_Right:
 		if (event->state & GDK_MOD1_MASK) {
 			/* Alt+Right moves to next image */
-			eog_window_cmd_go_next (NULL, EOG_WINDOW (widget));
+			if (is_rtl) { /* move to previous in RTL mode */
+				eog_window_cmd_go_prev (NULL, EOG_WINDOW (widget));
+			} else {
+				eog_window_cmd_go_next (NULL, EOG_WINDOW (widget));
+			}
 			result = TRUE;
 			break;
 		} /* else fall-trough is intended */



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