diff options
author | kh1 <karsten.heimrich@nokia.com> | 2011-08-22 17:54:26 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@nokia.com> | 2011-08-23 10:57:45 +0200 |
commit | a222f8f9c7fccadd4c017b5c5be5639bb288adbb (patch) | |
tree | 3dc8bc50af1c2cf2f219a2375ee09bf8c2264b75 /installerbuilder/libinstaller/packagemanagercore.cpp | |
parent | 68a367649a25b38cf69ec9dcacddc0e921c5b4f2 (diff) |
Make sure we only calculate the components on actual change.
Change-Id: I5967f2fa2cba3e54519a4b8b5155b570d34d7a22
Reviewed-on: http://codereview.qt.nokia.com/3333
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Niels Weber <niels.2.weber@nokia.com>
Reviewed-by: Tim Jenssen <tim.jenssen@nokia.com>
Diffstat (limited to 'installerbuilder/libinstaller/packagemanagercore.cpp')
-rw-r--r-- | installerbuilder/libinstaller/packagemanagercore.cpp | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/installerbuilder/libinstaller/packagemanagercore.cpp b/installerbuilder/libinstaller/packagemanagercore.cpp index dd04beec8..ca1b1cd67 100644 --- a/installerbuilder/libinstaller/packagemanagercore.cpp +++ b/installerbuilder/libinstaller/packagemanagercore.cpp @@ -293,6 +293,11 @@ void PackageManagerCore::cancelMetaInfoJob() d->m_repoMetaInfoJob->cancel(); } +void PackageManagerCore::componentsToInstallNeedsRecalculation() +{ + d->m_componentsToInstallCalculated = false; +} + void PackageManagerCore::autoAcceptMessageBoxes() { MessageBoxHandler::instance()->setDefaultAction(MessageBoxHandler::Accept); @@ -875,20 +880,23 @@ Component* PackageManagerCore::componentByName(const QString &name) const */ bool PackageManagerCore::calculateComponentsToInstall() const { - d->clearComponentsToInstall(); - QList<Component*> components; - if (runMode() == UpdaterMode) { - foreach(Component *component, updaterComponents()) { - if (component->updateRequested()) - components.append(component); - } - } else if (runMode() == AllMode) { - foreach(Component *component, availableComponents()) { - if (component->installationRequested()) - components.append(component); + if (!d->m_componentsToInstallCalculated) { + d->clearComponentsToInstall(); + QList<Component*> components; + if (runMode() == UpdaterMode) { + foreach (Component *component, updaterComponents()) { + if (component->updateRequested()) + components.append(component); + } + } else if (runMode() == AllMode) { + foreach (Component *component, availableComponents()) { + if (component->installationRequested()) + components.append(component); + } } + d->m_componentsToInstallCalculated = d->appendComponentsToInstall(components); } - return d->appendComponentsToInstall(components); + return d->m_componentsToInstallCalculated; } /*! |