aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTommi Asp <[email protected]>2011-11-09 11:47:59 +0200
committerTobias Hunger <[email protected]>2011-11-11 01:03:13 +0100
commit920ed1140edab10f8fa6d40974cd6ad4fed55c85 (patch)
tree0faafb8ebebecb3880d21e896261276f16397eb1 /src
parentc3a62f9c87ac199b3111108b7b0b2faef4387642 (diff)
Better deploy configuration handling for S60 target
Allows creating custom DeployConfigurationFactories for S60 target Related to QTCREATORBUG-5535 Change-Id: I2a38ad11e0102eaae3e0a67af2a0750b4b3512a5 Reviewed-by: Tommi Asp <[email protected]> Reviewed-by: Tobias Hunger <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp2
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp15
-rw-r--r--src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h2
3 files changed, 10 insertions, 9 deletions
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
index 74ba7764b60..cb14f81d20c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
@@ -230,7 +230,7 @@ ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Projec
info.version, info.buildConfig,
info.additionalArguments, info.directory, info.importing);
- t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(Qt4ProjectManager::Constants::S60_DEVICE_TARGET_ID)));
+ t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(S60_DEPLOYCONFIGURATION_ID)));
t->createApplicationProFiles();
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
index 77cca9909a7..fa0150fec57 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
@@ -57,7 +57,6 @@ using namespace Qt4ProjectManager;
using namespace Qt4ProjectManager::Internal;
namespace {
-const char S60_DC_ID[] = "Qt4ProjectManager.S60DeployConfiguration";
const char S60_DC_PREFIX[] = "Qt4ProjectManager.S60DeployConfiguration.";
const char SERIAL_PORT_NAME_KEY[] = "Qt4ProjectManager.S60DeployConfiguration.SerialPortName";
@@ -81,7 +80,7 @@ QString pathFromId(const QString &id)
// ======== S60DeployConfiguration
S60DeployConfiguration::S60DeployConfiguration(Target *parent) :
- DeployConfiguration(parent, QLatin1String(S60_DC_ID)),
+ DeployConfiguration(parent, QLatin1String(S60_DEPLOYCONFIGURATION_ID)),
m_activeBuildConfiguration(0),
#ifdef Q_OS_WIN
m_serialPortName(QLatin1String("COM5")),
@@ -479,18 +478,18 @@ DeployConfiguration *S60DeployConfigurationFactory::create(Target *parent, const
return dc;
}
-bool S60DeployConfigurationFactory::canCreate(Target *parent, const QString& /*id*/) const
+bool S60DeployConfigurationFactory::canCreate(Target *parent, const QString& id) const
{
Qt4SymbianTarget * t = qobject_cast<Qt4SymbianTarget *>(parent);
- if (!t || t->id() != QLatin1String(Constants::S60_DEVICE_TARGET_ID))
+ if (!t || t->id() != QLatin1String(Constants::S60_DEVICE_TARGET_ID)
+ || !id.startsWith(QLatin1String(S60_DEPLOYCONFIGURATION_ID)))
return false;
return true;
}
-bool S60DeployConfigurationFactory::canRestore(Target *parent, const QVariantMap& /*map*/) const
+bool S60DeployConfigurationFactory::canRestore(Target *parent, const QVariantMap& map) const
{
- Qt4SymbianTarget * t = qobject_cast<Qt4SymbianTarget *>(parent);
- return t && t->id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID);
+ return canCreate(parent, idFromMap(map));
}
DeployConfiguration *S60DeployConfigurationFactory::restore(Target *parent, const QVariantMap &map)
@@ -510,7 +509,7 @@ bool S60DeployConfigurationFactory::canClone(Target *parent, DeployConfiguration
{
if (!qobject_cast<Qt4SymbianTarget *>(parent))
return false;
- return source->id() == QLatin1String(S60_DC_ID);
+ return source->id() == QLatin1String(S60_DEPLOYCONFIGURATION_ID);
}
DeployConfiguration *S60DeployConfigurationFactory::clone(Target *parent, DeployConfiguration *source)
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
index 82029e8678a..1a4f48ce375 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.h
@@ -52,6 +52,8 @@ class S60DeployConfigurationFactory;
namespace Internal {
class Qt4SymbianTarget;
+
+const char S60_DEPLOYCONFIGURATION_ID[] = "Qt4ProjectManager.S60DeployConfiguration";
}
class QT4PROJECTMANAGER_EXPORT S60DeployConfiguration : public ProjectExplorer::DeployConfiguration