diff options
Diffstat (limited to 'src/libs/kdtools/updatesinfo.cpp')
-rw-r--r-- | src/libs/kdtools/updatesinfo.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/libs/kdtools/updatesinfo.cpp b/src/libs/kdtools/updatesinfo.cpp index 545931a55..43f75e8a7 100644 --- a/src/libs/kdtools/updatesinfo.cpp +++ b/src/libs/kdtools/updatesinfo.cpp @@ -115,6 +115,7 @@ bool UpdatesInfoData::parsePackageUpdateElement(const QDomElement &updateE) UpdateInfo info; QMap<QString, QString> localizedDescriptions; + QHash<QString, QVariant> scriptHash; for (int i = 0; i < updateE.childNodes().count(); i++) { QDomElement childE = updateE.childNodes().at(i).toElement(); if (childE.isNull()) @@ -162,10 +163,18 @@ bool UpdatesInfoData::parsePackageUpdateElement(const QDomElement &updateE) const QDomNodeList operationNodes = childE.childNodes(); QVariant operationListVariant = parseOperations(childE.childNodes()); info.data.insert(QLatin1String("Operations"), operationListVariant); + } else if (childE.tagName() == QLatin1String("Script")) { + const bool postLoad = QVariant(childE.attribute(QLatin1String("postLoad"))).toBool(); + if (postLoad) + scriptHash.insert(QLatin1String("postLoadScript"), childE.text()); + else + scriptHash.insert(QLatin1String("installScript"), childE.text()); } else { info.data[childE.tagName()] = childE.text(); } } + if (!scriptHash.isEmpty()) + info.data.insert(QLatin1String("Script"), scriptHash); QStringList candidates; foreach (const QString &lang, QLocale().uiLanguages()) |