VCS: Enable calling runVcs from non-GUI threads

* Introduce a proxy class for thread synchronization
* Use signals for appending text to output window

Change-Id: Iecbb010e6b6e9dab27d9862a43dafa450f2bb1f8
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
Orgad Shaneh
2013-08-16 17:02:30 +03:00
committed by Orgad Shaneh
parent 1dd44cfba1
commit cc2610aa71
9 changed files with 103 additions and 34 deletions

View File

@@ -146,7 +146,8 @@ bool MercurialClient::synchronousPull(const QString &workingDir, const QString &
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert(QLatin1String("LANGUAGE"), QLatin1String("C"));
const Utils::SynchronousProcessResponse resp = VcsBase::VcsBasePlugin::runVcs(
workingDir, binary, args, timeoutSec * 1000, env, flags);
workingDir, binary, args, timeoutSec * 1000, env,
VcsBase::VcsBasePlugin::sshPrompt(), flags);
const bool ok = resp.result == Utils::SynchronousProcessResponse::Finished;
parsePullOutput(resp.stdOut.trimmed());