#include "clonewizard.h" #include "clonewizardpage.h" #include "mercurialplugin.h" #include "mercurialsettings.h" #include using namespace Mercurial::Internal; CloneWizard::CloneWizard(QObject *parent) : VCSBase::BaseCheckoutWizard(parent), m_icon(QIcon(":/mercurial/images/hg.png")) { } QIcon CloneWizard::icon() const { return m_icon; } QString CloneWizard::description() const { return tr("Clone a Mercurial repository"); } QString CloneWizard::name() const { return tr("Mercurial Clone"); } QList CloneWizard::createParameterPages(const QString &path) { QList wizardPageList; CloneWizardPage *page = new CloneWizardPage; page->setPath(path); wizardPageList.push_back(page); return wizardPageList; } QSharedPointer CloneWizard::createJob(const QList ¶meterPages, QString *checkoutPath) { const CloneWizardPage *page = qobject_cast(parameterPages.front()); if (!page) return QSharedPointer(); MercurialSettings *settings = MercurialPlugin::instance()->settings(); QStringList args = settings->standardArguments(); QString path = page->path(); QString directory = page->directory(); args << "clone" << page->repository() << directory; *checkoutPath = path + "/" + directory; return QSharedPointer(new VCSBase::ProcessCheckoutJob(settings->binary(), args, path)); }