diff --git a/src/plugins/git/clonewizardpage.cpp b/src/plugins/git/clonewizardpage.cpp index 25a048f29194e3bb30f6c4d3175b6e62c431b13c..adebffb75db53b53116618a7e739702c4540fbfc 100644 --- a/src/plugins/git/clonewizardpage.cpp +++ b/src/plugins/git/clonewizardpage.cpp @@ -33,6 +33,8 @@ #include <vcsbase/command.h> +#include <QCheckBox> + namespace Git { struct CloneWizardPagePrivate { @@ -43,12 +45,14 @@ struct CloneWizardPagePrivate { const QString mainLinePostfix; const QString gitPostFix; const QString protocolDelimiter; + QCheckBox *recursiveCheckBox; }; CloneWizardPagePrivate::CloneWizardPagePrivate() : mainLinePostfix(QLatin1String("/mainline.git")), gitPostFix(QLatin1String(".git")), - protocolDelimiter(QLatin1String("://")) + protocolDelimiter(QLatin1String("://")), + recursiveCheckBox(0) { } @@ -68,6 +72,8 @@ CloneWizardPage::CloneWizardPage(QWidget *parent) : setTitle(tr("Location")); setSubTitle(tr("Specify repository URL, checkout directory and path.")); setRepositoryLabel(tr("Clone URL:")); + d->recursiveCheckBox = new QCheckBox(tr("Recursive")); + addLocalControl(d->recursiveCheckBox); } CloneWizardPage::~CloneWizardPage() @@ -124,6 +130,8 @@ VcsBase::Command *CloneWizardPage::createCheckoutJob(QString *checkoutPath) cons QStringList args(QLatin1String("clone")); if (!checkoutBranch.isEmpty()) args << QLatin1String("--branch") << checkoutBranch; + if (d->recursiveCheckBox->isChecked()) + args << QLatin1String("--recursive"); args << QLatin1String("--progress") << repository() << checkoutDir; VcsBase::Command *command = new VcsBase::Command(client->gitBinaryPath(), workingDirectory, client->processEnvironment());