diff --git a/src/plugins/madde/maemopackagecreationstep.cpp b/src/plugins/madde/maemopackagecreationstep.cpp index 20549fefc7f57db05b37aef6bf7c97fc6af9cb59..8542aa9c4f2dea3b46bb4d24ccd335286d4991aa 100644 --- a/src/plugins/madde/maemopackagecreationstep.cpp +++ b/src/plugins/madde/maemopackagecreationstep.cpp @@ -156,22 +156,22 @@ void AbstractMaemoPackageCreationStep::handleBuildOutput() const Qt4BuildConfiguration *AbstractMaemoPackageCreationStep::qt4BuildConfiguration() const { - return static_cast<Qt4BuildConfiguration *>(buildConfiguration()); + return static_cast<Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); } AbstractQt4MaemoTarget *AbstractMaemoPackageCreationStep::maemoTarget() const { - return qobject_cast<AbstractQt4MaemoTarget *>(buildConfiguration()->target()); + return qobject_cast<AbstractQt4MaemoTarget *>(target()); } AbstractDebBasedQt4MaemoTarget *AbstractMaemoPackageCreationStep::debBasedMaemoTarget() const { - return qobject_cast<AbstractDebBasedQt4MaemoTarget*>(buildConfiguration()->target()); + return qobject_cast<AbstractDebBasedQt4MaemoTarget*>(target()); } AbstractRpmBasedQt4MaemoTarget *AbstractMaemoPackageCreationStep::rpmBasedMaemoTarget() const { - return qobject_cast<AbstractRpmBasedQt4MaemoTarget*>(buildConfiguration()->target()); + return qobject_cast<AbstractRpmBasedQt4MaemoTarget*>(target()); } bool AbstractMaemoPackageCreationStep::isPackagingNeeded() const @@ -293,7 +293,7 @@ bool MaemoDebianPackageCreationStep::init() if (!AbstractMaemoPackageCreationStep::init()) return false; m_maddeRoot = MaemoGlobal::maddeRoot(qt4BuildConfiguration()->qtVersion()->qmakeCommand()); - m_projectDirectory = buildConfiguration()->target()->project()->projectDirectory(); + m_projectDirectory = project()->projectDirectory(); m_pkgFileName = maemoTarget()->packageFileName(); m_packageName = maemoTarget()->packageName(); m_templatesDirPath = debBasedMaemoTarget()->debianDirPath(); @@ -364,7 +364,7 @@ bool MaemoDebianPackageCreationStep::isMetaDataNewerThan(const QDateTime &packag void MaemoDebianPackageCreationStep::checkProjectName() { const QRegExp legalName(QLatin1String("[0-9-+a-z\\.]+")); - if (!legalName.exactMatch(buildConfiguration()->target()->project()->displayName())) { + if (!legalName.exactMatch(project()->displayName())) { emit addTask(Task(Task::Warning, tr("Your project name contains characters not allowed in " "Debian packages.\nThey must only use lower-case letters, " diff --git a/src/plugins/projectexplorer/abstractprocessstep.cpp b/src/plugins/projectexplorer/abstractprocessstep.cpp index b01460aef4f3d7c0fe39eaef22edaf37fdf7513b..1d4ee6e02ad6b8dc93c3fe63ba0af76a2090d785 100644 --- a/src/plugins/projectexplorer/abstractprocessstep.cpp +++ b/src/plugins/projectexplorer/abstractprocessstep.cpp @@ -381,7 +381,7 @@ void AbstractProcessStep::taskAdded(const ProjectExplorer::Task &task) QList<QFileInfo> possibleFiles; QString fileName = QFileInfo(filePath).fileName(); - foreach (const QString &file, buildConfiguration()->target()->project()->files(ProjectExplorer::Project::AllFiles)) { + foreach (const QString &file, project()->files(ProjectExplorer::Project::AllFiles)) { QFileInfo candidate(file); if (candidate.fileName() == fileName) possibleFiles << candidate; diff --git a/src/plugins/projectexplorer/buildmanager.cpp b/src/plugins/projectexplorer/buildmanager.cpp index 0a5e2db5c3dae27541a289f2fd3ea34491ab4109..e0c57664239ed7a5ac0ac08c3c8bdf76b931c37f 100644 --- a/src/plugins/projectexplorer/buildmanager.cpp +++ b/src/plugins/projectexplorer/buildmanager.cpp @@ -42,7 +42,6 @@ #include "target.h" #include "taskwindow.h" #include "taskhub.h" -#include "buildconfiguration.h" #include <coreplugin/icore.h> #include <coreplugin/progressmanager/progressmanager.h> @@ -221,7 +220,7 @@ void BuildManager::cancel() QTimer::singleShot(0, this, SLOT(emitCancelMessage())); disconnectOutput(d->m_currentBuildStep); - decrementActiveBuildSteps(d->m_currentBuildStep->buildConfiguration()->target()->project()); + decrementActiveBuildSteps(d->m_currentBuildStep->project()); d->m_progressFutureInterface->setProgressValueAndText(d->m_progress*100, tr("Build canceled")); //TODO NBS fix in qtconcurrent clearBuildQueue(); @@ -256,7 +255,7 @@ void BuildManager::emitCancelMessage() void BuildManager::clearBuildQueue() { foreach (BuildStep *bs, d->m_buildQueue) { - decrementActiveBuildSteps(bs->buildConfiguration()->target()->project()); + decrementActiveBuildSteps(bs->project()); disconnectOutput(bs); } @@ -382,13 +381,13 @@ void BuildManager::nextBuildQueue() disconnectOutput(d->m_currentBuildStep); ++d->m_progress; d->m_progressFutureInterface->setProgressValueAndText(d->m_progress*100, msgProgress(d->m_progress, d->m_maxProgress)); - decrementActiveBuildSteps(d->m_currentBuildStep->buildConfiguration()->target()->project()); + decrementActiveBuildSteps(d->m_currentBuildStep->project()); bool result = d->m_watcher.result(); if (!result) { // Build Failure - const QString projectName = d->m_currentBuildStep->buildConfiguration()->target()->project()->displayName(); - const QString targetName = d->m_currentBuildStep->buildConfiguration()->target()->displayName(); + const QString projectName = d->m_currentBuildStep->project()->displayName(); + const QString targetName = d->m_currentBuildStep->target()->displayName(); addToOutputWindow(tr("Error while building project %1 (target: %2)").arg(projectName, targetName), BuildStep::ErrorOutput); addToOutputWindow(tr("When executing build step '%1'").arg(d->m_currentBuildStep->displayName()), BuildStep::ErrorOutput); // NBS TODO fix in qtconcurrent @@ -429,11 +428,11 @@ void BuildManager::nextStep() d->m_currentBuildStep = d->m_buildQueue.front(); d->m_buildQueue.pop_front(); - if (d->m_currentBuildStep->buildConfiguration()->target()->project() != d->m_previousBuildStepProject) { - const QString projectName = d->m_currentBuildStep->buildConfiguration()->target()->project()->displayName(); + if (d->m_currentBuildStep->project() != d->m_previousBuildStepProject) { + const QString projectName = d->m_currentBuildStep->project()->displayName(); addToOutputWindow(tr("Running build steps for project %1...") .arg(projectName), BuildStep::MessageOutput); - d->m_previousBuildStepProject = d->m_currentBuildStep->buildConfiguration()->target()->project(); + d->m_previousBuildStepProject = d->m_currentBuildStep->project(); } if (d->m_currentBuildStep->runInGuiThread()) { connect (d->m_currentBuildStep, SIGNAL(finished()), @@ -476,8 +475,8 @@ bool BuildManager::buildQueueAppend(QList<BuildStep *> steps) // cleaning up // print something for the user - const QString projectName = bs->buildConfiguration()->target()->project()->displayName(); - const QString targetName = bs->buildConfiguration()->target()->displayName(); + const QString projectName = bs->project()->displayName(); + const QString targetName = bs->project()->displayName(); addToOutputWindow(tr("Error while building project %1 (target: %2)").arg(projectName, targetName), BuildStep::ErrorOutput); addToOutputWindow(tr("When executing build step '%1'").arg(bs->displayName()), BuildStep::ErrorOutput); @@ -491,7 +490,7 @@ bool BuildManager::buildQueueAppend(QList<BuildStep *> steps) for (i = 0; i < count; ++i) { ++d->m_maxProgress; d->m_buildQueue.append(steps.at(i)); - incrementActiveBuildSteps(steps.at(i)->buildConfiguration()->target()->project()); + incrementActiveBuildSteps(steps.at(i)->target()->project()); } return true; } diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index 2a5ddaa961a066b978b11d3e486d077394bb99ba..6316be37b3aba64e722723def38aa34573d22003 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -142,18 +142,12 @@ BuildStep::~BuildStep() BuildConfiguration *BuildStep::buildConfiguration() const { - BuildConfiguration *bc = qobject_cast<BuildConfiguration *>(parent()->parent()); - if (!bc) - bc = target()->activeBuildConfiguration(); - return bc; + return qobject_cast<BuildConfiguration *>(parent()->parent()); } DeployConfiguration *BuildStep::deployConfiguration() const { - DeployConfiguration *dc = qobject_cast<DeployConfiguration *>(parent()->parent()); - if (!dc) - dc = target()->activeDeployConfiguration(); - return dc; + return qobject_cast<DeployConfiguration *>(parent()->parent()); } Target *BuildStep::target() const @@ -161,6 +155,11 @@ Target *BuildStep::target() const return qobject_cast<Target *>(parent()->parent()->parent()); } +Project *BuildStep::project() const +{ + return target()->project(); +} + bool BuildStep::immutable() const { return false; diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index a9b98a7ee26f45dfea297cfbc215b1a0f0b580f7..f253534ffaff5415c104307ce736e33cd57b588f 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -77,6 +77,7 @@ public: enum OutputFormat { NormalOutput, ErrorOutput, MessageOutput, ErrorMessageOutput }; enum OutputNewlineSetting { DoAppendNewline, DontAppendNewline }; + Project *project() const; signals: void addTask(const ProjectExplorer::Task &task); diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 0c36f58bd17f913c5fd7cd2f6c40c9bea6f7e1db..3627082e0db0958ad260c296da21454d2d27d81d 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -132,10 +132,9 @@ QString QMakeStep::allArguments(bool shorted) if (bc->subNodeBuild()) arguments << QDir::toNativeSeparators(bc->subNodeBuild()->path()); else if (shorted) - arguments << QDir::toNativeSeparators(QFileInfo( - buildConfiguration()->target()->project()->file()->fileName()).fileName()); + arguments << QDir::toNativeSeparators(QFileInfo(project()->file()->fileName()).fileName()); else - arguments << QDir::toNativeSeparators(buildConfiguration()->target()->project()->file()->fileName()); + arguments << QDir::toNativeSeparators(project()->file()->fileName()); arguments << "-r"; bool userProvidedMkspec = false; diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp index 308fd1476b56cb7e32a838d74aa52fb0374498ce..1a7562d9c64722cf3252eb7597cecea7b0814fd3 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp @@ -175,12 +175,12 @@ bool S60CreatePackageStep::fromMap(const QVariantMap &map) Qt4BuildConfiguration *S60CreatePackageStep::qt4BuildConfiguration() const { - return static_cast<Qt4BuildConfiguration *>(buildConfiguration()); + return static_cast<Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); } bool S60CreatePackageStep::init() { - Qt4Project *pro = qobject_cast<Qt4Project *>(buildConfiguration()->target()->project()); + Qt4Project *pro = qobject_cast<Qt4Project *>(project()); QList<Qt4ProFileNode *> nodes = pro->allProFiles(); @@ -200,7 +200,7 @@ bool S60CreatePackageStep::init() m_makeCmd = qt4BuildConfiguration()->makeCommand(); if (!QFileInfo(m_makeCmd).isAbsolute()) { // Try to detect command in environment - const QString tmp = buildConfiguration()->environment().searchInPath(m_makeCmd); + const QString tmp = qt4BuildConfiguration()->environment().searchInPath(m_makeCmd); if (tmp.isEmpty()) { emit addOutput(tr("Could not find make command '%1' in the build environment").arg(m_makeCmd), BuildStep::ErrorOutput); return false; @@ -711,7 +711,7 @@ bool S60CreatePackageStep::createsSmartInstaller() const void S60CreatePackageStep::setCreatesSmartInstaller(bool value) { m_createSmartInstaller = value; - static_cast<Qt4BuildConfiguration *>(buildConfiguration())->emitS60CreatesSmartInstallerChanged(); + qt4BuildConfiguration()->emitS60CreatesSmartInstallerChanged(); } void S60CreatePackageStep::resetPassphrases() diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp index 1e971ce0f9f7cf90d3660db8e82435b9cb737f90..ead6b8d8375f995a84dc3163e90fa0e38805c98c 100644 --- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp +++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp @@ -150,7 +150,7 @@ S60DeployStep::~S60DeployStep() bool S60DeployStep::init() { - Qt4BuildConfiguration *bc = static_cast<Qt4BuildConfiguration *>(buildConfiguration()); + Qt4BuildConfiguration *bc = static_cast<Qt4BuildConfiguration *>(target()->activeBuildConfiguration()); S60DeployConfiguration *deployConfiguration = static_cast<S60DeployConfiguration *>(bc->target()->activeDeployConfiguration()); if (!deployConfiguration) return false; diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp index 8c0fbcff0059e56d872f487ea86a3c060697e760..d20c03105ae728ad1ad6a26ef66b9047116a2189 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp @@ -36,6 +36,7 @@ #include "remotelinuxdeploystepwidget.h" #include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/target.h> #include <qt4projectmanager/qt4buildconfiguration.h> using namespace ProjectExplorer; @@ -88,7 +89,7 @@ bool AbstractRemoteLinuxDeployStep::init() bool AbstractRemoteLinuxDeployStep::isDeploymentPossible(QString *whyNot) const { deployService()->setDeviceConfiguration(deployConfiguration()->deviceConfiguration()); - deployService()->setBuildConfiguration(qobject_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(buildConfiguration())); + deployService()->setBuildConfiguration(qobject_cast<Qt4ProjectManager::Qt4BuildConfiguration *>(target()->activeBuildConfiguration())); return deployService()->isDeploymentPossible(whyNot); } diff --git a/src/plugins/remotelinux/tarpackagecreationstep.cpp b/src/plugins/remotelinux/tarpackagecreationstep.cpp index 8cdc2186fe8cb9818d6e59ca470f680be354692d..cb8bf1e11ff558afbc099c8b964cb0ab4577a1ba 100644 --- a/src/plugins/remotelinux/tarpackagecreationstep.cpp +++ b/src/plugins/remotelinux/tarpackagecreationstep.cpp @@ -297,7 +297,7 @@ bool TarPackageCreationStep::writeHeader(QFile &tarFile, const QFileInfo &fileIn QString TarPackageCreationStep::packageFileName() const { - return target()->project()->displayName() + QLatin1String(".tar"); + return project()->displayName() + QLatin1String(".tar"); } BuildStepConfigWidget *TarPackageCreationStep::createConfigWidget()