diff options
Diffstat (limited to 'src/libs')
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 10 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 30 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.h | 3 |
3 files changed, 7 insertions, 36 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index d85ed8c47..ae87b96f0 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -4262,25 +4262,21 @@ bool PackageManagerCore::fetchUpdaterPackages(const PackagesList &remotes, const } // after everything is set up, load the scripts - if (!d->loadComponentScripts(components)) - return false; - foreach (QInstaller::Component *component, components) { if (d->statusCanceledOrFailed()) return false; + component->loadComponentScript(); if (!component->isUnstable() && component->autoDependencies().isEmpty()) component->setCheckState(Qt::Checked); } - // even for possible dependencies we need to load the scripts for example to get archives - if (!d->loadComponentScripts(d->m_updaterComponentsDeps)) - return false; - // after everything is set up, check installed components foreach (QInstaller::Component *component, d->m_updaterComponentsDeps) { if (d->statusCanceledOrFailed()) return false; + // even for possible dependency we need to load the script for example to get archives + component->loadComponentScript(); if (component->isInstalled() && !component->autoDependencies().isEmpty()) { // since we do not put them into the model, which would force a update of e.g. tri state // components, we have to check all installed components ourselves diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index 2d61a351a..66630b98d 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -402,9 +402,10 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c // after everything is set up, load the scripts if needed and create helper hashes // for autodependency and dependency components for quicker search later - if (loadScript && !loadComponentScripts(components)) - return false; - + foreach (QInstaller::Component *component, components) { + if (loadScript) + component->loadComponentScript(); + } // now we can preselect components in the tree foreach (QInstaller::Component *component, components) { // set the checked state for all components without child (means without tristate) @@ -457,29 +458,6 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c return true; } -template <typename T> -bool PackageManagerCorePrivate::loadComponentScripts(const T &components) -{ - infoMessage(nullptr, tr("Loading component scripts...")); - - quint64 loadedComponents = 0; - for (auto *component : components) { - if (statusCanceledOrFailed()) - return false; - - component->loadComponentScript(); - ++loadedComponents; - - const int currentProgress = qRound(double(loadedComponents) / components.count() * 100); - infoProgress(nullptr, currentProgress, 100); - qApp->processEvents(); - } - return true; -} - -template bool PackageManagerCorePrivate::loadComponentScripts<QList<Component *>>(const QList<Component *> &); -template bool PackageManagerCorePrivate::loadComponentScripts<QHash<QString, Component *>>(const QHash<QString, Component *> &); - void PackageManagerCorePrivate::cleanUpComponentEnvironment() { m_componentReplaces.clear(); diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h index 0ce081774..24782b598 100644 --- a/src/libs/installer/packagemanagercore_p.h +++ b/src/libs/installer/packagemanagercore_p.h @@ -106,9 +106,6 @@ public: bool buildComponentTree(QHash<QString, Component*> &components, bool loadScript); - template <typename T> - bool loadComponentScripts(const T &components); - void cleanUpComponentEnvironment(); ScriptEngine *componentScriptEngine() const; ScriptEngine *controlScriptEngine() const; |