QLocale: Report RTL text direction for pa_Arab and uz_Arab
authorKonstantin Ritt <ritt.ks@gmail.com>
Mon, 10 Dec 2012 10:34:29 +0000 (12:34 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Mon, 10 Dec 2012 19:50:34 +0000 (20:50 +0100)
Change-Id: I97c785c9cbf550ef1ab330a4905ff7ae97ee6a30
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
src/corelib/tools/qlocale.cpp

index 4b4c948..582ae9e 100644 (file)
@@ -2240,16 +2240,23 @@ QLocale::MeasurementSystem QLocale::measurementSystem() const
 */
 Qt::LayoutDirection QLocale::textDirection() const
 {
-    Language lang = language();
-    if (lang == QLocale::Arabic ||
-        lang == QLocale::Hebrew ||
-        lang == QLocale::Persian ||
-        lang == QLocale::Pashto ||
-        lang == QLocale::Urdu ||
-        lang == QLocale::Syriac ||
-        lang == QLocale::Divehi)
+    switch (language()) {
+    case QLocale::Arabic:
+    case QLocale::Hebrew:
+    case QLocale::Persian:
+    case QLocale::Pashto:
+    case QLocale::Urdu:
+    case QLocale::Syriac:
+    case QLocale::Divehi:
         return Qt::RightToLeft;
-
+    case QLocale::Punjabi:
+    case QLocale::Uzbek:
+        if (script() == QLocale::ArabicScript)
+            return Qt::RightToLeft;
+        // fall through
+    default:
+        break;
+    }
     return Qt::LeftToRight;
 }