2016-01-15 14:57:40 +01:00
|
|
|
/****************************************************************************
|
2011-11-29 14:19:28 +01:00
|
|
|
**
|
2016-01-15 14:57:40 +01:00
|
|
|
** Copyright (C) 2016 Openismus GmbH.
|
|
|
|
|
** Author: Peter Penz (ppenz@openismus.com)
|
|
|
|
|
** Author: Patricia Santana Cruz (patriciasantanacruz@gmail.com)
|
|
|
|
|
** Contact: https://www.qt.io/licensing/
|
2011-11-29 14:19:28 +01:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
** This file is part of Qt Creator.
|
2011-11-29 14:19:28 +01:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
** Commercial License Usage
|
|
|
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
|
|
|
** accordance with the commercial license agreement provided with the
|
|
|
|
|
** Software or, alternatively, in accordance with the terms contained in
|
2016-01-15 14:57:40 +01:00
|
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
|
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
|
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
2011-11-29 14:19:28 +01:00
|
|
|
**
|
2016-01-15 14:57:40 +01:00
|
|
|
** GNU General Public License Usage
|
|
|
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
|
|
|
** General Public License version 3 as published by the Free Software
|
|
|
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
|
|
|
** included in the packaging of this file. Please review the following
|
|
|
|
|
** information to ensure the GNU General Public License requirements will
|
|
|
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
2011-11-29 14:19:28 +01:00
|
|
|
**
|
2012-10-02 09:12:39 +02:00
|
|
|
****************************************************************************/
|
2011-11-29 14:19:28 +01:00
|
|
|
|
|
|
|
|
#include "autotoolsopenprojectwizard.h"
|
|
|
|
|
|
2012-07-25 09:48:48 +02:00
|
|
|
#include <utils/pathchooser.h>
|
|
|
|
|
|
2012-02-15 10:42:41 +01:00
|
|
|
#include <QVBoxLayout>
|
|
|
|
|
#include <QFormLayout>
|
|
|
|
|
#include <QLabel>
|
|
|
|
|
#include <QDir>
|
2011-11-29 14:19:28 +01:00
|
|
|
|
|
|
|
|
using namespace AutotoolsProjectManager;
|
|
|
|
|
using namespace AutotoolsProjectManager::Internal;
|
|
|
|
|
|
|
|
|
|
//////////////////////////////////////
|
|
|
|
|
// AutotoolsOpenProjectWizard class
|
|
|
|
|
//////////////////////////////////////
|
|
|
|
|
AutotoolsOpenProjectWizard::AutotoolsOpenProjectWizard(AutotoolsManager *manager,
|
|
|
|
|
const QString &sourceDirectory,
|
|
|
|
|
QWidget *parent)
|
|
|
|
|
: Utils::Wizard(parent),
|
|
|
|
|
m_manager(manager),
|
|
|
|
|
m_sourceDirectory(sourceDirectory)
|
|
|
|
|
{
|
|
|
|
|
QDir dir(m_sourceDirectory);
|
|
|
|
|
m_buildDirectory = dir.absolutePath();
|
|
|
|
|
|
|
|
|
|
setPage(BuildPathPageId, new BuildPathPage(this));
|
|
|
|
|
|
|
|
|
|
setStartId(BuildPathPageId);
|
|
|
|
|
setWindowTitle(tr("Autotools Wizard"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AutotoolsManager *AutotoolsOpenProjectWizard::autotoolsManager() const
|
|
|
|
|
{
|
|
|
|
|
return m_manager;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString AutotoolsOpenProjectWizard::buildDirectory() const
|
|
|
|
|
{
|
|
|
|
|
return m_buildDirectory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString AutotoolsOpenProjectWizard::sourceDirectory() const
|
|
|
|
|
{
|
|
|
|
|
return m_sourceDirectory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void AutotoolsOpenProjectWizard::setBuildDirectory(const QString &directory)
|
|
|
|
|
{
|
|
|
|
|
m_buildDirectory = directory;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/////////////////////////
|
|
|
|
|
// BuildPathPage class
|
|
|
|
|
/////////////////////////
|
|
|
|
|
BuildPathPage::BuildPathPage(AutotoolsOpenProjectWizard *wizard)
|
|
|
|
|
: QWizardPage(wizard), m_wizard(wizard)
|
|
|
|
|
{
|
|
|
|
|
QFormLayout *fl = new QFormLayout;
|
|
|
|
|
this->setLayout(fl);
|
|
|
|
|
|
|
|
|
|
QLabel *label = new QLabel(this);
|
|
|
|
|
label->setWordWrap(true);
|
|
|
|
|
label->setText(tr("Please enter the directory in which you want to build your project. "
|
|
|
|
|
"Qt Creator recommends to not use the source directory for building. "
|
|
|
|
|
"This ensures that the source directory remains clean and enables multiple builds "
|
|
|
|
|
"with different settings."));
|
|
|
|
|
fl->addWidget(label);
|
|
|
|
|
m_pc = new Utils::PathChooser(this);
|
2013-11-25 14:31:31 +01:00
|
|
|
m_pc->setHistoryCompleter(QLatin1String("AutoTools.BuildDir.History"));
|
2011-11-29 14:19:28 +01:00
|
|
|
m_pc->setBaseDirectory(m_wizard->sourceDirectory());
|
|
|
|
|
m_pc->setPath(m_wizard->buildDirectory());
|
2015-08-20 14:56:30 +02:00
|
|
|
connect(m_pc, &Utils::PathChooser::rawPathChanged, this, &BuildPathPage::buildDirectoryChanged);
|
2011-11-29 14:19:28 +01:00
|
|
|
fl->addRow(tr("Build directory:"), m_pc);
|
|
|
|
|
setTitle(tr("Build Location"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void BuildPathPage::buildDirectoryChanged()
|
|
|
|
|
{
|
|
|
|
|
m_wizard->setBuildDirectory(m_pc->path());
|
|
|
|
|
}
|