diff options
Diffstat (limited to 'src/libs/installer/packagemanagercore.cpp')
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index a4883b651..b90435993 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -49,7 +49,6 @@ #include "errors.h" #include "fsengineclient.h" #include "globals.h" -#include "getrepositoriesmetainfojob.h" #include "messageboxhandler.h" #include "packagemanagerproxyfactory.h" #include "progresscoordinator.h" @@ -185,10 +184,16 @@ */ /*! + \qmlsignal QInstaller::metaJobProgress(int progress) + + Triggered with progress updates of the while communicating with a remote repository. Progress + ranges from 0 to 100. +*/ + +/*! \qmlsignal QInstaller::metaJobInfoMessage(string message) Triggered with informative updates of the communication with a remote repository. - This is only useful for debugging purposes. */ /*! @@ -459,8 +464,7 @@ void PackageManagerCore::setCompleteUninstallation(bool complete) */ void PackageManagerCore::cancelMetaInfoJob() { - if (d->m_repoMetaInfoJob) - d->m_repoMetaInfoJob->cancel(); + d->m_metadataJob.cancel(); } /*! @@ -1534,7 +1538,6 @@ bool PackageManagerCore::localInstallerBinaryUsed() QList<QVariant> PackageManagerCore::execute(const QString &program, const QStringList &arguments, const QString &stdIn) const { - QEventLoop loop; QProcessWrapper process; QString adjustedProgram = replaceVariables(program); @@ -1543,7 +1546,6 @@ QList<QVariant> PackageManagerCore::execute(const QString &program, const QStrin adjustedArguments.append(replaceVariables(argument)); QString adjustedStdIn = replaceVariables(stdIn); - connect(&process, SIGNAL(finished(int, QProcess::ExitStatus)), &loop, SLOT(quit())); process.start(adjustedProgram, adjustedArguments, adjustedStdIn.isNull() ? QIODevice::ReadOnly : QIODevice::ReadWrite); @@ -1555,8 +1557,7 @@ QList<QVariant> PackageManagerCore::execute(const QString &program, const QStrin process.closeWriteChannel(); } - if (process.state() != QProcessWrapper::NotRunning) - loop.exec(); + process.waitForFinished(-1); return QList<QVariant>() << QString::fromLatin1(process.readAllStandardOutput()) << process.exitCode(); } @@ -2099,8 +2100,9 @@ bool PackageManagerCore::updateComponentData(struct Data &data, Component *compo lastLocalPath = localPath; } - if (d->m_repoMetaInfoJob) { - const Repository &repo = d->m_repoMetaInfoJob->repositoryForTemporaryDirectory(localPath); + + const Repository repo = d->m_metadataJob.repositoryForDirectory(localPath); + if (repo.isValid()) { component->setRepositoryUrl(repo.url()); component->setValue(QLatin1String("username"), repo.username()); component->setValue(QLatin1String("password"), repo.password()); |