FS#10650 - Right-to-left menus support for Hebrew and Arabic

Attached to Project: Rockbox
Opened by Tomer Shalev (tomers) - Sunday, 04 October 2009, 22:36 GMT
Last edited by Tomer Shalev (tomers) - Monday, 05 October 2009, 21:06 GMT
Task Type Patches
Category User Interface
Status Closed
Assigned To Tomer Shalev (tomers)
Operating System All players
Severity Low
Priority Normal
Reported Version Release 3.4
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


This patch changes list direction to RTL when Hebrew or Arabic languages are loaded.

It does so by adding an options field to the lang file (as a result, the lang file version is incremented). The <options> element in the lang file currently supports only one field - rtl (right-to-left) which is set in the Hebrew and Arabic language files. Other files need not change.

At the moment, this patch breaks some less common screens.
This is a preliminary work. It still needs lots of development.
This task depends upon

Closed by  Tomer Shalev (tomers)
Monday, 05 October 2009, 21:06 GMT
Reason for closing:  Accepted
Additional comments about closing:  Committed in r22945
Comment by Jonathan Gordon (jdgordon) - Sunday, 04 October 2009, 23:16 GMT
sweet! just one quick thing... using display->getwidth() IIRC will cause you problems if the user uses a custom viewport for the lists...
Comment by Jonathan Gordon (jdgordon) - Monday, 05 October 2009, 09:51 GMT
trying it out now... great work!!
Should the left/right buttons be switched also? I'm thinking that LTR pressing right is the accept/enter action which sort of feels backwards in RTL?
also, ignore my previous comment about getwidth... just checked and its safe. :)

code style... this line tripped me out for a minute... "bool ltr = !lang_is_rtl();" thats just damn confusing... either have it both ltr or both rtl.. mixing them is hard to read and is guaranteed to cause problems later.