Header cleanup in Qt4ProjectManager.

Disentangle the covariant returns and introduce
convenience accessors.
Move internal classes away from Qt4Project.

Change-Id: I6c3158988824d2a159b1b3f8ecdf8432c32be2bc
Reviewed-on: http://codereview.qt.nokia.com/3216
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
This commit is contained in:
Friedemann Kleint
2011-08-18 16:46:44 +02:00
parent 4c116bbda6
commit d4e1d7c6ad
45 changed files with 231 additions and 154 deletions

View File

@@ -37,6 +37,8 @@
#include "subcomponentmanager.h" #include "subcomponentmanager.h"
#include "model/viewlogger.h" #include "model/viewlogger.h"
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <itemlibraryview.h> #include <itemlibraryview.h>
#include <itemlibrarywidget.h> #include <itemlibrarywidget.h>
#include <navigatorview.h> #include <navigatorview.h>

View File

@@ -32,6 +32,7 @@
#include "externaleditors.h" #include "externaleditors.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4target.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4buildconfiguration.h" #include "qt4buildconfiguration.h"
@@ -142,7 +143,7 @@ bool ExternalQtEditor::getEditorLaunchData(const QString &fileName,
// Get the binary either from the current Qt version of the project or Path // Get the binary either from the current Qt version of the project or Path
if (const Qt4Project *project = qt4ProjectFor(fileName)) { if (const Qt4Project *project = qt4ProjectFor(fileName)) {
if (const Qt4BaseTarget *target = project->activeTarget()) { if (const Qt4BaseTarget *target = project->activeTarget()) {
if (const Qt4BuildConfiguration *qt4bc = target->activeBuildConfiguration()) { if (const Qt4BuildConfiguration *qt4bc = target->activeQt4BuildConfiguration()) {
if (const QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion()) { if (const QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion()) {
data->binary = (qtVersion->*commandAccessor)(); data->binary = (qtVersion->*commandAccessor)();
data->workingDirectory = project->projectDirectory(); data->workingDirectory = project->projectDirectory();

View File

@@ -38,6 +38,7 @@
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h> #include <projectexplorer/session.h>
#include <projectexplorer/project.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <projectexplorer/toolchain.h> #include <projectexplorer/toolchain.h>
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>

View File

@@ -35,6 +35,7 @@
#include "qt4project.h" #include "qt4project.h"
#include "qt4target.h" #include "qt4target.h"
#include "qt4nodes.h"
#include "qt4buildconfiguration.h" #include "qt4buildconfiguration.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
@@ -222,7 +223,7 @@ bool MakeStep::init()
void MakeStep::run(QFutureInterface<bool> & fi) void MakeStep::run(QFutureInterface<bool> & fi)
{ {
if (qt4BuildConfiguration()->qt4Target()->qt4Project()->rootProjectNode()->projectType() == ScriptTemplate) { if (qt4BuildConfiguration()->qt4Target()->qt4Project()->rootQt4ProjectNode()->projectType() == ScriptTemplate) {
fi.reportResult(true); fi.reportResult(true);
return; return;
} }

View File

@@ -34,6 +34,8 @@
#include "wizards/targetsetuppage.h" #include "wizards/targetsetuppage.h"
#include "qt4project.h" #include "qt4project.h"
#include <coreplugin/ifile.h>
#include <QtGui/QCheckBox> #include <QtGui/QCheckBox>
#include <QtGui/QHeaderView> #include <QtGui/QHeaderView>
#include <QtGui/QLabel> #include <QtGui/QLabel>

View File

@@ -40,6 +40,7 @@
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4projectmanager.h" #include "qt4projectmanager.h"
#include "qt4target.h" #include "qt4target.h"
#include "qt4nodes.h"
#include "qt4basetargetfactory.h" #include "qt4basetargetfactory.h"
#include "ui_showbuildlog.h" #include "ui_showbuildlog.h"
@@ -264,7 +265,7 @@ bool QMakeStep::init()
setOutputParser(new QMakeParser); setOutputParser(new QMakeParser);
Qt4ProFileNode *node = qt4bc->qt4Target()->qt4Project()->rootProjectNode(); Qt4ProFileNode *node = qt4bc->qt4Target()->qt4Project()->rootQt4ProjectNode();
if (qt4bc->subNodeBuild()) if (qt4bc->subNodeBuild())
node = qt4bc->subNodeBuild(); node = qt4bc->subNodeBuild();
QString proFile = node->path(); QString proFile = node->path();

View File

@@ -34,16 +34,14 @@
#define QMAKESTEP_H #define QMAKESTEP_H
#include "qt4projectmanager_global.h" #include "qt4projectmanager_global.h"
#include <QtCore/qglobal.h> #include <projectexplorer/abstractprocessstep.h>
#include <QtCore/QStringList>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
namespace Ui { class QMakeStep; } namespace Ui { class QMakeStep; }
QT_END_NAMESPACE QT_END_NAMESPACE
#include <projectexplorer/abstractprocessstep.h>
#include <QtCore/QStringList>
namespace ProjectExplorer { namespace ProjectExplorer {
class BuildStep; class BuildStep;
class IBuildStepFactory; class IBuildStepFactory;

View File

@@ -32,7 +32,9 @@
#include "qt4desktoptarget.h" #include "qt4desktoptarget.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4nodes.h"
#include "qt4runconfiguration.h" #include "qt4runconfiguration.h"
#include "qt4buildconfiguration.h"
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
#include <projectexplorer/customexecutablerunconfiguration.h> #include <projectexplorer/customexecutablerunconfiguration.h>
#include <QtGui/QApplication> #include <QtGui/QApplication>
@@ -58,7 +60,7 @@ QString Qt4DesktopTarget::defaultDisplayName()
return QApplication::translate("Qt4ProjectManager::Qt4Target", "Desktop", "Qt4 Desktop target display name"); return QApplication::translate("Qt4ProjectManager::Qt4Target", "Desktop", "Qt4 Desktop target display name");
} }
Qt4BuildConfigurationFactory *Qt4DesktopTarget::buildConfigurationFactory() const ProjectExplorer::IBuildConfigurationFactory *Qt4DesktopTarget::buildConfigurationFactory() const
{ {
return m_buildConfigurationFactory; return m_buildConfigurationFactory;
} }

View File

@@ -38,6 +38,7 @@
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
class Qt4Project; class Qt4Project;
class Qt4BuildConfigurationFactory;
namespace Internal { namespace Internal {
@@ -49,7 +50,7 @@ public:
explicit Qt4DesktopTarget(Qt4Project *parent, const QString &id); explicit Qt4DesktopTarget(Qt4Project *parent, const QString &id);
virtual ~Qt4DesktopTarget(); virtual ~Qt4DesktopTarget();
Qt4BuildConfigurationFactory *buildConfigurationFactory() const; ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
void createApplicationProFiles(); void createApplicationProFiles();
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n); QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);

View File

@@ -42,6 +42,8 @@
#include <projectexplorer/customexecutablerunconfiguration.h> #include <projectexplorer/customexecutablerunconfiguration.h>
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
#include <qtsupport/qtversionmanager.h>
#include <QtGui/QVBoxLayout> #include <QtGui/QVBoxLayout>
#include <QtGui/QApplication> #include <QtGui/QApplication>
#include <QtGui/QStyle> #include <QtGui/QStyle>

View File

@@ -529,7 +529,7 @@ bool Qt4RunConfiguration::fromMap(const QVariantMap &map)
QString Qt4RunConfiguration::executable() const QString Qt4RunConfiguration::executable() const
{ {
Qt4Project *pro = qt4Target()->qt4Project(); Qt4Project *pro = qt4Target()->qt4Project();
TargetInformation ti = pro->rootProjectNode()->targetInformation(m_proFilePath); TargetInformation ti = pro->rootQt4ProjectNode()->targetInformation(m_proFilePath);
if (!ti.valid) if (!ti.valid)
return QString(); return QString();
return ti.executable; return ti.executable;
@@ -565,7 +565,7 @@ QString Qt4RunConfiguration::baseWorkingDirectory() const
// else what the pro file reader tells us // else what the pro file reader tells us
Qt4Project *pro = qt4Target()->qt4Project(); Qt4Project *pro = qt4Target()->qt4Project();
TargetInformation ti = pro->rootProjectNode()->targetInformation(m_proFilePath); TargetInformation ti = pro->rootQt4ProjectNode()->targetInformation(m_proFilePath);
if(!ti.valid) if(!ti.valid)
return QString(); return QString();
return ti.workingDir; return ti.workingDir;
@@ -609,7 +609,7 @@ Utils::Environment Qt4RunConfiguration::baseEnvironment() const
// The user could be linking to a library found via a -L/some/dir switch // The user could be linking to a library found via a -L/some/dir switch
// to find those libraries while actually running we explicitly prepend those // to find those libraries while actually running we explicitly prepend those
// dirs to the library search path // dirs to the library search path
const Qt4ProFileNode *node = qt4Target()->qt4Project()->rootProjectNode()->findProFileFor(m_proFilePath); const Qt4ProFileNode *node = qt4Target()->qt4Project()->rootQt4ProjectNode()->findProFileFor(m_proFilePath);
if (node) { if (node) {
const QStringList libDirectories = node->variableValue(LibDirectoriesVar); const QStringList libDirectories = node->variableValue(LibDirectoriesVar);
if (!libDirectories.isEmpty()) { if (!libDirectories.isEmpty()) {
@@ -676,7 +676,7 @@ QString Qt4RunConfiguration::proFilePath() const
QString Qt4RunConfiguration::dumperLibrary() const QString Qt4RunConfiguration::dumperLibrary() const
{ {
QtSupport::BaseQtVersion *version = qt4Target()->activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *version = qt4Target()->activeQt4BuildConfiguration()->qtVersion();
if (version) if (version)
return version->gdbDebuggingHelperLibrary(); return version->gdbDebuggingHelperLibrary();
return QString(); return QString();
@@ -684,7 +684,7 @@ QString Qt4RunConfiguration::dumperLibrary() const
QStringList Qt4RunConfiguration::dumperLibraryLocations() const QStringList Qt4RunConfiguration::dumperLibraryLocations() const
{ {
QtSupport::BaseQtVersion *version = qt4Target()->activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *version = qt4Target()->activeQt4BuildConfiguration()->qtVersion();
if (version) if (version)
return version->debuggingHelperLibraryLocations(); return version->debuggingHelperLibraryLocations();
return QStringList(); return QStringList();

View File

@@ -32,7 +32,9 @@
#include "qt4simulatortarget.h" #include "qt4simulatortarget.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4nodes.h"
#include "qt4runconfiguration.h" #include "qt4runconfiguration.h"
#include "qt4buildconfiguration.h"
#include <projectexplorer/customexecutablerunconfiguration.h> #include <projectexplorer/customexecutablerunconfiguration.h>
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
@@ -63,7 +65,7 @@ QString Qt4SimulatorTarget::defaultDisplayName()
return QApplication::translate("Qt4ProjectManager::Qt4Target", "Qt Simulator", "Qt4 Simulator target display name"); return QApplication::translate("Qt4ProjectManager::Qt4Target", "Qt Simulator", "Qt4 Simulator target display name");
} }
Qt4BuildConfigurationFactory *Qt4SimulatorTarget::buildConfigurationFactory() const ProjectExplorer::IBuildConfigurationFactory *Qt4SimulatorTarget::buildConfigurationFactory() const
{ {
return m_buildConfigurationFactory; return m_buildConfigurationFactory;
} }

View File

@@ -38,6 +38,7 @@
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
class Qt4Project; class Qt4Project;
class Qt4BuildConfigurationFactory;
namespace Internal { namespace Internal {
@@ -49,7 +50,7 @@ public:
explicit Qt4SimulatorTarget(Qt4Project *parent, const QString &id); explicit Qt4SimulatorTarget(Qt4Project *parent, const QString &id);
virtual ~Qt4SimulatorTarget(); virtual ~Qt4SimulatorTarget();
Qt4BuildConfigurationFactory *buildConfigurationFactory() const; ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
void createApplicationProFiles(); void createApplicationProFiles();
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n); QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);

View File

@@ -36,6 +36,7 @@
#include "qt4project.h" #include "qt4project.h"
#include "qt4runconfiguration.h" #include "qt4runconfiguration.h"
#include "qt4simulatortarget.h" #include "qt4simulatortarget.h"
#include <qtsupport/qtversionmanager.h>
#include <projectexplorer/deployconfiguration.h> #include <projectexplorer/deployconfiguration.h>
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>

View File

@@ -33,6 +33,9 @@
#include "qt4symbiantarget.h" #include "qt4symbiantarget.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4nodes.h"
#include "qt4buildconfiguration.h"
#include "qt-s60/s60deployconfiguration.h" #include "qt-s60/s60deployconfiguration.h"
#include "qt-s60/s60emulatorrunconfiguration.h" #include "qt-s60/s60emulatorrunconfiguration.h"
#include "qt-s60/s60devicerunconfiguration.h" #include "qt-s60/s60devicerunconfiguration.h"
@@ -87,7 +90,7 @@ QIcon Qt4SymbianTarget::iconForId(const QString &id)
return QIcon(); return QIcon();
} }
Qt4BuildConfigurationFactory *Qt4SymbianTarget::buildConfigurationFactory() const ProjectExplorer::IBuildConfigurationFactory *Qt4SymbianTarget::buildConfigurationFactory() const
{ {
return m_buildConfigurationFactory; return m_buildConfigurationFactory;
} }

View File

@@ -39,6 +39,7 @@
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
class Qt4Project; class Qt4Project;
class Qt4BuildConfigurationFactory;
namespace Internal { namespace Internal {
@@ -50,7 +51,7 @@ public:
explicit Qt4SymbianTarget(Qt4Project *parent, const QString &id); explicit Qt4SymbianTarget(Qt4Project *parent, const QString &id);
virtual ~Qt4SymbianTarget(); virtual ~Qt4SymbianTarget();
Qt4BuildConfigurationFactory *buildConfigurationFactory() const; ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const; QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const;

View File

@@ -46,6 +46,8 @@
#include <projectexplorer/customexecutablerunconfiguration.h> #include <projectexplorer/customexecutablerunconfiguration.h>
#include <projectexplorer/toolchainmanager.h> #include <projectexplorer/toolchainmanager.h>
#include <qtsupport/qtversionmanager.h>
using ProjectExplorer::idFromMap; using ProjectExplorer::idFromMap;
using ProjectExplorer::Task; using ProjectExplorer::Task;
using namespace Qt4ProjectManager; using namespace Qt4ProjectManager;

View File

@@ -35,6 +35,7 @@
#include "s60manager.h" #include "s60manager.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4target.h" #include "qt4target.h"
#include "qt4nodes.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4buildconfiguration.h" #include "qt4buildconfiguration.h"
#include "qt4symbiantarget.h" #include "qt4symbiantarget.h"
@@ -267,7 +268,7 @@ ProjectExplorer::ToolChain *S60DeployConfiguration::toolChain() const
bool S60DeployConfiguration::isDebug() const bool S60DeployConfiguration::isDebug() const
{ {
const Qt4BuildConfiguration *qt4bc = qt4Target()->activeBuildConfiguration(); const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild); return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild);
} }
@@ -278,7 +279,7 @@ QString S60DeployConfiguration::symbianTarget() const
const QtSupport::BaseQtVersion *S60DeployConfiguration::qtVersion() const const QtSupport::BaseQtVersion *S60DeployConfiguration::qtVersion() const
{ {
if (const Qt4BuildConfiguration *qt4bc = qt4Target()->activeBuildConfiguration()) if (const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration())
return qt4bc->qtVersion(); return qt4bc->qtVersion();
return 0; return 0;
} }

View File

@@ -41,6 +41,7 @@
#include <debugger/debuggerengine.h> #include <debugger/debuggerengine.h>
#include <debugger/debuggerstartparameters.h> #include <debugger/debuggerstartparameters.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/buildconfiguration.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QtCore/QFileInfo> #include <QtCore/QFileInfo>

View File

@@ -33,9 +33,11 @@
#include "s60devicerunconfiguration.h" #include "s60devicerunconfiguration.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4nodes.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4symbiantarget.h" #include "qt4symbiantarget.h"
#include "qt4target.h" #include "qt4target.h"
#include "qt4buildconfiguration.h"
#include "s60deployconfiguration.h" #include "s60deployconfiguration.h"
#include "s60devicerunconfigurationwidget.h" #include "s60devicerunconfigurationwidget.h"
#include "s60manager.h" #include "s60manager.h"
@@ -191,7 +193,7 @@ static inline QString fixBaseNameTarget(const QString &in)
QString S60DeviceRunConfiguration::targetName() const QString S60DeviceRunConfiguration::targetName() const
{ {
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(projectFilePath()); TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(projectFilePath());
if (!ti.valid) if (!ti.valid)
return QString(); return QString();
return ti.target; return ti.target;
@@ -207,7 +209,7 @@ SymbianQtVersion *S60DeviceRunConfiguration::qtVersion() const
bool S60DeviceRunConfiguration::isDebug() const bool S60DeviceRunConfiguration::isDebug() const
{ {
const Qt4BuildConfiguration *qt4bc = qt4Target()->activeBuildConfiguration(); const Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild); return (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild);
} }
@@ -237,7 +239,7 @@ static inline QString localExecutableFromVersion(const SymbianQtVersion *qtv,
QString S60DeviceRunConfiguration::localExecutableFileName() const QString S60DeviceRunConfiguration::localExecutableFileName() const
{ {
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(projectFilePath()); TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(projectFilePath());
if (!ti.valid) if (!ti.valid)
return QString(); return QString();

View File

@@ -34,9 +34,11 @@
#include "qt4project.h" #include "qt4project.h"
#include "qt4target.h" #include "qt4target.h"
#include "qt4nodes.h"
#include "s60manager.h" #include "s60manager.h"
#include "qt4symbiantarget.h" #include "qt4symbiantarget.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4buildconfiguration.h"
#include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/projectexplorerconstants.h>
@@ -178,7 +180,7 @@ QString S60EmulatorRunConfiguration::executable() const
{ {
if (!qt4Target()) if (!qt4Target())
return QString(); return QString();
Qt4BuildConfiguration *qt4bc = qt4Target()->activeBuildConfiguration(); Qt4BuildConfiguration *qt4bc = qt4Target()->activeQt4BuildConfiguration();
if (!qt4bc) if (!qt4bc)
return QString(); return QString();
QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion(); QtSupport::BaseQtVersion *qtVersion = qt4bc->qtVersion();
@@ -190,7 +192,7 @@ QString S60EmulatorRunConfiguration::executable() const
qmakeBuildConfig = "udeb"; qmakeBuildConfig = "udeb";
baseDir += "/epoc32/release/winscw/" + qmakeBuildConfig; baseDir += "/epoc32/release/winscw/" + qmakeBuildConfig;
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode()->targetInformation(m_proFilePath); TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(m_proFilePath);
if (!ti.valid) if (!ti.valid)
return QString(); return QString();
QString executable = QDir::toNativeSeparators(QDir::cleanPath(baseDir + QLatin1Char('/') + ti.target)); QString executable = QDir::toNativeSeparators(QDir::cleanPath(baseDir + QLatin1Char('/') + ti.target));

View File

@@ -39,6 +39,7 @@
#include "qmakestep.h" #include "qmakestep.h"
#include "makestep.h" #include "makestep.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4nodes.h"
#include <projectexplorer/buildsteplist.h> #include <projectexplorer/buildsteplist.h>
#include <projectexplorer/buildstep.h> #include <projectexplorer/buildstep.h>
@@ -138,7 +139,7 @@ void S60PublisherOvi::completeCreation()
m_qt4project = m_activeTargetOfProject->qt4Project(); m_qt4project = m_activeTargetOfProject->qt4Project();
// set up pro file reader // set up pro file reader
m_reader = m_qt4project->createProFileReader(m_qt4project->rootProjectNode(), m_qt4bc); m_reader = m_qt4project->createProFileReader(m_qt4project->rootQt4ProjectNode(), m_qt4bc);
//m_reader->setCumulative(false); // todo need to reenable that, after fixing parsing for symbian scopes //m_reader->setCumulative(false); // todo need to reenable that, after fixing parsing for symbian scopes
ProFile *profile = m_reader->parsedProFile(m_qt4project->rootProjectNode()->path()); ProFile *profile = m_reader->parsedProFile(m_qt4project->rootProjectNode()->path());
@@ -215,7 +216,7 @@ void S60PublisherOvi::completeCreation()
bool S60PublisherOvi::isDynamicLibrary(const Qt4Project &project) const bool S60PublisherOvi::isDynamicLibrary(const Qt4Project &project) const
{ {
Qt4ProFileNode *proFile = project.rootProjectNode(); Qt4ProFileNode *proFile = project.rootQt4ProjectNode();
if (proFile->projectType() == LibraryTemplate) { if (proFile->projectType() == LibraryTemplate) {
const QStringList &config(proFile->variableValue(ConfigVar)); const QStringList &config(proFile->variableValue(ConfigVar));
if (!config.contains(QLatin1String("static")) && !config.contains(QLatin1String("staticlib"))) if (!config.contains(QLatin1String("static")) && !config.contains(QLatin1String("staticlib")))

View File

@@ -49,7 +49,7 @@
#include <projectexplorer/toolchainmanager.h> #include <projectexplorer/toolchainmanager.h>
#include <qtsupport/qtversionfactory.h> #include <qtsupport/qtversionfactory.h>
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
#include <qtsupport/qtversionmanager.h>
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtGui/QInputDialog> #include <QtGui/QInputDialog>
@@ -327,7 +327,7 @@ QString Qt4BuildConfiguration::defaultMakeTarget() const
QString Qt4BuildConfiguration::makefile() const QString Qt4BuildConfiguration::makefile() const
{ {
return qt4Target()->qt4Project()->rootProjectNode()->makefile(); return qt4Target()->qt4Project()->rootQt4ProjectNode()->makefile();
} }
QtSupport::BaseQtVersion *Qt4BuildConfiguration::qtVersion() const QtSupport::BaseQtVersion *Qt4BuildConfiguration::qtVersion() const

View File

@@ -36,7 +36,7 @@
#include "qt4projectmanager_global.h" #include "qt4projectmanager_global.h"
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>
#include <qtsupport/qtversionmanager.h> #include <qtsupport/baseqtversion.h>
namespace ProjectExplorer { namespace ProjectExplorer {
class ToolChain; class ToolChain;

View File

@@ -32,12 +32,15 @@
#include "qt4nodes.h" #include "qt4nodes.h"
#include "qt4project.h" #include "qt4project.h"
#include "qt4target.h"
#include "qt4projectmanager.h" #include "qt4projectmanager.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qtuicodemodelsupport.h" #include "qtuicodemodelsupport.h"
#include "qmakestep.h" #include "qmakestep.h"
#include "qt4buildconfiguration.h"
#include <projectexplorer/nodesvisitor.h> #include <projectexplorer/nodesvisitor.h>
#include <projectexplorer/runconfiguration.h>
#include <coreplugin/editormanager/editormanager.h> #include <coreplugin/editormanager/editormanager.h>
#include <coreplugin/editormanager/ieditor.h> #include <coreplugin/editormanager/ieditor.h>
@@ -653,9 +656,9 @@ void Qt4PriFileNode::watchFolders(const QSet<QString> &folders)
toWatch.subtract(m_watchedFolders); toWatch.subtract(m_watchedFolders);
if (!toUnwatch.isEmpty()) if (!toUnwatch.isEmpty())
m_project->centralizedFolderWatcher()->unwatchFolders(toUnwatch.toList(), this); m_project->unwatchFolders(toUnwatch.toList(), this);
if (!toWatch.isEmpty()) if (!toWatch.isEmpty())
m_project->centralizedFolderWatcher()->watchFolders(toWatch.toList(), this); m_project->watchFolders(toWatch.toList(), this);
m_watchedFolders = folders; m_watchedFolders = folders;
} }
@@ -2086,7 +2089,7 @@ TargetInformation Qt4ProFileNode::targetInformation(QtSupport::ProFileReader *re
// Hmm can we find out whether it's debug or release in a saner way? // Hmm can we find out whether it's debug or release in a saner way?
// Theoretically it's in CONFIG // Theoretically it's in CONFIG
QString qmakeBuildConfig = "release"; QString qmakeBuildConfig = "release";
if (m_project->activeTarget()->activeBuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild) if (m_project->activeTarget()->activeQt4BuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
qmakeBuildConfig = "debug"; qmakeBuildConfig = "debug";
wd += QLatin1Char('/') + qmakeBuildConfig; wd += QLatin1Char('/') + qmakeBuildConfig;
} }
@@ -2213,7 +2216,7 @@ QString Qt4ProFileNode::buildDir(Qt4BuildConfiguration *bc) const
const QDir srcDirRoot = QFileInfo(m_project->rootProjectNode()->path()).absoluteDir(); const QDir srcDirRoot = QFileInfo(m_project->rootProjectNode()->path()).absoluteDir();
const QString relativeDir = srcDirRoot.relativeFilePath(m_projectDir); const QString relativeDir = srcDirRoot.relativeFilePath(m_projectDir);
if (!bc && m_project->activeTarget()) if (!bc && m_project->activeTarget())
bc = m_project->activeTarget()->activeBuildConfiguration(); bc = m_project->activeTarget()->activeQt4BuildConfiguration();
if (!bc) if (!bc)
return QString(); return QString();
return QDir(bc->buildDirectory()).absoluteFilePath(relativeDir); return QDir(bc->buildDirectory()).absoluteFilePath(relativeDir);

View File

@@ -33,19 +33,16 @@
#ifndef QT4NODES_H #ifndef QT4NODES_H
#define QT4NODES_H #define QT4NODES_H
#include "qt4buildconfiguration.h" #include "qt4projectmanager_global.h"
#include <coreplugin/ifile.h> #include <coreplugin/ifile.h>
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <projectexplorer/project.h>
#include <projectexplorer/runconfiguration.h>
#include <QtCore/QHash> #include <QtCore/QHash>
#include <QtCore/QStringList> #include <QtCore/QStringList>
#include <QtCore/QDateTime> #include <QtCore/QDateTime>
#include <QtCore/QMap> #include <QtCore/QMap>
#include <QtCore/QFutureWatcher> #include <QtCore/QFutureWatcher>
#include <QtCore/QFileSystemWatcher>
// defined in proitems.h // defined in proitems.h
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -60,8 +57,13 @@ namespace QtSupport {
class ProFileReader; class ProFileReader;
} }
namespace Qt4ProjectManager { namespace ProjectExplorer {
class RunConfiguration;
class Project;
}
namespace Qt4ProjectManager {
class Qt4BuildConfiguration;
class Qt4ProFileNode; class Qt4ProFileNode;
class Qt4Project; class Qt4Project;

View File

@@ -33,6 +33,7 @@
#include "qt4project.h" #include "qt4project.h"
#include "qt4projectmanager.h" #include "qt4projectmanager.h"
#include "qt4target.h"
#include "makestep.h" #include "makestep.h"
#include "qmakestep.h" #include "qmakestep.h"
#include "qt4nodes.h" #include "qt4nodes.h"
@@ -43,6 +44,7 @@
#include "findqt4profiles.h" #include "findqt4profiles.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/ifile.h>
#include <coreplugin/icontext.h> #include <coreplugin/icontext.h>
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/coreconstants.h> #include <coreplugin/coreconstants.h>
@@ -52,6 +54,7 @@
#include <qmljs/qmljsmodelmanagerinterface.h> #include <qmljs/qmljsmodelmanagerinterface.h>
#include <projectexplorer/toolchain.h> #include <projectexplorer/toolchain.h>
#include <projectexplorer/headerpath.h> #include <projectexplorer/headerpath.h>
#include <projectexplorer/target.h>
#include <projectexplorer/buildenvironmentwidget.h> #include <projectexplorer/buildenvironmentwidget.h>
#include <projectexplorer/customexecutablerunconfiguration.h> #include <projectexplorer/customexecutablerunconfiguration.h>
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
@@ -63,6 +66,7 @@
#include <QtCore/QDebug> #include <QtCore/QDebug>
#include <QtCore/QDir> #include <QtCore/QDir>
#include <QtCore/QFileSystemWatcher>
#include <QtGui/QFileDialog> #include <QtGui/QFileDialog>
#include <QtGui/QInputDialog> #include <QtGui/QInputDialog>
@@ -75,6 +79,62 @@ enum { debug = 0 };
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
namespace Internal { namespace Internal {
class Qt4ProjectFile : public Core::IFile
{
Q_OBJECT
public:
Qt4ProjectFile(Qt4Project *project, const QString &filePath, QObject *parent = 0);
bool save(QString *errorString, const QString &fileName, bool autoSave);
QString fileName() const;
virtual void rename(const QString &newName);
QString defaultPath() const;
QString suggestedFileName() const;
virtual QString mimeType() const;
bool isModified() const;
bool isReadOnly() const;
bool isSaveAsAllowed() const;
ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const;
bool reload(QString *errorString, ReloadFlag flag, ChangeType type);
private:
const QString m_mimeType;
Qt4Project *m_project;
QString m_filePath;
};
/// Watches folders for Qt4PriFile nodes
/// use one file system watcher to watch all folders
/// such minimizing system ressouce usage
class CentralizedFolderWatcher : public QObject
{
Q_OBJECT
public:
CentralizedFolderWatcher(QObject *parent);
~CentralizedFolderWatcher();
void watchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
void unwatchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
private slots:
void folderChanged(const QString &folder);
void onTimer();
void delayedFolderChanged(const QString &folder);
private:
QSet<QString> recursiveDirs(const QString &folder);
QFileSystemWatcher m_watcher;
QMultiMap<QString, Qt4PriFileNode *> m_map;
QSet<QString> m_recursiveWatchedFolders;
QTimer m_compressTimer;
QSet<QString> m_changedFolders;
};
// Qt4ProjectFiles: Struct for (Cached) lists of files in a project // Qt4ProjectFiles: Struct for (Cached) lists of files in a project
struct Qt4ProjectFiles { struct Qt4ProjectFiles {
void clear(); void clear();
@@ -171,10 +231,10 @@ void ProjectFilesVisitor::visitFolderNode(FolderNode *folderNode)
} }
} }
}
} }
// ----------- Qt4ProjectFile // ----------- Qt4ProjectFile
Qt4ProjectFile::Qt4ProjectFile(Qt4Project *project, const QString &filePath, QObject *parent) Qt4ProjectFile::Qt4ProjectFile(Qt4Project *project, const QString &filePath, QObject *parent)
: Core::IFile(parent), : Core::IFile(parent),
m_mimeType(QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE)), m_mimeType(QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE)),
@@ -247,6 +307,8 @@ bool Qt4ProjectFile::reload(QString *errorString, ReloadFlag flag, ChangeType ty
return true; return true;
} }
} // namespace Internal
/*! /*!
\class Qt4Project \class Qt4Project
@@ -264,7 +326,8 @@ Qt4Project::Qt4Project(Qt4Manager *manager, const QString& fileName) :
m_pendingEvaluateFuturesCount(0), m_pendingEvaluateFuturesCount(0),
m_asyncUpdateState(NoState), m_asyncUpdateState(NoState),
m_cancelEvaluate(false), m_cancelEvaluate(false),
m_codeModelCanceled(false) m_codeModelCanceled(false),
m_centralizedFolderWatcher(0)
{ {
setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID)); setProjectContext(Core::Context(Qt4ProjectManager::Constants::PROJECT_ID));
setProjectLanguage(Core::Context(ProjectExplorer::Constants::LANG_CXX)); setProjectLanguage(Core::Context(ProjectExplorer::Constants::LANG_CXX));
@@ -419,7 +482,7 @@ void Qt4Project::updateCodeModels()
void Qt4Project::updateCppCodeModel() void Qt4Project::updateCppCodeModel()
{ {
Qt4BuildConfiguration *activeBC = activeTarget()->activeBuildConfiguration(); Qt4BuildConfiguration *activeBC = activeTarget()->activeQt4BuildConfiguration();
CPlusPlus::CppModelManagerInterface *modelmanager = CPlusPlus::CppModelManagerInterface *modelmanager =
CPlusPlus::CppModelManagerInterface::instance(); CPlusPlus::CppModelManagerInterface::instance();
@@ -555,17 +618,18 @@ void Qt4Project::updateQmlJSCodeModel()
} }
bool preferDebugDump = false; bool preferDebugDump = false;
if (activeTarget() && activeTarget()->activeBuildConfiguration()) { if (activeTarget() && activeTarget()->activeBuildConfiguration()) {
preferDebugDump = activeTarget()->activeBuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild; preferDebugDump = activeTarget()->activeQt4BuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild;
QtSupport::BaseQtVersion *qtVersion = activeTarget()->activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *qtVersion = activeTarget()->activeQt4BuildConfiguration()->qtVersion();
if (qtVersion && qtVersion->isValid()) { if (qtVersion && qtVersion->isValid()) {
projectInfo.qtImportsPath = qtVersion->versionInfo().value("QT_INSTALL_IMPORTS"); projectInfo.qtImportsPath = qtVersion->versionInfo().value("QT_INSTALL_IMPORTS");
if (!projectInfo.qtImportsPath.isEmpty()) if (!projectInfo.qtImportsPath.isEmpty())
projectInfo.importPaths += projectInfo.qtImportsPath; projectInfo.importPaths += projectInfo.qtImportsPath;
projectInfo.qtVersionString = qtVersion->qtVersionString(); projectInfo.qtVersionString = qtVersion->qtVersionString();
} }
} }
QtSupport::QmlDumpTool::pathAndEnvironment(this, activeTarget()->activeBuildConfiguration()->qtVersion(), const Qt4BuildConfiguration *bc = activeTarget()->activeQt4BuildConfiguration();
activeTarget()->activeBuildConfiguration()->toolChain(), QtSupport::QmlDumpTool::pathAndEnvironment(this, bc->qtVersion(), bc->toolChain(),
preferDebugDump, &projectInfo.qmlDumpPath, &projectInfo.qmlDumpEnvironment); preferDebugDump, &projectInfo.qmlDumpPath, &projectInfo.qmlDumpEnvironment);
projectInfo.importPaths.removeDuplicates(); projectInfo.importPaths.removeDuplicates();
@@ -584,7 +648,7 @@ void Qt4Project::update()
if (debug) if (debug)
qDebug()<<"State is now Base"; qDebug()<<"State is now Base";
m_asyncUpdateState = Base; m_asyncUpdateState = Base;
activeTarget()->activeBuildConfiguration()->setEnabled(true); activeTarget()->activeQt4BuildConfiguration()->setEnabled(true);
} }
void Qt4Project::scheduleAsyncUpdate(Qt4ProFileNode *node) void Qt4Project::scheduleAsyncUpdate(Qt4ProFileNode *node)
@@ -605,7 +669,7 @@ void Qt4Project::scheduleAsyncUpdate(Qt4ProFileNode *node)
return; return;
} }
activeTarget()->activeBuildConfiguration()->setEnabled(false); activeTarget()->activeQt4BuildConfiguration()->setEnabled(false);
if (m_asyncUpdateState == AsyncFullUpdatePending) { if (m_asyncUpdateState == AsyncFullUpdatePending) {
// Just postpone // Just postpone
@@ -675,7 +739,7 @@ void Qt4Project::scheduleAsyncUpdate()
qDebug()<<" update in progress, canceling and setting state to full update pending"; qDebug()<<" update in progress, canceling and setting state to full update pending";
m_cancelEvaluate = true; m_cancelEvaluate = true;
m_asyncUpdateState = AsyncFullUpdatePending; m_asyncUpdateState = AsyncFullUpdatePending;
activeTarget()->activeBuildConfiguration()->setEnabled(false); activeTarget()->activeQt4BuildConfiguration()->setEnabled(false);
m_rootProjectNode->setParseInProgressRecursive(); m_rootProjectNode->setParseInProgressRecursive();
m_rootProjectNode->emitProFileUpdated(); m_rootProjectNode->emitProFileUpdated();
return; return;
@@ -684,7 +748,7 @@ void Qt4Project::scheduleAsyncUpdate()
if (debug) if (debug)
qDebug()<<" starting timer for full update, setting state to full update pending"; qDebug()<<" starting timer for full update, setting state to full update pending";
m_partialEvaluate.clear(); m_partialEvaluate.clear();
activeTarget()->activeBuildConfiguration()->setEnabled(false); activeTarget()->activeQt4BuildConfiguration()->setEnabled(false);
m_rootProjectNode->setParseInProgressRecursive(); m_rootProjectNode->setParseInProgressRecursive();
m_rootProjectNode->emitProFileUpdated(); m_rootProjectNode->emitProFileUpdated();
m_asyncUpdateState = AsyncFullUpdatePending; m_asyncUpdateState = AsyncFullUpdatePending;
@@ -732,7 +796,7 @@ void Qt4Project::decrementPendingEvaluateFutures()
m_asyncUpdateTimer.start(); m_asyncUpdateTimer.start();
} else if (m_asyncUpdateState != ShuttingDown){ } else if (m_asyncUpdateState != ShuttingDown){
// After being done, we need to call: // After being done, we need to call:
activeTarget()->activeBuildConfiguration()->setEnabled(true); activeTarget()->activeQt4BuildConfiguration()->setEnabled(true);
foreach (Target *t, targets()) foreach (Target *t, targets())
static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles(); static_cast<Qt4BaseTarget *>(t)->createApplicationProFiles();
updateFileList(); updateFileList();
@@ -878,7 +942,7 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro
m_proFileOptionRefCnt = 0; m_proFileOptionRefCnt = 0;
if (!bc && activeTarget()) if (!bc && activeTarget())
bc = activeTarget()->activeBuildConfiguration(); bc = activeTarget()->activeQt4BuildConfiguration();
if (bc) { if (bc) {
QtSupport::BaseQtVersion *version = bc->qtVersion(); QtSupport::BaseQtVersion *version = bc->qtVersion();
@@ -927,7 +991,12 @@ void Qt4Project::destroyProFileReader(QtSupport::ProFileReader *reader)
} }
} }
Qt4ProFileNode *Qt4Project::rootProjectNode() const ProjectExplorer::ProjectNode *Qt4Project::rootProjectNode() const
{
return m_rootProjectNode;
}
Qt4ProFileNode *Qt4Project::rootQt4ProjectNode() const
{ {
return m_rootProjectNode; return m_rootProjectNode;
} }
@@ -984,7 +1053,7 @@ QList<Qt4ProFileNode *> Qt4Project::allProFiles() const
QList<Qt4ProFileNode *> list; QList<Qt4ProFileNode *> list;
if (!rootProjectNode()) if (!rootProjectNode())
return list; return list;
collectAllfProFiles(list, rootProjectNode()); collectAllfProFiles(list, rootQt4ProjectNode());
return list; return list;
} }
@@ -993,7 +1062,7 @@ QList<Qt4ProFileNode *> Qt4Project::applicationProFiles() const
QList<Qt4ProFileNode *> list; QList<Qt4ProFileNode *> list;
if (!rootProjectNode()) if (!rootProjectNode())
return list; return list;
collectApplicationProFiles(list, rootProjectNode()); collectApplicationProFiles(list, rootQt4ProjectNode());
return list; return list;
} }
@@ -1054,7 +1123,7 @@ void Qt4Project::notifyChanged(const QString &name)
{ {
if (files(Qt4Project::ExcludeGeneratedFiles).contains(name)) { if (files(Qt4Project::ExcludeGeneratedFiles).contains(name)) {
QList<Qt4ProFileNode *> list; QList<Qt4ProFileNode *> list;
findProFile(name, rootProjectNode(), list); findProFile(name, rootQt4ProjectNode(), list);
foreach(Qt4ProFileNode *node, list) { foreach(Qt4ProFileNode *node, list) {
QtSupport::ProFileCacheManager::instance()->discardFile(name); QtSupport::ProFileCacheManager::instance()->discardFile(name);
node->update(); node->update();
@@ -1063,9 +1132,19 @@ void Qt4Project::notifyChanged(const QString &name)
} }
} }
CentralizedFolderWatcher *Qt4Project::centralizedFolderWatcher() void Qt4Project::watchFolders(const QStringList &l, Qt4PriFileNode *node)
{ {
return &m_centralizedFolderWatcher; if (l.isEmpty())
return;
if (!m_centralizedFolderWatcher)
m_centralizedFolderWatcher = new Internal::CentralizedFolderWatcher(this);
m_centralizedFolderWatcher->watchFolders(l, node);
}
void Qt4Project::unwatchFolders(const QStringList &l, Qt4PriFileNode *node)
{
if (m_centralizedFolderWatcher && !l.isEmpty())
m_centralizedFolderWatcher->unwatchFolders(l, node);
} }
///////////// /////////////
@@ -1078,7 +1157,7 @@ namespace {
bool debugCFW = false; bool debugCFW = false;
} }
CentralizedFolderWatcher::CentralizedFolderWatcher() CentralizedFolderWatcher::CentralizedFolderWatcher(QObject *parent) : QObject(parent)
{ {
m_compressTimer.setSingleShot(true); m_compressTimer.setSingleShot(true);
m_compressTimer.setInterval(200); m_compressTimer.setInterval(200);
@@ -1264,4 +1343,4 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder)
// } // }
//} //}
#include "qt4project.moc"

View File

@@ -33,13 +33,10 @@
#ifndef QT4PROJECT_H #ifndef QT4PROJECT_H
#define QT4PROJECT_H #define QT4PROJECT_H
#include "qt4nodes.h"
#include "qt4target.h"
#include "qt4projectmanager_global.h" #include "qt4projectmanager_global.h"
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <coreplugin/ifile.h>
#include <QtCore/QStringList> #include <QtCore/QStringList>
#include <QtCore/QMap> #include <QtCore/QMap>
@@ -57,6 +54,8 @@ class ProFileReader;
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
class Qt4ProFileNode; class Qt4ProFileNode;
class Qt4BaseTarget;
class Qt4BuildConfiguration;
namespace Internal { namespace Internal {
class DeployHelperRunStep; class DeployHelperRunStep;
@@ -65,7 +64,8 @@ namespace Internal {
class GCCPreprocessor; class GCCPreprocessor;
struct Qt4ProjectFiles; struct Qt4ProjectFiles;
class Qt4ProjectConfigWidget; class Qt4ProjectConfigWidget;
class Qt4ProjectFile;
class Qt4PriFileNode;
class Qt4NodesWatcher; class Qt4NodesWatcher;
} }
@@ -76,62 +76,8 @@ class Qt4Manager;
class Qt4Project; class Qt4Project;
class Qt4RunStep; class Qt4RunStep;
class Qt4ProjectFile : public Core::IFile
{
Q_OBJECT
public:
Qt4ProjectFile(Qt4Project *project, const QString &filePath, QObject *parent = 0);
bool save(QString *errorString, const QString &fileName, bool autoSave);
QString fileName() const;
virtual void rename(const QString &newName);
QString defaultPath() const;
QString suggestedFileName() const;
virtual QString mimeType() const;
bool isModified() const;
bool isReadOnly() const;
bool isSaveAsAllowed() const;
ReloadBehavior reloadBehavior(ChangeTrigger state, ChangeType type) const;
bool reload(QString *errorString, ReloadFlag flag, ChangeType type);
private:
const QString m_mimeType;
Qt4Project *m_project;
QString m_filePath;
};
/// Watches folders for Qt4PriFile nodes
/// use one file system watcher to watch all folders
/// such minimizing system ressouce usage
namespace Internal { namespace Internal {
class CentralizedFolderWatcher : public QObject class CentralizedFolderWatcher;
{
Q_OBJECT
public:
CentralizedFolderWatcher();
~CentralizedFolderWatcher();
void watchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
void unwatchFolders(const QList<QString> &folders, Qt4PriFileNode *node);
private slots:
void folderChanged(const QString &folder);
void onTimer();
void delayedFolderChanged(const QString &folder);
private:
QSet<QString> recursiveDirs(const QString &folder);
QFileSystemWatcher m_watcher;
QMultiMap<QString, Qt4PriFileNode *> m_map;
QSet<QString> m_recursiveWatchedFolders;
QTimer m_compressTimer;
QSet<QString> m_changedFolders;
};
} }
class QT4PROJECTMANAGER_EXPORT Qt4Project : public ProjectExplorer::Project class QT4PROJECTMANAGER_EXPORT Qt4Project : public ProjectExplorer::Project
@@ -153,7 +99,8 @@ public:
QList<Core::IFile *> dependencies(); //NBS remove QList<Core::IFile *> dependencies(); //NBS remove
QList<ProjectExplorer::Project *>dependsOn(); QList<ProjectExplorer::Project *>dependsOn();
Qt4ProFileNode *rootProjectNode() const; ProjectExplorer::ProjectNode *rootProjectNode() const;
Qt4ProFileNode *rootQt4ProjectNode() const;
bool validParse(const QString &proFilePath) const; bool validParse(const QString &proFilePath) const;
bool parseInProgress(const QString &proFilePath) const; bool parseInProgress(const QString &proFilePath) const;
@@ -183,11 +130,12 @@ public:
/// \internal /// \internal
bool wasEvaluateCanceled(); bool wasEvaluateCanceled();
Internal::CentralizedFolderWatcher *centralizedFolderWatcher();
// For Qt4ProFileNode after a on disk change // For Qt4ProFileNode after a on disk change
void updateFileList(); void updateFileList();
void watchFolders(const QStringList &l, Internal::Qt4PriFileNode *node);
void unwatchFolders(const QStringList &l, Internal::Qt4PriFileNode *node);
signals: signals:
void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool); void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool);
void buildDirectoryInitialized(); void buildDirectoryInitialized();
@@ -231,7 +179,7 @@ private:
Qt4ProFileNode *m_rootProjectNode; Qt4ProFileNode *m_rootProjectNode;
Internal::Qt4NodesWatcher *m_nodesWatcher; Internal::Qt4NodesWatcher *m_nodesWatcher;
Qt4ProjectFile *m_fileInfo; Internal::Qt4ProjectFile *m_fileInfo;
// Current configuration // Current configuration
QString m_oldQtIncludePath; QString m_oldQtIncludePath;
@@ -255,7 +203,7 @@ private:
QFuture<void> m_codeModelFuture; QFuture<void> m_codeModelFuture;
Internal::CentralizedFolderWatcher m_centralizedFolderWatcher; Internal::CentralizedFolderWatcher *m_centralizedFolderWatcher;
friend class Qt4ProjectFile; friend class Qt4ProjectFile;
friend class Internal::Qt4ProjectConfigWidget; friend class Internal::Qt4ProjectConfigWidget;

View File

@@ -43,6 +43,7 @@
#include "ui_qt4projectconfigwidget.h" #include "ui_qt4projectconfigwidget.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <coreplugin/ifile.h>
#include <projectexplorer/toolchainmanager.h> #include <projectexplorer/toolchainmanager.h>
#include <projectexplorer/toolchain.h> #include <projectexplorer/toolchain.h>
@@ -51,6 +52,7 @@
#include <projectexplorer/buildconfiguration.h> #include <projectexplorer/buildconfiguration.h>
#include <qtsupport/qtversionfactory.h> #include <qtsupport/qtversionfactory.h>
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
#include <qtsupport/qtversionmanager.h>
#include <qtsupport/qtsupportconstants.h> #include <qtsupport/qtsupportconstants.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>

View File

@@ -153,7 +153,7 @@ void Qt4Manager::editorChanged(Core::IEditor *editor)
if (m_dirty) { if (m_dirty) {
const QString contents = formWindowEditorContents(m_lastEditor); const QString contents = formWindowEditorContents(m_lastEditor);
foreach(Qt4Project *project, m_projects) foreach(Qt4Project *project, m_projects)
project->rootProjectNode()->updateCodeModelSupportFromEditor(m_lastEditor->file()->fileName(), contents); project->rootQt4ProjectNode()->updateCodeModelSupportFromEditor(m_lastEditor->file()->fileName(), contents);
m_dirty = false; m_dirty = false;
} }
} }
@@ -175,7 +175,7 @@ void Qt4Manager::editorAboutToClose(Core::IEditor *editor)
if (m_dirty) { if (m_dirty) {
const QString contents = formWindowEditorContents(m_lastEditor); const QString contents = formWindowEditorContents(m_lastEditor);
foreach(Qt4Project *project, m_projects) foreach(Qt4Project *project, m_projects)
project->rootProjectNode()->updateCodeModelSupportFromEditor(m_lastEditor->file()->fileName(), contents); project->rootQt4ProjectNode()->updateCodeModelSupportFromEditor(m_lastEditor->file()->fileName(), contents);
m_dirty = false; m_dirty = false;
} }
} }
@@ -192,7 +192,7 @@ void Qt4Manager::updateVariable(const QString &variable)
return; return;
} }
QString value; QString value;
QtSupport::BaseQtVersion *qtv = qt4pro->activeTarget()->activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *qtv = qt4pro->activeTarget()->activeQt4BuildConfiguration()->qtVersion();
if (qtv) if (qtv)
value = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS")); value = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS"));
Core::VariableManager::instance()->insert(QLatin1String(kInstallBins), value); Core::VariableManager::instance()->insert(QLatin1String(kInstallBins), value);
@@ -355,7 +355,7 @@ void Qt4Manager::runQMake(ProjectExplorer::Project *p, ProjectExplorer::Node *no
!qt4pro->activeTarget()->activeBuildConfiguration()) !qt4pro->activeTarget()->activeBuildConfiguration())
return; return;
Qt4BuildConfiguration *bc = qt4pro->activeTarget()->activeBuildConfiguration(); Qt4BuildConfiguration *bc = qt4pro->activeTarget()->activeQt4BuildConfiguration();
QMakeStep *qs = bc->qmakeStep(); QMakeStep *qs = bc->qmakeStep();
if (!qs) if (!qs)
@@ -395,7 +395,7 @@ void Qt4Manager::handleSubDirContexMenu(Qt4Manager::Action action)
!qt4pro->activeTarget()->activeBuildConfiguration()) !qt4pro->activeTarget()->activeBuildConfiguration())
return; return;
Qt4BuildConfiguration *bc = qt4pro->activeTarget()->activeBuildConfiguration(); Qt4BuildConfiguration *bc = qt4pro->activeTarget()->activeQt4BuildConfiguration();
if (m_contextNode != 0 && m_contextNode != qt4pro->rootProjectNode()) if (m_contextNode != 0 && m_contextNode != qt4pro->rootProjectNode())
if (Qt4ProFileNode *profile = qobject_cast<Qt4ProFileNode *>(m_contextNode)) if (Qt4ProFileNode *profile = qobject_cast<Qt4ProFileNode *>(m_contextNode))
bc->setSubNodeBuild(profile); bc->setSubNodeBuild(profile);

View File

@@ -33,6 +33,7 @@
#include "qt4projectmanagerplugin.h" #include "qt4projectmanagerplugin.h"
#include "qt4projectmanager.h" #include "qt4projectmanager.h"
#include "qt4nodes.h"
#include "qmakestep.h" #include "qmakestep.h"
#include "makestep.h" #include "makestep.h"
#include "wizards/consoleappwizard.h" #include "wizards/consoleappwizard.h"
@@ -51,7 +52,6 @@
#include "profileeditor.h" #include "profileeditor.h"
#include "externaleditors.h" #include "externaleditors.h"
#include "profilecompletionassist.h" #include "profilecompletionassist.h"
#include "qt-s60/s60manager.h" #include "qt-s60/s60manager.h"
#include "qt-desktop/qt4desktoptargetfactory.h" #include "qt-desktop/qt4desktoptargetfactory.h"
#include "qt-desktop/qt4simulatortargetfactory.h" #include "qt-desktop/qt4simulatortargetfactory.h"
@@ -335,7 +335,7 @@ void Qt4ProjectManagerPlugin::testBasicProjectLoading()
QVERIFY(!m_projectExplorer->session()->projects().isEmpty()); QVERIFY(!m_projectExplorer->session()->projects().isEmpty());
Qt4Project *qt4project = qobject_cast<Qt4Project *>(m_projectExplorer->session()->projects().first()); Qt4Project *qt4project = qobject_cast<Qt4Project *>(m_projectExplorer->session()->projects().first());
QVERIFY(qt4project); QVERIFY(qt4project);
QVERIFY(qt4project->rootProjectNode()->projectType() == ApplicationTemplate); QVERIFY(qt4project->rootQt4ProjectNode()->projectType() == ApplicationTemplate);
QVERIFY(m_projectExplorer->currentProject() != 0); QVERIFY(m_projectExplorer->currentProject() != 0);
} }
#endif #endif

View File

@@ -39,6 +39,7 @@
#include "qt4basetargetfactory.h" #include "qt4basetargetfactory.h"
#include "qt4projectconfigwidget.h" #include "qt4projectconfigwidget.h"
#include "qt4projectmanagerconstants.h" #include "qt4projectmanagerconstants.h"
#include "qt4buildconfiguration.h"
#include <coreplugin/icore.h> #include <coreplugin/icore.h>
#include <extensionsystem/pluginmanager.h> #include <extensionsystem/pluginmanager.h>
@@ -51,6 +52,7 @@
#include <projectexplorer/task.h> #include <projectexplorer/task.h>
#include <qtsupport/qtversionfactory.h> #include <qtsupport/qtversionfactory.h>
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
#include <qtsupport/qtversionmanager.h>
#include <utils/pathchooser.h> #include <utils/pathchooser.h>
#include <utils/detailswidget.h> #include <utils/detailswidget.h>
#include <utils/qtcprocess.h> #include <utils/qtcprocess.h>
@@ -245,7 +247,7 @@ ProjectExplorer::BuildConfigWidget *Qt4BaseTarget::createConfigWidget()
return new Qt4ProjectConfigWidget(this); return new Qt4ProjectConfigWidget(this);
} }
Qt4BuildConfiguration *Qt4BaseTarget::activeBuildConfiguration() const Qt4BuildConfiguration *Qt4BaseTarget::activeQt4BuildConfiguration() const
{ {
return static_cast<Qt4BuildConfiguration *>(Target::activeBuildConfiguration()); return static_cast<Qt4BuildConfiguration *>(Target::activeBuildConfiguration());
} }

View File

@@ -33,13 +33,11 @@
#ifndef QT4TARGET_H #ifndef QT4TARGET_H
#define QT4TARGET_H #define QT4TARGET_H
#include "qt4buildconfiguration.h"
#include "qt4targetsetupwidget.h" #include "qt4targetsetupwidget.h"
#include <qtsupport/qtversionmanager.h> #include <qtsupport/baseqtversion.h>
#include <projectexplorer/target.h> #include <projectexplorer/target.h>
#include <projectexplorer/task.h> #include <projectexplorer/task.h>
#include <projectexplorer/projectnodes.h>
namespace Utils { namespace Utils {
class DetailsWidget; class DetailsWidget;
@@ -55,10 +53,15 @@ class QComboBox;
class QPushButton; class QPushButton;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace ProjectExplorer {
class Node;
}
namespace Qt4ProjectManager { namespace Qt4ProjectManager {
class Qt4Project; class Qt4Project;
class Qt4BaseTargetFactory; class Qt4BaseTargetFactory;
class Qt4ProFileNode; class Qt4ProFileNode;
class Qt4BuildConfiguration;
class QT4PROJECTMANAGER_EXPORT Qt4BaseTarget : public ProjectExplorer::Target class QT4PROJECTMANAGER_EXPORT Qt4BaseTarget : public ProjectExplorer::Target
{ {
@@ -69,7 +72,7 @@ public:
ProjectExplorer::BuildConfigWidget *createConfigWidget(); ProjectExplorer::BuildConfigWidget *createConfigWidget();
Qt4BuildConfiguration *activeBuildConfiguration() const; Qt4BuildConfiguration *activeQt4BuildConfiguration() const;
Qt4ProjectManager::Qt4Project *qt4Project() const; Qt4ProjectManager::Qt4Project *qt4Project() const;
// This is the same for almost all Qt4Targets // This is the same for almost all Qt4Targets

View File

@@ -57,7 +57,7 @@ Qt4UiCodeModelSupport::~Qt4UiCodeModelSupport()
QString Qt4UiCodeModelSupport::uicCommand() const QString Qt4UiCodeModelSupport::uicCommand() const
{ {
Qt4BuildConfiguration *qt4bc = m_project->activeTarget()->activeBuildConfiguration(); Qt4BuildConfiguration *qt4bc = m_project->activeTarget()->activeQt4BuildConfiguration();
if (!qt4bc->qtVersion()) if (!qt4bc->qtVersion())
return QString(); return QString();
return qt4bc->qtVersion()->uicCommand(); return qt4bc->qtVersion()->uicCommand();
@@ -65,6 +65,6 @@ QString Qt4UiCodeModelSupport::uicCommand() const
QStringList Qt4UiCodeModelSupport::environment() const QStringList Qt4UiCodeModelSupport::environment() const
{ {
Qt4BuildConfiguration *qt4bc = m_project->activeTarget()->activeBuildConfiguration(); Qt4BuildConfiguration *qt4bc = m_project->activeTarget()->activeQt4BuildConfiguration();
return qt4bc->environment().toStringList(); return qt4bc->environment().toStringList();
} }

View File

@@ -36,6 +36,7 @@
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
#include <QtCore/QFileInfo> #include <QtCore/QFileInfo>
#include <QtCore/QDir>
#include <QtGui/QBrush> #include <QtGui/QBrush>
using namespace Qt4ProjectManager; using namespace Qt4ProjectManager;

View File

@@ -87,8 +87,8 @@ void DeploymentInfo::createModels()
{ {
if (m_d->target->project()->activeTarget() != m_d->target) if (m_d->target->project()->activeTarget() != m_d->target)
return; return;
if (!m_d->target->activeBuildConfiguration() || !m_d->target->activeBuildConfiguration()->qtVersion() const Qt4BuildConfiguration *bc = m_d->target->activeQt4BuildConfiguration();
|| !m_d->target->activeBuildConfiguration()->qtVersion()->isValid()) { if (!bc || !bc->qtVersion() || !bc->qtVersion()->isValid()) {
beginResetModel(); beginResetModel();
qDeleteAll(m_d->listModels); qDeleteAll(m_d->listModels);
m_d->listModels.clear(); m_d->listModels.clear();
@@ -96,7 +96,7 @@ void DeploymentInfo::createModels()
return; return;
} }
const Qt4ProFileNode *const rootNode const Qt4ProFileNode *const rootNode
= m_d->target->qt4Project()->rootProjectNode(); = m_d->target->qt4Project()->rootQt4ProjectNode();
if (!rootNode || rootNode->parseInProgress()) // Can be null right after project creation by wizard. if (!rootNode || rootNode->parseInProgress()) // Can be null right after project creation by wizard.
return; return;
m_d->updateTimer.stop(); m_d->updateTimer.stop();

View File

@@ -158,7 +158,7 @@ RemoteLinuxDeployConfiguration *AbstractMaemoInstallPackageToSysrootStep::deploy
void AbstractMaemoInstallPackageToSysrootStep::run(QFutureInterface<bool> &fi) void AbstractMaemoInstallPackageToSysrootStep::run(QFutureInterface<bool> &fi)
{ {
const Qt4BuildConfiguration * const bc const Qt4BuildConfiguration * const bc
= qobject_cast<Qt4BaseTarget *>(target())->activeBuildConfiguration(); = qobject_cast<Qt4BaseTarget *>(target())->activeQt4BuildConfiguration();
if (!bc) { if (!bc) {
addOutput(tr("Cannot install to sysroot without build configuration."), addOutput(tr("Cannot install to sysroot without build configuration."),
ErrorMessageOutput); ErrorMessageOutput);
@@ -305,7 +305,7 @@ MaemoCopyToSysrootStep::MaemoCopyToSysrootStep(BuildStepList *bsl,
void MaemoCopyToSysrootStep::run(QFutureInterface<bool> &fi) void MaemoCopyToSysrootStep::run(QFutureInterface<bool> &fi)
{ {
const Qt4BuildConfiguration * const bc const Qt4BuildConfiguration * const bc
= qobject_cast<Qt4BaseTarget *>(target())->activeBuildConfiguration(); = qobject_cast<Qt4BaseTarget *>(target())->activeQt4BuildConfiguration();
if (!bc) { if (!bc) {
addOutput(tr("Cannot copy to sysroot without build configuration."), addOutput(tr("Cannot copy to sysroot without build configuration."),
ErrorMessageOutput); ErrorMessageOutput);

View File

@@ -40,6 +40,7 @@
#include <qt4projectmanager/qt4buildconfiguration.h> #include <qt4projectmanager/qt4buildconfiguration.h>
#include <qt4projectmanager/qt4project.h> #include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4target.h> #include <qt4projectmanager/qt4target.h>
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>

View File

@@ -39,6 +39,7 @@
#include <qt4projectmanager/qmakestep.h> #include <qt4projectmanager/qmakestep.h>
#include <qt4projectmanager/qt4project.h> #include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4projectmanagerconstants.h> #include <qt4projectmanager/qt4projectmanagerconstants.h>
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
using namespace ProjectExplorer; using namespace ProjectExplorer;

View File

@@ -50,7 +50,9 @@
#include <projectexplorer/projectexplorer.h> #include <projectexplorer/projectexplorer.h>
#include <projectexplorer/project.h> #include <projectexplorer/project.h>
#include <projectexplorer/session.h> #include <projectexplorer/session.h>
#include <projectexplorer/buildconfiguration.h>
#include <qtsupport/qtversionmanager.h> #include <qtsupport/qtversionmanager.h>
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <remotelinux/linuxdeviceconfiguration.h> #include <remotelinux/linuxdeviceconfiguration.h>
#include <utils/filesystemwatcher.h> #include <utils/filesystemwatcher.h>
@@ -529,7 +531,7 @@ void MaemoQemuManager::toggleStarterButton(Target *target)
int uniqueId = -1; int uniqueId = -1;
if (target) { if (target) {
if (AbstractQt4MaemoTarget *qt4Target = qobject_cast<AbstractQt4MaemoTarget*>(target)) { if (AbstractQt4MaemoTarget *qt4Target = qobject_cast<AbstractQt4MaemoTarget*>(target)) {
if (Qt4BuildConfiguration *bc = qt4Target->activeBuildConfiguration()) { if (Qt4BuildConfiguration *bc = qt4Target->activeQt4BuildConfiguration()) {
if (QtSupport::BaseQtVersion *version = bc->qtVersion()) if (QtSupport::BaseQtVersion *version = bc->qtVersion())
uniqueId = version->uniqueId(); uniqueId = version->uniqueId();
} }

View File

@@ -48,6 +48,8 @@
#include <projectexplorer/projectnodes.h> #include <projectexplorer/projectnodes.h>
#include <projectexplorer/toolchain.h> #include <projectexplorer/toolchain.h>
#include <qt4projectmanager/qt4project.h> #include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4buildconfiguration.h>
#include <qt4projectmanager/qt4nodes.h>
#include <utils/fileutils.h> #include <utils/fileutils.h>
#include <utils/filesystemwatcher.h> #include <utils/filesystemwatcher.h>
#include <qtsupport/baseqtversion.h> #include <qtsupport/baseqtversion.h>
@@ -150,8 +152,7 @@ QList<ProjectExplorer::ToolChain *> AbstractQt4MaemoTarget::possibleToolChains(P
return result; return result;
} }
ProjectExplorer::IBuildConfigurationFactory *AbstractQt4MaemoTarget::buildConfigurationFactory() const
Qt4BuildConfigurationFactory *AbstractQt4MaemoTarget::buildConfigurationFactory() const
{ {
return m_buildConfigurationFactory; return m_buildConfigurationFactory;
} }
@@ -705,7 +706,7 @@ AbstractQt4MaemoTarget::ActionStatus AbstractDebBasedQt4MaemoTarget::createSpeci
QDir projectDir(project()->projectDirectory()); QDir projectDir(project()->projectDirectory());
QProcess dh_makeProc; QProcess dh_makeProc;
QString error; QString error;
const Qt4BuildConfiguration * const bc = activeBuildConfiguration(); const Qt4BuildConfiguration * const bc = qobject_cast<Qt4BuildConfiguration * >(activeBuildConfiguration());
AbstractMaemoPackageCreationStep::preparePackagingProcess(&dh_makeProc, bc, AbstractMaemoPackageCreationStep::preparePackagingProcess(&dh_makeProc, bc,
projectDir.path() + QLatin1Char('/') + PackagingDirName); projectDir.path() + QLatin1Char('/') + PackagingDirName);
const QString dhMakeDebianDir = projectDir.path() + QLatin1Char('/') const QString dhMakeDebianDir = projectDir.path() + QLatin1Char('/')
@@ -715,7 +716,7 @@ AbstractQt4MaemoTarget::ActionStatus AbstractDebBasedQt4MaemoTarget::createSpeci
<< QLatin1String("-s") << QLatin1String("-n") << QLatin1String("-p") << QLatin1String("-s") << QLatin1String("-n") << QLatin1String("-p")
<< (defaultPackageFileName() + QLatin1Char('_') << (defaultPackageFileName() + QLatin1Char('_')
+ AbstractMaemoPackageCreationStep::DefaultVersionNumber); + AbstractMaemoPackageCreationStep::DefaultVersionNumber);
QtSupport::BaseQtVersion *lqt = activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *lqt = activeQt4BuildConfiguration()->qtVersion();
if (!lqt) { if (!lqt) {
raiseError(tr("Unable to create Debian templates: No Qt version set")); raiseError(tr("Unable to create Debian templates: No Qt version set"));
return ActionFailed; return ActionFailed;
@@ -919,7 +920,7 @@ QString AbstractRpmBasedQt4MaemoTarget::shortDescription() const
QString AbstractRpmBasedQt4MaemoTarget::packageFileName() const QString AbstractRpmBasedQt4MaemoTarget::packageFileName() const
{ {
QtSupport::BaseQtVersion *lqt = activeBuildConfiguration()->qtVersion(); QtSupport::BaseQtVersion *lqt = activeQt4BuildConfiguration()->qtVersion();
if (!lqt) if (!lqt)
return QString(); return QString();
return packageName() + QLatin1Char('-') + projectVersion() + QLatin1Char('-') return packageName() + QLatin1Char('-') + projectVersion() + QLatin1Char('-')

View File

@@ -41,7 +41,10 @@
QT_FORWARD_DECLARE_CLASS(QFile) QT_FORWARD_DECLARE_CLASS(QFile)
namespace Qt4ProjectManager { class Qt4Project; } namespace Qt4ProjectManager {
class Qt4Project;
class Qt4BuildConfigurationFactory;
}
namespace Utils { class FileSystemWatcher; } namespace Utils { class FileSystemWatcher; }
namespace RemoteLinux { namespace RemoteLinux {
@@ -58,7 +61,7 @@ public:
const QString &id); const QString &id);
virtual ~AbstractQt4MaemoTarget(); virtual ~AbstractQt4MaemoTarget();
Qt4ProjectManager::Qt4BuildConfigurationFactory *buildConfigurationFactory() const; ProjectExplorer::IBuildConfigurationFactory *buildConfigurationFactory() const;
void createApplicationProFiles(); void createApplicationProFiles();
QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n); QList<ProjectExplorer::RunConfiguration *> runConfigurationsForNode(ProjectExplorer::Node *n);
QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const; QList<ProjectExplorer::ToolChain *> possibleToolChains(ProjectExplorer::BuildConfiguration *bc) const;

View File

@@ -43,6 +43,7 @@
#include <qt4projectmanager/buildconfigurationinfo.h> #include <qt4projectmanager/buildconfigurationinfo.h>
#include <qt4projectmanager/qt4project.h> #include <qt4projectmanager/qt4project.h>
#include <qt4projectmanager/qt4projectmanagerconstants.h> #include <qt4projectmanager/qt4projectmanagerconstants.h>
#include <qtsupport/qtversionmanager.h>
#include <utils/qtcassert.h> #include <utils/qtcassert.h>
using namespace Qt4ProjectManager; using namespace Qt4ProjectManager;

View File

@@ -272,7 +272,7 @@ QString RemoteLinuxRunConfiguration::commandPrefix() const
QString RemoteLinuxRunConfiguration::localExecutableFilePath() const QString RemoteLinuxRunConfiguration::localExecutableFilePath() const
{ {
TargetInformation ti = qt4Target()->qt4Project()->rootProjectNode() TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()
->targetInformation(m_d->proFilePath); ->targetInformation(m_d->proFilePath);
if (!ti.valid) if (!ti.valid)
return QString(); return QString();

View File

@@ -72,7 +72,7 @@ bool RemoteLinuxUtils::hasLinuxQt(const Target *target)
const Qt4BaseTarget * const qtTarget = qobject_cast<const Qt4BaseTarget *>(target); const Qt4BaseTarget * const qtTarget = qobject_cast<const Qt4BaseTarget *>(target);
if (!qtTarget) if (!qtTarget)
return false; return false;
const Qt4BuildConfiguration * const bc = qtTarget->activeBuildConfiguration(); const Qt4BuildConfiguration * const bc = qtTarget->activeQt4BuildConfiguration();
return bc && Internal::isLinuxQt(bc->qtVersion()); return bc && Internal::isLinuxQt(bc->qtVersion());
} }