[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2291: Add a static LanguageSupport::isRightToLeft() method that re (vidalia/trunk/src/vidalia)
Author: edmanm
Date: 2008-01-11 22:34:29 -0500 (Fri, 11 Jan 2008)
New Revision: 2291
Modified:
vidalia/trunk/src/vidalia/languagesupport.cpp
vidalia/trunk/src/vidalia/languagesupport.h
Log:
Add a static LanguageSupport::isRightToLeft() method that returns true if the
specified language code indicates a language that requires a right-to-left
layout. Previously, this logic was just lumped into
LanguageSupport::translate(), but our list of right-to-left translations is
growing. Also some const cleanups.
Modified: vidalia/trunk/src/vidalia/languagesupport.cpp
===================================================================
--- vidalia/trunk/src/vidalia/languagesupport.cpp 2008-01-12 03:31:41 UTC (rev 2290)
+++ vidalia/trunk/src/vidalia/languagesupport.cpp 2008-01-12 03:34:29 UTC (rev 2291)
@@ -92,7 +92,7 @@
/** Returns the language code for a given language name. */
QString
-LanguageSupport::languageCode(QString languageName)
+LanguageSupport::languageCode(const QString &languageName)
{
return languages().key(languageName);
}
@@ -106,7 +106,7 @@
/** Returns the language name for a given language code. */
QString
-LanguageSupport::languageName(QString languageCode)
+LanguageSupport::languageName(const QString &languageCode)
{
return languages().value(languageCode);
}
@@ -120,23 +120,30 @@
/** Returns true if we understand the given language code. */
bool
-LanguageSupport::isValidLanguageCode(QString code)
+LanguageSupport::isValidLanguageCode(const QString &languageCode)
{
- return languageCodes().contains(code.toLower());
+ return languageCodes().contains(languageCode);
}
+/** Returns true if <b>languageCode</b> requires a right-to-left layout. */
+bool
+LanguageSupport::isRightToLeft(const QString &languageCode)
+{
+ return (!languageCode.compare("ar", Qt::CaseInsensitive)
+ || !languageCode.compare("fa", Qt::CaseInsensitive));
+}
+
/** Sets the application's translator to the specified language. */
bool
-LanguageSupport::translate(QString langCode)
+LanguageSupport::translate(const QString &languageCode)
{
- if (isValidLanguageCode(langCode)) {
+ QString code = languageCode.toLower();
+ if (isValidLanguageCode(code)) {
QTranslator *translator = new QTranslator(vApp);
- langCode = langCode.toLower();
- if (translator->load(QString(":/lang/") + langCode)) {
+ if (translator->load(QString(":/lang/") + code)) {
QApplication::installTranslator(translator);
- if (langCode == "fa" || langCode == "ar") {
+ if (isRightToLeft(code))
vApp->setLayoutDirection(Qt::RightToLeft);
- }
return true;
}
delete translator;
Modified: vidalia/trunk/src/vidalia/languagesupport.h
===================================================================
--- vidalia/trunk/src/vidalia/languagesupport.h 2008-01-12 03:31:41 UTC (rev 2290)
+++ vidalia/trunk/src/vidalia/languagesupport.h 2008-01-12 03:34:29 UTC (rev 2291)
@@ -39,19 +39,21 @@
/** Returns the default language code for the system locale. */
static QString defaultLanguageCode();
/** Returns the language code for a given language name. */
- static QString languageCode(QString languageName);
+ static QString languageCode(const QString &languageName);
/** Returns a list of all supported language codes (e.g., "en"). */
static QStringList languageCodes();
/** Returns the language name for a given language code. */
- static QString languageName(QString languageCode);
+ static QString languageName(const QString &languageCode);
/** Returns a list of all supported language names (e.g., "English"). */
static QStringList languageNames();
/** Returns a list of all supported language codes and names. */
static QMap<QString, QString> languages();
/** Returns true if we understand the given language code. */
- static bool isValidLanguageCode(QString code);
+ static bool isValidLanguageCode(const QString &languageCode);
+ /** Returns true if <b>languageCode</b> requires a right-to-left layout. */
+ static bool isRightToLeft(const QString &languageCode);
/** Sets the application's translator to the specified language. */
- static bool translate(QString langCode);
+ static bool translate(const QString &languageCode);
};
#endif