summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushell.c
diff options
context:
space:
mode:
authorMatthias Clasen <maclas@gmx.de>2004-02-03 01:03:56 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-02-03 01:03:56 +0000
commit362158dc785486a6c3345081fad492b4aad745e2 (patch)
treed6bd1581aaa916d0541797baa6c184f9467d038b /gtk/gtkmenushell.c
parent6c935950b2ca743f59bc99a0ae43a45b6ec2e303 (diff)
downloadgtk+-362158dc785486a6c3345081fad492b4aad745e2.tar.gz
Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com)
Tue Feb 3 02:04:44 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtklabel.c (gtk_label_ensure_layout): Right-justify labels in rtl mode. (#129071, chinen@jp.ibm.com) Tue Feb 3 02:01:25 2004 Matthias Clasen <maclas@gmx.de> * gtk/gtkmenushell.c (gtk_real_menu_shell_move_current): Exchange the meaning GTK_MENU_DIR_PARENT/CHILD and GTK_MENU_DIR_PREV/NEXT in rtl mode. (#107528)
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r--gtk/gtkmenushell.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index 5fe743fc60..514d9b5aa6 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -1042,6 +1042,28 @@ gtk_real_menu_shell_move_current (GtkMenuShell *menu_shell,
if (menu_shell->parent_menu_shell)
parent_menu_shell = GTK_MENU_SHELL (menu_shell->parent_menu_shell);
+ if (gtk_widget_get_direction (GTK_WIDGET (menu_shell)) == GTK_TEXT_DIR_RTL)
+ {
+ switch (direction)
+ {
+ case GTK_MENU_DIR_PARENT:
+ direction = GTK_MENU_DIR_CHILD;
+ break;
+ case GTK_MENU_DIR_CHILD:
+ direction = GTK_MENU_DIR_PARENT;
+ break;
+ case GTK_MENU_DIR_PREV:
+ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+ direction = GTK_MENU_DIR_NEXT;
+ break;
+ case GTK_MENU_DIR_NEXT:
+ if (GTK_MENU_SHELL_GET_CLASS (menu_shell)->submenu_placement == GTK_TOP_BOTTOM)
+ direction = GTK_MENU_DIR_PREV;
+ break;
+ default: ;
+ }
+ }
+
switch (direction)
{
case GTK_MENU_DIR_PARENT: