diff options
Diffstat (limited to 'src/libs/kdtools/localpackagehub.cpp')
-rw-r--r-- | src/libs/kdtools/localpackagehub.cpp | 44 |
1 files changed, 33 insertions, 11 deletions
diff --git a/src/libs/kdtools/localpackagehub.cpp b/src/libs/kdtools/localpackagehub.cpp index 1a754d7d5..c7b627c51 100644 --- a/src/libs/kdtools/localpackagehub.cpp +++ b/src/libs/kdtools/localpackagehub.cpp @@ -1,8 +1,8 @@ /**************************************************************************** ** ** Copyright (C) 2013 Klaralvdalens Datakonsult AB (KDAB) -** Copyright (C) 2021 The Qt Company Ltd. -** Contact: http://www.qt.io/licensing/ +** Copyright (C) 2022 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Installer Framework. ** @@ -124,6 +124,13 @@ bool LocalPackageHub::isValid() const } /*! + Returns a map of all local installed packages. Map key is the package name. +*/ +QMap<QString, LocalPackage> LocalPackageHub::localPackages() const +{ + return d->m_packageInfoMap; +} +/*! Returns a list of all local installed packages. */ QStringList LocalPackageHub::packageNames() const @@ -306,6 +313,7 @@ void LocalPackageHub::refresh() \a title, \a treeName, \a description, + \a sortingPriority, \a dependencies, \a autoDependencies, \a forcedInstallation, @@ -313,13 +321,15 @@ void LocalPackageHub::refresh() \a uncompressedSize, \a inheritVersionFrom, \a checkable, - and \a expandedByDefault for the package. + \a expandedByDefault, + and \a contentSha1 for the package. */ void LocalPackageHub::addPackage(const QString &name, const QString &version, const QString &title, - const QString &treeName, + const QPair<QString, bool> &treeName, const QString &description, + const int sortingPriority, const QStringList &dependencies, const QStringList &autoDependencies, bool forcedInstallation, @@ -327,7 +337,8 @@ void LocalPackageHub::addPackage(const QString &name, quint64 uncompressedSize, const QString &inheritVersionFrom, bool checkable, - bool expandedByDefault) + bool expandedByDefault, + const QString &contentSha1) { // TODO: This somewhat unexpected, remove? if (d->m_packageInfoMap.contains(name)) { @@ -343,6 +354,7 @@ void LocalPackageHub::addPackage(const QString &name, info.title = title; info.treeName = treeName; info.description = description; + info.sortingPriority = sortingPriority; info.dependencies = dependencies; info.autoDependencies = autoDependencies; info.forcedInstallation = forcedInstallation; @@ -350,6 +362,7 @@ void LocalPackageHub::addPackage(const QString &name, info.uncompressedSize = uncompressedSize; info.checkable = checkable; info.expandedByDefault = expandedByDefault; + info.contentSha1 = contentSha1; d->m_packageInfoMap.insert(name, info); } d->modified = true; @@ -401,7 +414,9 @@ void LocalPackageHub::writeToDisk() addTextChildHelper(&package, QLatin1String("Name"), info.name); addTextChildHelper(&package, QLatin1String("Title"), info.title); addTextChildHelper(&package, QLatin1String("Description"), info.description); - addTextChildHelper(&package, scTreeName, info.treeName); + addTextChildHelper(&package, QLatin1String("SortingPriority"), QString::number(info.sortingPriority)); + addTextChildHelper(&package, scTreeName, info.treeName.first, QLatin1String("moveChildren"), + QVariant(info.treeName.second).toString()); if (info.inheritVersionFrom.isEmpty()) addTextChildHelper(&package, QLatin1String("Version"), info.version); else @@ -426,6 +441,8 @@ void LocalPackageHub::writeToDisk() addTextChildHelper(&package, QLatin1String("Checkable"), QLatin1String("true")); if (info.expandedByDefault) addTextChildHelper(&package, QLatin1String("ExpandedByDefault"), QLatin1String("true")); + if (!info.contentSha1.isEmpty()) + addTextChildHelper(&package, scContentSha1, info.contentSha1); root.appendChild(package); } @@ -472,9 +489,12 @@ void LocalPackageHub::PackagesInfoData::addPackageFrom(const QDomElement &packag info.title = childNodeE.text(); else if (childNodeE.tagName() == QLatin1String("Description")) info.description = childNodeE.text(); - else if (childNodeE.tagName() == scTreeName) - info.treeName = childNodeE.text(); - else if (childNodeE.tagName() == QLatin1String("Version")) { + else if (childNodeE.tagName() == QLatin1String("SortingPriority")) + info.sortingPriority = childNodeE.text().toInt(); + else if (childNodeE.tagName() == scTreeName) { + info.treeName.first = childNodeE.text(); + info.treeName.second = QVariant(childNodeE.attribute(QLatin1String("moveChildren"))).toBool(); + } else if (childNodeE.tagName() == QLatin1String("Version")) { info.version = childNodeE.text(); info.inheritVersionFrom = childNodeE.attribute(QLatin1String("inheritVersionFrom")); } @@ -484,10 +504,10 @@ void LocalPackageHub::PackagesInfoData::addPackageFrom(const QDomElement &packag info.uncompressedSize = childNodeE.text().toULongLong(); else if (childNodeE.tagName() == QLatin1String("Dependencies")) { info.dependencies = childNodeE.text().split(QInstaller::commaRegExp(), - QString::SkipEmptyParts); + Qt::SkipEmptyParts); } else if (childNodeE.tagName() == QLatin1String("AutoDependOn")) { info.autoDependencies = childNodeE.text().split(QInstaller::commaRegExp(), - QString::SkipEmptyParts); + Qt::SkipEmptyParts); } else if (childNodeE.tagName() == QLatin1String("ForcedInstallation")) info.forcedInstallation = childNodeE.text().toLower() == QLatin1String( "true" ) ? true : false; else if (childNodeE.tagName() == QLatin1String("LastUpdateDate")) @@ -498,6 +518,8 @@ void LocalPackageHub::PackagesInfoData::addPackageFrom(const QDomElement &packag info.checkable = childNodeE.text().toLower() == QLatin1String("true") ? true : false; else if (childNodeE.tagName() == QLatin1String("ExpandedByDefault")) info.expandedByDefault = childNodeE.text().toLower() == QLatin1String("true") ? true : false; + else if (childNodeE.tagName() == QLatin1String("ContentSha1")) + info.contentSha1 = childNodeE.text(); } m_packageInfoMap.insert(info.name, info); } |