Symbian: Correctly ignore certain deployment rules

Reviewed-By: Pawel Polanski
Task-Nr: QTCREATORBUG-4840
This commit is contained in:
dt_
2011-05-10 16:18:04 +02:00
parent 4e83d167ae
commit c450abfe3f
4 changed files with 21 additions and 22 deletions

View File

@@ -152,26 +152,9 @@ bool S60DeployConfiguration::isApplication(const Qt4ProFileNode &projectNode) co
return projectNode.projectType() == ApplicationTemplate;
}
bool S60DeployConfiguration::isDeployable(const Qt4ProFileNode &projectNode) const
{
const QStringList &deployment(projectNode.variableValue(Deployment));
// default_*deployment are default for DEPLOYMENT
const char * defaultDeploymentStart = "default_";
const char * defaultDeploymentEnd = "deployment";
//we need to filter out the default_*deployment
for (int i = deployment.count() - 1; i >= 0; --i) {
const QString var = deployment.at(i);
if (!var.startsWith(QLatin1String(defaultDeploymentStart))
|| !var.endsWith(QLatin1String(defaultDeploymentEnd)))
return true;
}
return false;
}
bool S60DeployConfiguration::hasSisPackage(const Qt4ProFileNode &projectNode) const
{
return isDeployable(projectNode) || isApplication(projectNode);
return projectNode.isDeployable();
}
QStringList S60DeployConfiguration::signedPackages() const

View File

@@ -129,7 +129,6 @@ private:
QString symbianTarget() const;
QString createPackageName(const QString &baseName) const;
bool isDebug() const;
bool isDeployable(const Qt4ProFileNode &projectNode) const;
bool isStaticLibrary(const Qt4ProFileNode &projectNode) const;
bool isApplication(const Qt4ProFileNode &projectNode) const;
bool hasSisPackage(const Qt4ProFileNode &projectNode) const;

View File

@@ -1321,6 +1321,11 @@ QStringList Qt4ProFileNode::symbianCapabilities() const
return result;
}
bool Qt4ProFileNode::isDeployable() const
{
return m_isDeployable;
}
/*!
\class Qt4ProFileNode
Implements abstract ProjectNode class
@@ -1753,7 +1758,18 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
QLatin1String("QML_IMPORT_PATH"), m_projectDir);
newVarValues[Makefile] = m_readerExact->values("MAKEFILE");
newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY");
newVarValues[Deployment] = m_readerExact->values("DEPLOYMENT");
m_isDeployable = false;
if (m_projectType == ApplicationTemplate) {
m_isDeployable = true;
} else {
foreach (const QString &item, m_readerExact->values("DEPLOYMENT")) {
if (!m_readerExact->values(item + ".sources").isEmpty()) {
m_isDeployable = true;
break;
}
}
}
if (m_varValues != newVarValues) {
Qt4VariablesHash oldValues = m_varValues;

View File

@@ -104,8 +104,7 @@ enum Qt4Variable {
ConfigVar,
QmlImportPathVar,
Makefile,
SymbianCapabilities,
Deployment
SymbianCapabilities
};
class Qt4PriFileNode;
@@ -305,6 +304,7 @@ public:
QString makefile() const;
QStringList symbianCapabilities() const;
bool isDeployable() const;
void update();
void scheduleUpdate();
@@ -348,6 +348,7 @@ private:
Qt4ProjectType m_projectType;
Qt4VariablesHash m_varValues;
bool m_isDeployable;
QMap<QString, QDateTime> m_uitimestamps;
TargetInformation m_qt4targetInformation;