diff options
author | Tim Jenssen <tim.jenssen@nokia.com> | 2011-07-29 11:39:34 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2011-07-29 11:39:34 +0200 |
commit | 68ce78e1ba3f97769fc3736446621c216c03498c (patch) | |
tree | 537a001dcc844fba037d3a3acf55a3fa8eea5892 /installerbuilder | |
parent | e1762868e0e207dafc118095da4d18e2293be6d5 (diff) |
activate auto depend on
Diffstat (limited to 'installerbuilder')
-rw-r--r-- | installerbuilder/libinstaller/component.cpp | 1 | ||||
-rw-r--r-- | installerbuilder/libinstaller/packagemanagercore_p.cpp | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/installerbuilder/libinstaller/component.cpp b/installerbuilder/libinstaller/component.cpp index 56b4f6b66..e58a40af1 100644 --- a/installerbuilder/libinstaller/component.cpp +++ b/installerbuilder/libinstaller/component.cpp @@ -137,6 +137,7 @@ void Component::loadDataFromPackage(const Package &package) setValue(scDisplayName, package.data(scDisplayName).toString()); setValue(scDescription, package.data(scDescription).toString()); setValue(scDefault, package.data(scDefault).toString()); + setValue(scAutoDependOn, package.data(scAutoDependOn).toString()); setValue(scCompressedSize, QString::number(package.compressedSize())); setValue(scUncompressedSize, QString::number(package.uncompressedSize())); setValue(scVersion, package.data(scVersion).toString()); diff --git a/installerbuilder/libinstaller/packagemanagercore_p.cpp b/installerbuilder/libinstaller/packagemanagercore_p.cpp index cccf0e8c7..34e3f2daf 100644 --- a/installerbuilder/libinstaller/packagemanagercore_p.cpp +++ b/installerbuilder/libinstaller/packagemanagercore_p.cpp @@ -332,6 +332,19 @@ bool PackageManagerCorePrivate::appendComponentsToInstall(const QList<Component* foreach (Component* currentComponent, notAppendedComponents) { allComponentsAdded &= appendComponentToInstall(currentComponent); } + if (allComponentsAdded) { + //this means notAppendedComponents are empty, so all regular dependencies are resolved + //now we are looking for auto depend on components + foreach (Component* currentComponent, m_core->availableComponents()) { + if (!currentComponent->isInstalled() + && !m_toInstallComponentIds.contains(currentComponent->name()) + && currentComponent->isAutoDependOn()) { + insertInstallReason(currentComponent, QString( + tr("component(s) with activated auto depend on "))); + appendComponentToInstall(currentComponent); + } + } + } return allComponentsAdded; } |