summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/packagemanagercore.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/installer/packagemanagercore.cpp')
-rw-r--r--src/libs/installer/packagemanagercore.cpp22
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());