diff options
author | Katja Marttila <katja.marttila@qt.io> | 2019-03-19 11:55:02 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2019-03-19 11:55:02 +0200 |
commit | 8c448f77a00d01e24e4d083d9684c275b3efdd04 (patch) | |
tree | c75af0ceed6555249c6a2413dc5c0ff0aec928bb /src/libs/installer/packagemanagercore_p.cpp | |
parent | 2beb45ea0317d0bed9d6085bd927f5a55dff25d5 (diff) | |
parent | 407b19ff904244e287d62c7d02ca2a0779fc7b09 (diff) |
Merge branch '3.1' into master
Change-Id: I2ac4e385ee771892369d98495ceceb09c481c018
Diffstat (limited to 'src/libs/installer/packagemanagercore_p.cpp')
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 72 |
1 files changed, 40 insertions, 32 deletions
diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index ccb80306e..c67480737 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -36,6 +36,7 @@ #include "componentmodel.h" #include "errors.h" #include "fileio.h" +#include "remotefileengine.h" #include "graph.h" #include "messageboxhandler.h" #include "packagemanagercore.h" @@ -81,7 +82,7 @@ namespace QInstaller { class OperationTracer { public: - OperationTracer(Operation *operation) : m_operation(0) + OperationTracer(Operation *operation) : m_operation(nullptr) { // don't create output for that hacky pseudo operation if (operation->name() != QLatin1String("MinimumProgress")) @@ -197,29 +198,30 @@ static void deferredRename(const QString &oldName, const QString &newName, bool // -- PackageManagerCorePrivate PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core) - : m_updateFinder(0) - , m_compressedFinder(0) + : m_updateFinder(nullptr) + , m_compressedFinder(nullptr) , m_localPackageHub(std::make_shared<LocalPackageHub>()) , m_core(core) , m_updates(false) , m_repoFetched(false) , m_updateSourcesAdded(false) , m_componentsToInstallCalculated(false) - , m_componentScriptEngine(0) - , m_controlScriptEngine(0) - , m_installerCalculator(0) - , m_uninstallerCalculator(0) - , m_proxyFactory(0) - , m_defaultModel(0) - , m_updaterModel(0) - , m_guiObject(0) + , m_componentScriptEngine(nullptr) + , m_controlScriptEngine(nullptr) + , m_installerCalculator(nullptr) + , m_uninstallerCalculator(nullptr) + , m_proxyFactory(nullptr) + , m_defaultModel(nullptr) + , m_updaterModel(nullptr) + , m_guiObject(nullptr) + , m_remoteFileEngineHandler(nullptr) { } PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, qint64 magicInstallerMaker, const QList<OperationBlob> &performedOperations) - : m_updateFinder(0) - , m_compressedFinder(0) + : m_updateFinder(nullptr) + , m_compressedFinder(nullptr) , m_localPackageHub(std::make_shared<LocalPackageHub>()) , m_status(PackageManagerCore::Unfinished) , m_needsHardRestart(false) @@ -234,14 +236,15 @@ PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, q , m_updateSourcesAdded(false) , m_magicBinaryMarker(magicInstallerMaker) , m_componentsToInstallCalculated(false) - , m_componentScriptEngine(0) - , m_controlScriptEngine(0) - , m_installerCalculator(0) - , m_uninstallerCalculator(0) - , m_proxyFactory(0) - , m_defaultModel(0) - , m_updaterModel(0) - , m_guiObject(0) + , m_componentScriptEngine(nullptr) + , m_controlScriptEngine(nullptr) + , m_installerCalculator(nullptr) + , m_uninstallerCalculator(nullptr) + , m_proxyFactory(nullptr) + , m_defaultModel(nullptr) + , m_updaterModel(nullptr) + , m_guiObject(nullptr) + , m_remoteFileEngineHandler(new RemoteFileEngineHandler) { foreach (const OperationBlob &operation, performedOperations) { QScopedPointer<QInstaller::Operation> op(KDUpdater::UpdateOperationFactory::instance() @@ -363,7 +366,7 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c for (it = components.constBegin(); it != components.constEnd(); ++it) { QString id = it.key(); QInstaller::Component *component = it.value(); - while (!id.isEmpty() && component->parentComponent() == 0) { + while (!id.isEmpty() && component->parentComponent() == nullptr) { id = id.section(QLatin1Char('.'), 0, -2); if (components.contains(id)) components[id]->appendComponent(component); @@ -372,7 +375,7 @@ bool PackageManagerCorePrivate::buildComponentTree(QHash<QString, Component*> &c // append all components w/o parent to the direct list foreach (QInstaller::Component *component, components) { - if (component->parentComponent() == 0) + if (component->parentComponent() == nullptr) m_core->appendRootComponent(component); } @@ -443,7 +446,7 @@ void PackageManagerCorePrivate::cleanUpComponentEnvironment() // there could be still some references to already deleted components, // so we need to remove the current component script engine delete m_componentScriptEngine; - m_componentScriptEngine = 0; + m_componentScriptEngine = nullptr; } ScriptEngine *PackageManagerCorePrivate::componentScriptEngine() const @@ -517,7 +520,7 @@ QHash<QString, QPair<Component*, Component*> > &PackageManagerCorePrivate::compo void PackageManagerCorePrivate::clearInstallerCalculator() { delete m_installerCalculator; - m_installerCalculator = 0; + m_installerCalculator = nullptr; } InstallerCalculator *PackageManagerCorePrivate::installerCalculator() const @@ -533,7 +536,7 @@ InstallerCalculator *PackageManagerCorePrivate::installerCalculator() const void PackageManagerCorePrivate::clearUninstallerCalculator() { delete m_uninstallerCalculator; - m_uninstallerCalculator = 0; + m_uninstallerCalculator = nullptr; } UninstallerCalculator *PackageManagerCorePrivate::uninstallerCalculator() const @@ -685,7 +688,7 @@ Operation *PackageManagerCorePrivate::createOwnedOperation(const QString &type) Operation *PackageManagerCorePrivate::takeOwnedOperation(Operation *operation) { if (!m_ownedOperations.contains(operation)) - return 0; + return nullptr; m_ownedOperations.removeAll(operation); return operation; @@ -939,7 +942,7 @@ void PackageManagerCorePrivate::connectOperationToInstaller(Operation *const ope { Q_ASSERT(operationPartSize); QObject *const operationObject = dynamic_cast< QObject*> (operation); - if (operationObject != 0) { + if (operationObject != nullptr) { const QMetaObject *const mo = operationObject->metaObject(); if (mo->indexOfSignal(QMetaObject::normalizedSignature("outputTextChanged(QString)")) > -1) { connect(operationObject, SIGNAL(outputTextChanged(QString)), ProgressCoordinator::instance(), @@ -1653,7 +1656,7 @@ bool PackageManagerCorePrivate::runPackageUpdater() // build a list of undo operations based on the checked state of the component foreach (Operation *operation, performedOperationsOld) { const QString &name = operation->value(QLatin1String("component")).toString(); - Component *component = componentsByName.value(name, 0); + Component *component = componentsByName.value(name, nullptr); if (!component) component = m_core->componentByName(PackageManagerCore::checkableName(name)); if (component) @@ -2354,8 +2357,13 @@ void PackageManagerCorePrivate::restoreCheckState() if (m_coreCheckedHash.isEmpty()) return; - foreach (Component *component, m_coreCheckedHash.keys()) + foreach (Component *component, m_coreCheckedHash.keys()) { component->setCheckState(m_coreCheckedHash.value(component)); + // Never allow component to be checked when it is unstable + // and not installed + if (component->isUnstable() && !component->isInstalled()) + component->setCheckState(Qt::Unchecked); + } m_coreCheckedHash.clear(); m_componentsToInstallCalculated = false; @@ -2374,7 +2382,7 @@ void PackageManagerCorePrivate::storeCheckState() void PackageManagerCorePrivate::connectOperationCallMethodRequest(Operation *const operation) { QObject *const operationObject = dynamic_cast<QObject *> (operation); - if (operationObject != 0) { + if (operationObject != nullptr) { const QMetaObject *const mo = operationObject->metaObject(); if (mo->indexOfSignal(QMetaObject::normalizedSignature("requestBlockingExecution(QString)")) > -1) { connect(operationObject, SIGNAL(requestBlockingExecution(QString)), @@ -2417,7 +2425,7 @@ OperationList PackageManagerCorePrivate::sortOperationsBasedOnComponentDependenc void PackageManagerCorePrivate::handleMethodInvocationRequest(const QString &invokableMethodName) { QObject *obj = QObject::sender(); - if (obj != 0) + if (obj != nullptr) QMetaObject::invokeMethod(obj, qPrintable(invokableMethodName)); } |