forked from qt-creator/qt-creator
Move most of the BuildConfiguration specific functions
Note: I didn't fix all the connects and there are a few missing things. This compiles, more work is coming.
This commit is contained in:
@@ -34,6 +34,7 @@
|
||||
#include "qt4project.h"
|
||||
#include "qt4projectmanagerconstants.h"
|
||||
#include "qt4projectmanager.h"
|
||||
#include "qt4buildconfiguration.h"
|
||||
#include "ui_qt4projectconfigwidget.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
@@ -53,9 +54,9 @@ using namespace Qt4ProjectManager::Internal;
|
||||
|
||||
Qt4ProjectConfigWidget::Qt4ProjectConfigWidget(Qt4Project *project)
|
||||
: BuildConfigWidget(),
|
||||
m_pro(project),
|
||||
m_buildConfiguration(0)
|
||||
{
|
||||
Q_UNUSED(project);
|
||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||
vbox->setMargin(0);
|
||||
m_detailsContainer = new Utils::DetailsWidget(this);
|
||||
@@ -112,9 +113,9 @@ Qt4ProjectConfigWidget::~Qt4ProjectConfigWidget()
|
||||
|
||||
void Qt4ProjectConfigWidget::updateDetails()
|
||||
{
|
||||
QtVersion *version = m_pro->qtVersion(m_buildConfiguration);
|
||||
QtVersion *version = m_buildConfiguration->qtVersion();
|
||||
QString versionString;
|
||||
if (m_pro->qtVersionId(m_buildConfiguration) == 0) {
|
||||
if (m_buildConfiguration->qtVersionId() == 0) {
|
||||
versionString = tr("Default Qt Version (%1)").arg(version->name());
|
||||
} else if(version){
|
||||
versionString = version->name();
|
||||
@@ -126,8 +127,8 @@ void Qt4ProjectConfigWidget::updateDetails()
|
||||
"with tool chain <b>%2</b><br>"
|
||||
"building in <b>%3</b>")
|
||||
.arg(versionString,
|
||||
ProjectExplorer::ToolChain::toolChainName(m_pro->toolChainType(m_buildConfiguration)),
|
||||
QDir::toNativeSeparators(m_pro->buildDirectory(m_buildConfiguration))));
|
||||
ProjectExplorer::ToolChain::toolChainName(m_buildConfiguration->toolChainType()),
|
||||
QDir::toNativeSeparators(m_buildConfiguration->buildDirectory())));
|
||||
}
|
||||
|
||||
void Qt4ProjectConfigWidget::manageQtVersions()
|
||||
@@ -147,7 +148,7 @@ void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||
if (debug)
|
||||
qDebug() << "Qt4ProjectConfigWidget::init() for"<<bc->displayName();
|
||||
|
||||
m_buildConfiguration = bc;
|
||||
m_buildConfiguration = static_cast<Qt4BuildConfiguration *>(bc);
|
||||
m_ui->nameLineEdit->setText(m_buildConfiguration->displayName());
|
||||
|
||||
setupQtVersionsComboBox();
|
||||
@@ -156,7 +157,7 @@ void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||
m_ui->shadowBuildCheckBox->setChecked(shadowBuild);
|
||||
m_ui->shadowBuildDirEdit->setEnabled(shadowBuild);
|
||||
m_browseButton->setEnabled(shadowBuild);
|
||||
m_ui->shadowBuildDirEdit->setPath(m_pro->buildDirectory(m_buildConfiguration));
|
||||
m_ui->shadowBuildDirEdit->setPath(m_buildConfiguration->buildDirectory());
|
||||
updateImportLabel();
|
||||
updateToolChainCombo();
|
||||
updateDetails();
|
||||
@@ -164,7 +165,7 @@ void Qt4ProjectConfigWidget::init(ProjectExplorer::BuildConfiguration *bc)
|
||||
|
||||
void Qt4ProjectConfigWidget::changeConfigName(const QString &newName)
|
||||
{
|
||||
m_pro->setDisplayNameFor(m_buildConfiguration, newName);
|
||||
m_buildConfiguration->project()->setDisplayNameFor(m_buildConfiguration, newName);
|
||||
}
|
||||
|
||||
void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
||||
@@ -180,7 +181,7 @@ void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
||||
m_ui->qtVersionComboBox->clear();
|
||||
m_ui->qtVersionComboBox->addItem(tr("Default Qt Version (%1)").arg(vm->defaultVersion()->name()), 0);
|
||||
|
||||
int qtVersionId = m_pro->qtVersionId(m_buildConfiguration);
|
||||
int qtVersionId = m_buildConfiguration->qtVersionId();
|
||||
|
||||
if (qtVersionId == 0) {
|
||||
m_ui->qtVersionComboBox->setCurrentIndex(0);
|
||||
@@ -204,7 +205,7 @@ void Qt4ProjectConfigWidget::setupQtVersionsComboBox()
|
||||
|
||||
void Qt4ProjectConfigWidget::onBeforeBeforeShadowBuildDirBrowsed()
|
||||
{
|
||||
QString initialDirectory = QFileInfo(m_pro->file()->fileName()).absolutePath();
|
||||
QString initialDirectory = QFileInfo(m_buildConfiguration->project()->file()->fileName()).absolutePath();
|
||||
if (!initialDirectory.isEmpty())
|
||||
m_ui->shadowBuildDirEdit->setInitialBrowsePathBackup(initialDirectory);
|
||||
}
|
||||
@@ -220,7 +221,7 @@ void Qt4ProjectConfigWidget::shadowBuildCheckBoxClicked(bool checked)
|
||||
else
|
||||
m_buildConfiguration->setValue("buildDirectory", QVariant(QString::null));
|
||||
updateDetails();
|
||||
m_pro->invalidateCachedTargetInformation();
|
||||
static_cast<Qt4Project *>(m_buildConfiguration->project())->invalidateCachedTargetInformation();
|
||||
updateImportLabel();
|
||||
}
|
||||
|
||||
@@ -229,9 +230,9 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
||||
bool visible = false;
|
||||
|
||||
// we only show if we actually have a qmake and makestep
|
||||
if (m_pro->qmakeStep(m_buildConfiguration) && m_pro->makeStep(m_buildConfiguration)) {
|
||||
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(m_pro->buildDirectory(m_buildConfiguration));
|
||||
QtVersion *version = m_pro->qtVersion(m_buildConfiguration);
|
||||
if (m_buildConfiguration->qmakeStep() && m_buildConfiguration->makeStep()) {
|
||||
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(m_buildConfiguration->buildDirectory());
|
||||
QtVersion *version = m_buildConfiguration->qtVersion();
|
||||
// check that there's a makefile
|
||||
if (!qmakePath.isEmpty()) {
|
||||
// and that the qmake path is different from the current version
|
||||
@@ -240,7 +241,7 @@ void Qt4ProjectConfigWidget::updateImportLabel()
|
||||
visible = true;
|
||||
} else {
|
||||
// check that the qmake flags, arguments match
|
||||
visible = !m_pro->compareBuildConfigurationToImportFrom(m_buildConfiguration, m_pro->buildDirectory(m_buildConfiguration));
|
||||
visible = !m_buildConfiguration->compareBuildConfigurationToImportFrom(m_buildConfiguration->buildDirectory());
|
||||
}
|
||||
} else {
|
||||
visible = false;
|
||||
@@ -260,15 +261,15 @@ void Qt4ProjectConfigWidget::shadowBuildLineEditTextChanged()
|
||||
// offer to import it
|
||||
updateImportLabel();
|
||||
|
||||
m_pro->invalidateCachedTargetInformation();
|
||||
static_cast<Qt4Project *>(m_buildConfiguration->project())->invalidateCachedTargetInformation();
|
||||
updateDetails();
|
||||
}
|
||||
|
||||
void Qt4ProjectConfigWidget::importLabelClicked()
|
||||
{
|
||||
if (!m_pro->qmakeStep(m_buildConfiguration) || !m_pro->makeStep(m_buildConfiguration))
|
||||
if (!m_buildConfiguration->qmakeStep() || !m_buildConfiguration->makeStep())
|
||||
return;
|
||||
QString directory = m_pro->buildDirectory(m_buildConfiguration);
|
||||
QString directory = m_buildConfiguration->buildDirectory();
|
||||
if (!directory.isEmpty()) {
|
||||
QString qmakePath = QtVersionManager::findQMakeBinaryFromMakefile(directory);
|
||||
if (!qmakePath.isEmpty()) {
|
||||
@@ -293,12 +294,12 @@ void Qt4ProjectConfigWidget::importLabelClicked()
|
||||
}
|
||||
|
||||
// So we got all the information now apply it...
|
||||
m_pro->setQtVersion(m_buildConfiguration, version->uniqueId());
|
||||
m_buildConfiguration->setQtVersion(version->uniqueId());
|
||||
// Combo box will be updated at the end
|
||||
|
||||
QMakeStep *qmakeStep = m_pro->qmakeStep(m_buildConfiguration);
|
||||
QMakeStep *qmakeStep = m_buildConfiguration->qmakeStep();
|
||||
qmakeStep->setQMakeArguments(additionalArguments);
|
||||
MakeStep *makeStep = m_pro->makeStep(m_buildConfiguration);
|
||||
MakeStep *makeStep = m_buildConfiguration->makeStep();
|
||||
|
||||
m_buildConfiguration->setValue("buildConfiguration", int(qmakeBuildConfig));
|
||||
// Adjust command line arguments, this is ugly as hell
|
||||
@@ -335,10 +336,10 @@ void Qt4ProjectConfigWidget::qtVersionComboBoxCurrentIndexChanged(const QString
|
||||
QtVersionManager *vm = QtVersionManager::instance();
|
||||
bool isValid = vm->version(newQtVersion)->isValid();
|
||||
m_ui->invalidQtWarningLabel->setVisible(!isValid);
|
||||
if (newQtVersion != m_pro->qtVersionId(m_buildConfiguration)) {
|
||||
m_pro->setQtVersion(m_buildConfiguration, newQtVersion);
|
||||
if (newQtVersion != m_buildConfiguration->qtVersionId()) {
|
||||
m_buildConfiguration->setQtVersion(newQtVersion);
|
||||
updateToolChainCombo();
|
||||
m_pro->update();
|
||||
static_cast<Qt4Project *>(m_buildConfiguration->project())->update();
|
||||
}
|
||||
updateDetails();
|
||||
}
|
||||
@@ -346,19 +347,19 @@ void Qt4ProjectConfigWidget::qtVersionComboBoxCurrentIndexChanged(const QString
|
||||
void Qt4ProjectConfigWidget::updateToolChainCombo()
|
||||
{
|
||||
m_ui->toolChainComboBox->clear();
|
||||
QList<ProjectExplorer::ToolChain::ToolChainType> toolchains = m_pro->qtVersion(m_buildConfiguration)->possibleToolChainTypes();
|
||||
QList<ProjectExplorer::ToolChain::ToolChainType> toolchains = m_buildConfiguration->qtVersion()->possibleToolChainTypes();
|
||||
using namespace ProjectExplorer;
|
||||
foreach (ToolChain::ToolChainType toolchain, toolchains) {
|
||||
m_ui->toolChainComboBox->addItem(ToolChain::toolChainName(toolchain), qVariantFromValue(toolchain));
|
||||
}
|
||||
m_ui->toolChainComboBox->setEnabled(toolchains.size() > 1);
|
||||
setToolChain(toolchains.indexOf(m_pro->toolChainType(m_buildConfiguration)));
|
||||
setToolChain(toolchains.indexOf(m_buildConfiguration->toolChainType()));
|
||||
}
|
||||
|
||||
void Qt4ProjectConfigWidget::selectToolChain(int index)
|
||||
{
|
||||
setToolChain(index);
|
||||
m_pro->update();
|
||||
static_cast<Qt4Project *>(m_buildConfiguration->project())->update();
|
||||
}
|
||||
|
||||
void Qt4ProjectConfigWidget::setToolChain(int index)
|
||||
@@ -366,7 +367,7 @@ void Qt4ProjectConfigWidget::setToolChain(int index)
|
||||
ProjectExplorer::ToolChain::ToolChainType selectedToolChainType =
|
||||
m_ui->toolChainComboBox->itemData(index,
|
||||
Qt::UserRole).value<ProjectExplorer::ToolChain::ToolChainType>();
|
||||
m_pro->setToolChainType(m_buildConfiguration, selectedToolChainType);
|
||||
m_buildConfiguration->setToolChainType(selectedToolChainType);
|
||||
if (m_ui->toolChainComboBox->currentIndex() != index)
|
||||
m_ui->toolChainComboBox->setCurrentIndex(index);
|
||||
updateDetails();
|
||||
|
||||
Reference in New Issue
Block a user