diff options
author | Jarek Kobus <jaroslaw.kobus@theqtcompany.com> | 2015-06-04 11:54:20 +0200 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@theqtcompany.com> | 2015-06-05 09:12:35 +0000 |
commit | 6969b19237c4dc763351723794e32e9da9aee246 (patch) | |
tree | 375e136f11317580a88dfa5fe068d860392c65e1 /src/libs | |
parent | 947e85b47c6ce9d60b08d1f0a8477e09cdb63635 (diff) |
Store AutoDependOn inside components.xml
Change-Id: Id304ca857ee1897c35171d6c293774f1d638bc02
Reviewed-by: Karsten Heimrich <karsten.heimrich@theqtcompany.com>
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/installer/component.cpp | 12 | ||||
-rw-r--r-- | src/libs/installer/constants.h | 1 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 15 | ||||
-rw-r--r-- | src/libs/kdtools/localpackagehub.cpp | 47 | ||||
-rw-r--r-- | src/libs/kdtools/localpackagehub.h | 21 |
5 files changed, 54 insertions, 42 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp index 1ba19ed2b..969ca6682 100644 --- a/src/libs/installer/component.cpp +++ b/src/libs/installer/component.cpp @@ -59,7 +59,6 @@ using namespace QInstaller; static const QLatin1String scScriptTag("Script"); -static const QLatin1String scAutoDependOn("AutoDependOn"); static const QLatin1String scVirtual("Virtual"); static const QLatin1String scInstalled("Installed"); static const QLatin1String scUpdateText("UpdateText"); @@ -243,7 +242,6 @@ Component::~Component() void Component::loadDataFromPackage(const KDUpdater::LocalPackage &package) { setValue(scName, package.name); - // pixmap ??? setValue(scDisplayName, package.title); setValue(scDescription, package.description); setValue(scVersion, package.version); @@ -252,14 +250,8 @@ void Component::loadDataFromPackage(const KDUpdater::LocalPackage &package) setValue(QLatin1String("LastUpdateDate"), package.lastUpdateDate.toString()); setValue(QLatin1String("InstallDate"), package.installDate.toString()); setValue(scUncompressedSize, QString::number(package.uncompressedSize)); - - QString dependstr; - foreach (const QString &val, package.dependencies) - dependstr += val + QLatin1String(","); - - if (package.dependencies.count() > 0) - dependstr.chop(1); - setValue(scDependencies, dependstr); + setValue(scDependencies, package.dependencies.join(QLatin1String(","))); + setValue(scAutoDependOn, package.autoDependencies.join(QLatin1String(","))); setValue(scForcedInstallation, package.forcedInstallation ? scTrue : scFalse); if (package.forcedInstallation & !PackageManagerCore::noForceInstallation()) { diff --git a/src/libs/installer/constants.h b/src/libs/installer/constants.h index f494f75fc..e7cc3fe98 100644 --- a/src/libs/installer/constants.h +++ b/src/libs/installer/constants.h @@ -58,6 +58,7 @@ static const QLatin1String scReleaseDate("ReleaseDate"); static const QLatin1String scDescription("Description"); static const QLatin1String scDisplayName("DisplayName"); static const QLatin1String scDependencies("Dependencies"); +static const QLatin1String scAutoDependOn("AutoDependOn"); static const QLatin1String scNewComponent("NewComponent"); static const QLatin1String scRepositories("Repositories"); static const QLatin1String scCompressedSize("CompressedSize"); diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index 8959634e5..4f8af73f0 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -1905,11 +1905,16 @@ void PackageManagerCorePrivate::installComponent(Component *component, double pr } // now mark the component as installed - m_localPackageHub->addPackage(component->name(), component->value(scVersion), - component->value(scDisplayName), - component->value(scDescription), component->dependencies(), component->forcedInstallation(), - component->isVirtual(), component->value(scUncompressedSize).toULongLong(), - component->value(scInheritVersion)); + m_localPackageHub->addPackage(component->name(), + component->value(scVersion), + component->value(scDisplayName), + component->value(scDescription), + component->dependencies(), + component->autoDependencies(), + component->forcedInstallation(), + component->isVirtual(), + component->value(scUncompressedSize).toULongLong(), + component->value(scInheritVersion)); m_localPackageHub->writeToDisk(); component->setInstalled(); diff --git a/src/libs/kdtools/localpackagehub.cpp b/src/libs/kdtools/localpackagehub.cpp index 9cadc6d5f..02bb8cb64 100644 --- a/src/libs/kdtools/localpackagehub.cpp +++ b/src/libs/kdtools/localpackagehub.cpp @@ -35,12 +35,14 @@ #include "localpackagehub.h" #include "globals.h" +#include "constants.h" #include <QDomDocument> #include <QDomElement> #include <QFileInfo> using namespace KDUpdater; +using namespace QInstaller; /*! \inmodule kdupdater @@ -305,15 +307,26 @@ void LocalPackageHub::refresh() /*! Marks the package specified by \a name as installed. Sets the values of - \a version, \a title, \a description, \a dependencies, \a forcedInstallation, - \a virtualComp, \a uncompressedSize, and \a inheritVersionFrom for the - package. + \a version, + \a title, + \a description, + \a dependencies, + \a autoDependencies, + \a forcedInstallation, + \a virtualComp, + \a uncompressedSize, + and \a inheritVersionFrom for the package. */ -void LocalPackageHub::addPackage(const QString &name, const QString &version, - const QString &title, const QString &description, - const QStringList &dependencies, bool forcedInstallation, - bool virtualComp, quint64 uncompressedSize, - const QString &inheritVersionFrom) +void LocalPackageHub::addPackage(const QString &name, + const QString &version, + const QString &title, + const QString &description, + const QStringList &dependencies, + const QStringList &autoDependencies, + bool forcedInstallation, + bool virtualComp, + quint64 uncompressedSize, + const QString &inheritVersionFrom) { // TODO: This somewhat unexpected, remove? if (d->m_packageInfoMap.contains(name)) { @@ -329,6 +342,7 @@ void LocalPackageHub::addPackage(const QString &name, const QString &version, info.title = title; info.description = description; info.dependencies = dependencies; + info.autoDependencies = autoDependencies; info.forcedInstallation = forcedInstallation; info.virtualComp = virtualComp; info.uncompressedSize = uncompressedSize; @@ -381,7 +395,6 @@ void LocalPackageHub::writeToDisk() QDomElement package = doc.createElement(QLatin1String("Package")); addTextChildHelper(&package, QLatin1String("Name"), info.name); - addTextChildHelper(&package, QLatin1String("Pixmap"), info.pixmap); addTextChildHelper(&package, QLatin1String("Title"), info.title); addTextChildHelper(&package, QLatin1String("Description"), info.description); if (info.inheritVersionFrom.isEmpty()) @@ -395,12 +408,11 @@ void LocalPackageHub::writeToDisk() .toString(Qt::ISODate)); addTextChildHelper(&package, QLatin1String("Size"), QString::number(info.uncompressedSize)); - QString assembledDependencies = QLatin1String(""); - Q_FOREACH (const QString & val, info.dependencies) - assembledDependencies += val + QLatin1String(","); - if (info.dependencies.count() > 0) - assembledDependencies.chop(1); - addTextChildHelper(&package, QLatin1String("Dependencies"), assembledDependencies); + + if (info.dependencies.count()) + addTextChildHelper(&package, scDependencies, info.dependencies.join(QLatin1String(","))); + if (info.autoDependencies.count()) + addTextChildHelper(&package, scAutoDependOn, info.autoDependencies.join(QLatin1String(","))); if (info.forcedInstallation) addTextChildHelper(&package, QLatin1String("ForcedInstallation"), QLatin1String("true")); if (info.virtualComp) @@ -440,8 +452,6 @@ void LocalPackageHub::PackagesInfoData::addPackageFrom(const QDomElement &packag if (childNodeE.tagName() == QLatin1String("Name")) info.name = childNodeE.text(); - else if (childNodeE.tagName() == QLatin1String("Pixmap")) - info.pixmap = childNodeE.text(); else if (childNodeE.tagName() == QLatin1String("Title")) info.title = childNodeE.text(); else if (childNodeE.tagName() == QLatin1String("Description")) @@ -457,6 +467,9 @@ void LocalPackageHub::PackagesInfoData::addPackageFrom(const QDomElement &packag else if (childNodeE.tagName() == QLatin1String("Dependencies")) { info.dependencies = childNodeE.text().split(QInstaller::commaRegExp(), QString::SkipEmptyParts); + } else if (childNodeE.tagName() == QLatin1String("AutoDependOn")) { + info.autoDependencies = childNodeE.text().split(QInstaller::commaRegExp(), + QString::SkipEmptyParts); } else if (childNodeE.tagName() == QLatin1String("ForcedInstallation")) info.forcedInstallation = childNodeE.text().toLower() == QLatin1String( "true" ) ? true : false; else if (childNodeE.tagName() == QLatin1String("LastUpdateDate")) diff --git a/src/libs/kdtools/localpackagehub.h b/src/libs/kdtools/localpackagehub.h index c6e08d0d3..4e2f6634f 100644 --- a/src/libs/kdtools/localpackagehub.h +++ b/src/libs/kdtools/localpackagehub.h @@ -47,13 +47,12 @@ namespace KDUpdater { struct KDTOOLS_EXPORT LocalPackage { QString name; - QString pixmap; QString title; QString description; QString version; QString inheritVersionFrom; QStringList dependencies; - QStringList translations; + QStringList autoDependencies; QDate lastUpdateDate; QDate installDate; bool forcedInstallation; @@ -100,14 +99,16 @@ public: QList<LocalPackage> packageInfos() const; LocalPackage packageInfo(const QString &pkgName) const; - void addPackage(const QString &pkgName, const QString &version, // mandatory - const QString &title = QString(), - const QString &description = QString(), - const QStringList &dependencies = QStringList(), - bool forcedInstallation = false, - bool virtualComp = false, - quint64 uncompressedSize = 0, - const QString &inheritVersionFrom = QString()); + void addPackage(const QString &pkgName, + const QString &version, // mandatory + const QString &title, + const QString &description, + const QStringList &dependencies, + const QStringList &autoDependencies, + bool forcedInstallation, + bool virtualComp, + quint64 uncompressedSize, + const QString &inheritVersionFrom); bool removePackage(const QString &pkgName); void refresh(); |