summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/vcsbase/checkoutjobs.cpp11
-rw-r--r--src/plugins/vcsbase/checkoutprogresswizardpage.cpp7
-rw-r--r--src/plugins/vcsbase/checkoutwizarddialog.cpp2
3 files changed, 14 insertions, 6 deletions
diff --git a/src/plugins/vcsbase/checkoutjobs.cpp b/src/plugins/vcsbase/checkoutjobs.cpp
index 7a419a0098..257068d5b5 100644
--- a/src/plugins/vcsbase/checkoutjobs.cpp
+++ b/src/plugins/vcsbase/checkoutjobs.cpp
@@ -94,9 +94,16 @@ void ProcessCheckoutJob::slotOutput()
emit output(s);
}
-void ProcessCheckoutJob::slotError(QProcess::ProcessError /* error */)
+void ProcessCheckoutJob::slotError(QProcess::ProcessError error)
{
- emit failed(d->process.errorString());
+ switch (error) {
+ case QProcess::FailedToStart:
+ emit failed(tr("Unable to start %1: %2").arg(d->binary, d->process.errorString()));
+ break;
+ default:
+ emit failed(d->process.errorString());
+ break;
+ }
}
void ProcessCheckoutJob::slotFinished (int exitCode, QProcess::ExitStatus exitStatus)
diff --git a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
index 6af15fb0f8..8fcaef51fc 100644
--- a/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
+++ b/src/plugins/vcsbase/checkoutprogresswizardpage.cpp
@@ -63,10 +63,11 @@ void CheckoutProgressWizardPage::start(const QSharedPointer<AbstractCheckoutJob>
connect(job.data(), SIGNAL(succeeded()), this, SLOT(slotSucceeded()));
QApplication::setOverrideCursor(Qt::WaitCursor);
ui->logPlainTextEdit->clear();
- setSubTitle(tr("Checkout started..."));
- job->start();
+ setSubTitle(tr("Checkout started..."));
m_state = Running;
-
+ // Note: Process jobs can emit failed() right from
+ // the start() method on Windows.
+ job->start();
}
void CheckoutProgressWizardPage::slotFailed(const QString &why)
diff --git a/src/plugins/vcsbase/checkoutwizarddialog.cpp b/src/plugins/vcsbase/checkoutwizarddialog.cpp
index 9cb5a6a45e..36b9c271ee 100644
--- a/src/plugins/vcsbase/checkoutwizarddialog.cpp
+++ b/src/plugins/vcsbase/checkoutwizarddialog.cpp
@@ -70,9 +70,9 @@ void CheckoutWizardDialog::slotTerminated(bool success)
void CheckoutWizardDialog::start(const QSharedPointer<AbstractCheckoutJob> &job)
{
- m_progressPage->start(job);
// No "back" available while running.
button(QWizard::BackButton)->setEnabled(false);
+ m_progressPage->start(job);
}
void CheckoutWizardDialog::reject()