[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kdecore
From: John Layt <john () layt ! net>
Date: 2010-11-09 19:11:42
Message-ID: 20101109191142.40682AC89B () svn ! kde ! org
[Download RAW message or body]
SVN commit 1194746 by jlayt:
Add KLocale method to return list of all installed KDE languages.
Needed by new Locale KCM, mostly lifted from KLanguageCombo.
M +5 -0 localization/klocale.cpp
M +13 -0 localization/klocale.h
M +12 -0 localization/klocale_kde.cpp
M +6 -0 localization/klocale_p.h
M +5 -0 tests/klocaletest.cpp
M +1 -0 tests/klocaletest.h
--- trunk/KDE/kdelibs/kdecore/localization/klocale.cpp #1194745:1194746
@@ -677,6 +677,11 @@
return d->allLanguagesList();
}
+QStringList KLocale::allLanguagesInstalledList() const
+{
+ return d->allLanguagesInstalledList();
+}
+
QString KLocale::languageCodeToName(const QString &language) const
{
return d->languageCodeToName(language);
--- trunk/KDE/kdelibs/kdecore/localization/klocale.h #1194745:1194746
@@ -1848,6 +1848,18 @@
QStringList allLanguagesList() const;
/**
+ * Provides list of all installed KDE Language Translations.
+ *
+ * Use languageCodeToName(language) to get human readable, localized
+ * language names.
+ *
+ * @return list of all installed language codes
+ *
+ * @see languageCodeToName
+ */
+ QStringList allLanguagesInstalledList() const;
+
+ /**
* Convert a known language code to a human readable, localized form.
* If an unknown language code is supplied, empty string is returned;
* this will never happen if the code has been obtained by one of the
@@ -1861,6 +1873,7 @@
* @see language
* @see languageList
* @see allLanguagesList
+ * @see allLanguagesInstalledList
*/
QString languageCodeToName(const QString &language) const;
--- trunk/KDE/kdelibs/kdecore/localization/klocale_kde.cpp #1194745:1194746
@@ -2682,6 +2682,18 @@
return m_languages->groupList();
}
+QStringList KLocalePrivate::allLanguagesInstalledList()
+{
+ QStringList languages;
+ QStringList paths = KGlobal::dirs()->findAllResources("locale", QLatin1String("*/entry.desktop"));
+ foreach (const QString &path, paths) {
+ QString part = path.left(path.length() - 14);
+ languages.append(part.mid(part.lastIndexOf(QLatin1Char('/')) + 1));
+ }
+ languages.sort();
+ return languages;
+}
+
QString KLocalePrivate::languageCodeToName(const QString &language)
{
if (!m_languages) {
--- trunk/KDE/kdelibs/kdecore/localization/klocale_p.h #1194745:1194746
@@ -210,6 +210,12 @@
virtual QStringList allLanguagesList();
/**
+ * @internal Returns a list of all installed KDE languages.
+ * The worker of the same-name KLocale API function.
+ */
+ virtual QStringList allLanguagesInstalledList();
+
+ /**
* @internal Returns the name of the internal language.
* The worker of the same-name KLocale API function.
*/
--- trunk/KDE/kdelibs/kdecore/tests/klocaletest.cpp #1194745:1194746
@@ -40,6 +40,11 @@
KGlobal::locale()->setThousandsSeparator(QLatin1String(","));
}
+void KLocaleTest::languages()
+{
+ kDebug() << KGlobal::locale()->allLanguagesInstalledList();
+}
+
void
KLocaleTest::formatNumbers()
{
--- trunk/KDE/kdelibs/kdecore/tests/klocaletest.h #1194745:1194746
@@ -26,6 +26,7 @@
Q_OBJECT
private Q_SLOTS:
void initTestCase();
+ void languages();
void formatNumbers();
void formatNumberStrings();
void readNumber();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic