summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraxis <qt-info@nokia.com>2009-08-25 13:13:46 +0200
committeraxis <qt-info@nokia.com>2009-08-25 13:44:30 +0200
commitb9ea05481c1628a701910f3749db12e785d5229c (patch)
tree314426f7b3d05aa7986fee848b0c25efaa24db02
parenta8087d61442acb8cfbc90b79bdd10ad192c6c06a (diff)
Removed redundant QLocale code from QCoeFepInputContext.
We export one extra private symbol from QtCore instead, and use that. RevBy: Miikka Heikkinen
-rw-r--r--src/corelib/kernel/qcore_symbian_p.h3
-rw-r--r--src/corelib/tools/qlocale_symbian.cpp6
-rw-r--r--src/gui/inputmethod/qcoefepinputcontext_s60.cpp95
3 files changed, 11 insertions, 93 deletions
diff --git a/src/corelib/kernel/qcore_symbian_p.h b/src/corelib/kernel/qcore_symbian_p.h
index 6d3616f19..a7f71a7ae 100644
--- a/src/corelib/kernel/qcore_symbian_p.h
+++ b/src/corelib/kernel/qcore_symbian_p.h
@@ -145,6 +145,9 @@ Q_CORE_EXPORT TLibraryFunction qt_resolveS60PluginFunc(int ordinal);
Q_CORE_EXPORT RFs& qt_s60GetRFs();
+// Defined in qlocale_symbian.cpp.
+Q_CORE_EXPORT QByteArray qt_symbianLocaleName(int code);
+
QT_END_NAMESPACE
QT_END_HEADER
diff --git a/src/corelib/tools/qlocale_symbian.cpp b/src/corelib/tools/qlocale_symbian.cpp
index a53456030..3103ba1c1 100644
--- a/src/corelib/tools/qlocale_symbian.cpp
+++ b/src/corelib/tools/qlocale_symbian.cpp
@@ -156,7 +156,7 @@ static const symbianToISO symbian_to_iso_list[] = {
/*!
Returns ISO name corresponding to the Symbian locale code \a sys_fmt.
*/
-static QByteArray symbianLocaleName(int code)
+QByteArray qt_symbianLocaleName(int code)
{
//Number of Symbian to ISO locale mappings
static const int symbian_to_iso_count
@@ -797,7 +797,7 @@ QLocale QSystemLocale::fallbackLocale() const
}
TLanguage lang = User::Language();
- QString locale = symbianLocaleName(lang);
+ QString locale = qt_symbianLocaleName(lang);
return QLocale(locale);
}
@@ -853,7 +853,7 @@ QVariant QSystemLocale::query(QueryType type, QVariant in = QVariant()) const
case LanguageId:
case CountryId: {
TLanguage language = User::Language();
- QString locale = symbianLocaleName(language);
+ QString locale = qt_symbianLocaleName(language);
QLocale::Language lang;
QLocale::Country cntry;
getLangAndCountry(locale, lang, cntry);
diff --git a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
index 7c7bce3f9..09eda671a 100644
--- a/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
+++ b/src/gui/inputmethod/qcoefepinputcontext_s60.cpp
@@ -44,6 +44,7 @@
#include "qcoefepinputcontext_p.h"
#include <qapplication.h>
#include <qtextformat.h>
+#include <private/qcore_symbian_p.h>
#include <fepitfr.h>
@@ -139,100 +140,14 @@ void QCoeFepInputContext::widgetDestroyed(QWidget *w)
}
}
-/*!
- Definition of struct for mapping Symbian to ISO locale
- ### REMOVE
- See below.
-*/
-struct symbianToISO {
- int symbian_language;
- char iso_name[8];
-};
-
-/*!
- Mapping from Symbian to ISO locale
- ### REMOVE
- This was taken from the preliminary QLocale port to S60, and should be
- removed once that is finished.
-*/
-static const symbianToISO symbian_to_iso_list[] = {
- { ELangEnglish, "en_GB" },
- { ELangFrench, "fr_FR" },
- { ELangGerman, "de_DE" },
- { ELangSpanish, "es_ES" },
- { ELangItalian, "it_IT" },
- { ELangSwedish, "sv_SE" },
- { ELangDanish, "da_DK" },
- { ELangNorwegian, "no_NO" },
- { ELangFinnish, "fi_FI" },
- { ELangAmerican, "en_US" },
- { ELangPortuguese, "pt_PT" },
- { ELangTurkish, "tr_TR" },
- { ELangIcelandic, "is_IS" },
- { ELangRussian, "ru_RU" },
- { ELangHungarian, "hu_HU" },
- { ELangDutch, "nl_NL" },
- { ELangBelgianFlemish, "nl_BE" },
- { ELangCzech, "cs_CZ" },
- { ELangSlovak, "sk_SK" },
- { ELangPolish, "pl_PL" },
- { ELangSlovenian, "sl_SI" },
- { ELangTaiwanChinese, "zh_TW" },
- { ELangHongKongChinese, "zh_HK" },
- { ELangPrcChinese, "zh_CN" },
- { ELangJapanese, "ja_JP" },
- { ELangThai, "th_TH" },
- { ELangArabic, "ar_AE" },
- { ELangTagalog, "tl_PH" },
- { ELangBulgarian, "bg_BG" },
- { ELangCatalan, "ca_ES" },
- { ELangCroatian, "hr_HR" },
- { ELangEstonian, "et_EE" },
- { ELangFarsi, "fa_IR" },
- { ELangCanadianFrench, "fr_CA" },
- { ELangGreek, "el_GR" },
- { ELangHebrew, "he_IL" },
- { ELangHindi, "hi_IN" },
- { ELangIndonesian, "id_ID" },
- { ELangLatvian, "lv_LV" },
- { ELangLithuanian, "lt_LT" },
- { ELangMalay, "ms_MY" },
- { ELangBrazilianPortuguese, "pt_BR" },
- { ELangRomanian, "ro_RO" },
- { ELangSerbian, "sr_YU" },
- { ELangLatinAmericanSpanish, "es" },
- { ELangUkrainian, "uk_UA" },
- { ELangUrdu, "ur_PK" }, // India/Pakistan
- { ELangVietnamese, "vi_VN" },
-#ifdef __E32LANG_H__
-// 5.0
- { ELangBasque, "eu_ES" },
- { ELangGalician, "gl_ES" },
-#endif
- //{ ELangEnglish_Apac, "en" },
- //{ ELangEnglish_Taiwan, "en_TW" },
- //{ ELangEnglish_HongKong, "en_HK" },
- //{ ELangEnglish_Prc, "en_CN" },
- //{ ELangEnglish_Japan, "en_JP"},
- //{ ELangEnglish_Thailand, "en_TH" },
- //{ ELangMalay_Apac, "ms" }
-};
-
-/*!
- Number of Symbian to ISO locale mappings
- ### Remove.
- See comment for array above.
-*/
-static const int symbian_to_iso_count
- = sizeof(symbian_to_iso_list)/sizeof(symbianToISO);
-
QString QCoeFepInputContext::language()
{
TLanguage lang = m_fepState->LocalLanguage();
- if (lang < symbian_to_iso_count) {
- return QLatin1String(symbian_to_iso_list[lang].iso_name);
+ const QByteArray localeName = qt_symbianLocaleName(lang);
+ if (!localeName.isEmpty()) {
+ return QString::fromLatin1(localeName);
} else {
- return QLatin1String("C");
+ return QString::fromLatin1("C");
}
}