aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qt4projectmanager/qt4buildconfiguration.cpp')
-rw-r--r--src/plugins/qt4projectmanager/qt4buildconfiguration.cpp104
1 files changed, 76 insertions, 28 deletions
diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
index 486c995d18e..c3cbc89f0b9 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
@@ -45,13 +45,13 @@ namespace {
Qt4BuildConfiguration::Qt4BuildConfiguration(Qt4Project *pro)
: BuildConfiguration(pro)
{
-
+ init();
}
Qt4BuildConfiguration::Qt4BuildConfiguration(Qt4BuildConfiguration *source)
: BuildConfiguration(source)
{
-
+ init();
}
Qt4BuildConfiguration::~Qt4BuildConfiguration()
@@ -59,6 +59,15 @@ Qt4BuildConfiguration::~Qt4BuildConfiguration()
}
+void Qt4BuildConfiguration::init()
+{
+ QtVersionManager *vm = QtVersionManager::instance();
+ connect(vm, SIGNAL(defaultQtVersionChanged()),
+ this, SLOT(defaultQtVersionChanged()));
+ connect(vm, SIGNAL(qtVersionsChanged(QList<int>)),
+ this, SLOT(qtVersionsChanged(QList<int>)));
+}
+
Qt4Project *Qt4BuildConfiguration::qt4Project() const
{
return static_cast<Qt4Project *>(project());
@@ -120,6 +129,14 @@ QString Qt4BuildConfiguration::buildDirectory() const
return workingDirectory;
}
+void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const QString &buildDirectory)
+{
+ setValue("useShadowBuild", shadowBuild);
+ setValue("buildDirectory", buildDirectory);
+ emit buildDirectoryChanged();
+ emit targetInformationChanged();
+}
+
ProjectExplorer::ToolChain *Qt4BuildConfiguration::toolChain() const
{
ToolChain::ToolChainType tct = toolChainType();
@@ -199,15 +216,21 @@ int Qt4BuildConfiguration::qtVersionId() const
void Qt4BuildConfiguration::setQtVersion(int id)
{
+ if (qtVersionId() == id)
+ return;
+
setValue(KEY_QT_VERSION_ID, id);
emit qtVersionChanged();
- qt4Project()->updateActiveRunConfiguration();
+ emit targetInformationChanged();
}
void Qt4BuildConfiguration::setToolChainType(ProjectExplorer::ToolChain::ToolChainType type)
{
+ if (value("ToolChain").toInt() == type)
+ return;
setValue("ToolChain", (int)type);
- qt4Project()->updateActiveRunConfiguration();
+ emit toolChainTypeChanged();
+ emit targetInformationChanged();
}
ProjectExplorer::ToolChain::ToolChainType Qt4BuildConfiguration::toolChainType() const
@@ -224,6 +247,37 @@ ProjectExplorer::ToolChain::ToolChainType Qt4BuildConfiguration::toolChainType()
return type;
}
+QtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const
+{
+ return QtVersion::QmakeBuildConfigs(value("buildConfiguration").toInt());
+}
+
+void Qt4BuildConfiguration::setQMakeBuildConfiguration(QtVersion::QmakeBuildConfigs config)
+{
+ if (value("buildConfiguration").toInt() == int(config))
+ return;
+ setValue("buildConfiguration", int(config));
+ emit qmakeBuildConfigurationChanged();
+ emit targetInformationChanged();
+}
+
+void Qt4BuildConfiguration::getConfigCommandLineArguments(QStringList *addedUserConfigs, QStringList *removedUserConfigs) const
+{
+ QtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion()->defaultBuildConfig();
+ QtVersion::QmakeBuildConfigs userBuildConfiguration = qmakeBuildConfiguration();
+ if (removedUserConfigs) {
+ if ((defaultBuildConfiguration & QtVersion::BuildAll) && !(userBuildConfiguration & QtVersion::BuildAll))
+ (*removedUserConfigs) << "debug_and_release";
+ }
+ if (addedUserConfigs) {
+ if (!(defaultBuildConfiguration & QtVersion::BuildAll) && (userBuildConfiguration & QtVersion::BuildAll))
+ (*addedUserConfigs) << "debug_and_release";
+ if ((defaultBuildConfiguration & QtVersion::DebugBuild) && !(userBuildConfiguration & QtVersion::DebugBuild))
+ (*addedUserConfigs) << "release";
+ if (!(defaultBuildConfiguration & QtVersion::DebugBuild) && (userBuildConfiguration & QtVersion::DebugBuild))
+ (*addedUserConfigs) << "debug";
+ }
+}
QMakeStep *Qt4BuildConfiguration::qmakeStep() const
{
@@ -243,6 +297,24 @@ MakeStep *Qt4BuildConfiguration::makeStep() const
return 0;
}
+void Qt4BuildConfiguration::defaultQtVersionChanged()
+{
+ if (qtVersionId() == 0) {
+ emit qtVersionChanged();
+ emit targetInformationChanged();
+ }
+}
+
+void Qt4BuildConfiguration::qtVersionsChanged(const QList<int> &changedVersions)
+{
+ if (changedVersions.contains(qtVersionId())) {
+ if (!qtVersion()->isValid())
+ setQtVersion(0);
+ emit qtVersionChanged();
+ emit targetInformationChanged();
+ }
+}
+
// returns true if both are equal
bool Qt4BuildConfiguration::compareToImportFrom(const QString &workingDirectory)
{
@@ -375,28 +447,4 @@ QString Qt4BuildConfiguration::extractSpecFromArgumentList(const QStringList &li
parsedSpec = parsedSpec.toLower();
#endif
return parsedSpec;
-
-}
-
-QtVersion::QmakeBuildConfigs Qt4BuildConfiguration::qmakeBuildConfiguration() const
-{
- return QtVersion::QmakeBuildConfigs(value("buildConfiguration").toInt());
-}
-
-void Qt4BuildConfiguration::getConfigCommandLineArguments(QStringList *addedUserConfigs, QStringList *removedUserConfigs) const
-{
- QtVersion::QmakeBuildConfigs defaultBuildConfiguration = qtVersion()->defaultBuildConfig();
- QtVersion::QmakeBuildConfigs userBuildConfiguration = qmakeBuildConfiguration();
- if (removedUserConfigs) {
- if ((defaultBuildConfiguration & QtVersion::BuildAll) && !(userBuildConfiguration & QtVersion::BuildAll))
- (*removedUserConfigs) << "debug_and_release";
- }
- if (addedUserConfigs) {
- if (!(defaultBuildConfiguration & QtVersion::BuildAll) && (userBuildConfiguration & QtVersion::BuildAll))
- (*addedUserConfigs) << "debug_and_release";
- if ((defaultBuildConfiguration & QtVersion::DebugBuild) && !(userBuildConfiguration & QtVersion::DebugBuild))
- (*addedUserConfigs) << "release";
- if (!(defaultBuildConfiguration & QtVersion::DebugBuild) && (userBuildConfiguration & QtVersion::DebugBuild))
- (*addedUserConfigs) << "debug";
- }
}