From 7dac5b486560e0f01f786693c53d5755e9740fd4 Mon Sep 17 00:00:00 2001 From: Niels Weber Date: Wed, 28 Mar 2012 16:28:14 +0200 Subject: Load only the description with the correct lang attribute. If there is none, fall back to the untranslated one, if that can be found. Change-Id: I589b67e314c2039fe40e88c1370afd4eff89b0d5 Reviewed-by: Karsten Heimrich --- src/libs/kdtools/kdupdaterupdatesinfo.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/libs/kdtools/kdupdaterupdatesinfo.cpp b/src/libs/kdtools/kdupdaterupdatesinfo.cpp index 98a71c1ba..202e30457 100644 --- a/src/libs/kdtools/kdupdaterupdatesinfo.cpp +++ b/src/libs/kdtools/kdupdaterupdatesinfo.cpp @@ -27,6 +27,7 @@ #include #include #include +#include using namespace KDUpdater; @@ -174,6 +175,17 @@ bool UpdatesInfo::UpdatesInfoData::parsePackageUpdateElement(const QDomElement & } else if (childE.tagName() == QLatin1String("Version")) { info.data.insert(QLatin1String("inheritVersionFrom"), childE.attribute(QLatin1String("inheritVersionFrom"))); info.data[childE.tagName()] = childE.text(); + } else if (childE.tagName() == QLatin1String("Description")) { + + QString languageAttribute = childE.attribute(QLatin1String("xml:lang")); + + if (!info.data.contains(QLatin1String("Description")) && (languageAttribute.isEmpty())) + info.data[childE.tagName()] = childE.text(); + + // overwrite default if we have a language specific description + if (languageAttribute == QLocale().name().toLower()) + info.data[childE.tagName()] = childE.text(); + } else { info.data[childE.tagName()] = childE.text(); } -- cgit v1.2.3