summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorjkobus <jaroslaw.kobus@digia.com>2014-02-10 13:34:37 +0100
committerKai Koehne <kai.koehne@digia.com>2014-02-11 13:11:32 +0100
commit62117ee21f4ba301709af8d250841dd522ff0c7f (patch)
treedc71e311cd68d76a88658e4a426d87cf314f9f21 /src/plugins
parentd602a942a9e1f7b55723e5e474e8522a55e99f86 (diff)
downloadqt-creator-62117ee21f4ba301709af8d250841dd522ff0c7f.tar.gz
Fix deployment for QtQuick templates
Task-number: QTCREATORBUG-11412 Change-Id: Iee117faaf85fcaa3e216091a8f7d95b4e12237cb Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/qtquickapp.cpp27
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/qtquickapp.h9
2 files changed, 33 insertions, 3 deletions
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtquickapp.cpp b/src/plugins/qmakeprojectmanager/wizards/qtquickapp.cpp
index c8adf3ec35..3d8ba5d9a5 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtquickapp.cpp
+++ b/src/plugins/qmakeprojectmanager/wizards/qtquickapp.cpp
@@ -44,9 +44,14 @@
namespace QmakeProjectManager {
namespace Internal {
+static QString sharedDirectory()
+{
+ return Core::ICore::resourcePath() + QLatin1String("/templates/shared/");
+}
+
static QString qtQuickApplicationViewerDirectory()
{
- return Core::ICore::resourcePath() + QLatin1String("/templates/shared/qtquickapplicationviewer/");
+ return sharedDirectory() + QLatin1String("qtquickapplicationviewer/");
}
static QString templateRootDirectory()
@@ -112,6 +117,7 @@ static bool parseTemplateXml(QXmlStreamReader &reader, TemplateInfo *info)
static const QLatin1String attribute_priority("priority");
static const QLatin1String attribute_viewerdir("viewerdir");
static const QLatin1String attribute_viewerclassname("viewerclassname");
+ static const QLatin1String attribute_qrcdeployment("qrcdeployment");
static const QLatin1String attribute_stubversionminor("stubversionminor");
while (!reader.atEnd() && !reader.hasError()) {
@@ -133,6 +139,9 @@ static bool parseTemplateXml(QXmlStreamReader &reader, TemplateInfo *info)
if (reader.attributes().hasAttribute(attribute_viewerclassname))
info->viewerClassName = reader.attributes().value(attribute_viewerclassname).toString();
+ if (reader.attributes().hasAttribute(attribute_qrcdeployment))
+ info->qrcDeployment = reader.attributes().value(attribute_qrcdeployment).toString();
+
if (reader.attributes().hasAttribute(attribute_stubversionminor))
info->stubVersionMinor = reader.attributes().value(attribute_stubversionminor).toString().toInt();
@@ -205,6 +214,8 @@ QString QtQuickApp::pathExtended(int fileType) const
const QString mainQmlFile = QLatin1String("main.qml");
const QString mainQrcFile = QLatin1String("qml.qrc");
+ const QString qrcDeploymentFile = QLatin1String("deployment.pri");
+
const QString qmlOriginDir = originsRoot() + QLatin1String("qml/");
const QString pathBase = outputPathBase();
@@ -215,6 +226,8 @@ QString QtQuickApp::pathExtended(int fileType) const
case MainQmlOrigin: return qmlOriginDir + mainQmlFile;
case MainQrc: return pathBase + mainQrcFile;
case MainQrcOrigin: return originsRoot() + mainQrcFile;
+ case QrcDeployment: return pathBase + qrcDeploymentFile;
+ case QrcDeploymentOrigin: return sharedDirectory() + qrcDeployment();
case AppViewerPri: return pathBase + appViewerTargetSubDir + fileName(AppViewerPri);
case AppViewerPriOrigin: return qtQuickApplicationViewerDirectory() + appViewerOriginSubDir() + fileName(AppViewerPri);
case AppViewerCpp: return pathBase + appViewerTargetSubDir + fileName(AppViewerCpp);
@@ -271,6 +284,9 @@ Core::GeneratedFiles QtQuickApp::generateFiles(QString *errorMessage) const
if (QFileInfo(path(MainQrcOrigin)).exists()) {
files.append(file(generateFile(QtQuickAppGeneratedFileInfo::MainQrcFile, errorMessage), path(MainQrc)));
}
+ if (!qrcDeployment().isEmpty()) {
+ files.append(file(generateFile(QtQuickAppGeneratedFileInfo::QrcDeploymentFile, errorMessage), path(QrcDeployment)));
+ }
if (!appViewerBaseName().isEmpty()) {
files.append(file(generateFile(QtQuickAppGeneratedFileInfo::AppViewerPriFile, errorMessage), path(AppViewerPri)));
files.append(file(generateFile(QtQuickAppGeneratedFileInfo::AppViewerCppFile, errorMessage), path(AppViewerCpp)));
@@ -291,6 +307,11 @@ QString QtQuickApp::appViewerBaseName() const
return m_templateInfo.viewerDir;
}
+QString QtQuickApp::qrcDeployment() const
+{
+ return m_templateInfo.qrcDeployment;
+}
+
QString QtQuickApp::fileName(QtQuickApp::ExtendedFileType type) const
{
switch (type) {
@@ -310,6 +331,7 @@ QByteArray QtQuickApp::generateProFile(QString *errorMessage) const
{
QByteArray proFileContent = AbstractMobileApp::generateProFile(errorMessage);
proFileContent.replace("../../shared/qtquickapplicationviewer/", "");
+ proFileContent.replace("../../shared/qrc", ""); // fix a path to qrcdeployment.pri
return proFileContent;
}
@@ -324,6 +346,9 @@ QByteArray QtQuickApp::generateFileExtended(int fileType,
case QtQuickAppGeneratedFileInfo::MainQrcFile:
data = readBlob(path(MainQrcOrigin), errorMessage);
break;
+ case QtQuickAppGeneratedFileInfo::QrcDeploymentFile:
+ data = readBlob(path(QrcDeploymentOrigin), errorMessage);
+ break;
case QtQuickAppGeneratedFileInfo::AppViewerPriFile:
data = readBlob(path(AppViewerPriOrigin), errorMessage);
data.append(readBlob(path(DeploymentPriOrigin), errorMessage));
diff --git a/src/plugins/qmakeprojectmanager/wizards/qtquickapp.h b/src/plugins/qmakeprojectmanager/wizards/qtquickapp.h
index 0f1ebf3617..8dcdac021d 100644
--- a/src/plugins/qmakeprojectmanager/wizards/qtquickapp.h
+++ b/src/plugins/qmakeprojectmanager/wizards/qtquickapp.h
@@ -42,7 +42,8 @@ struct QtQuickAppGeneratedFileInfo : public AbstractGeneratedFileInfo
MainQrcFile,
AppViewerPriFile,
AppViewerCppFile,
- AppViewerHFile
+ AppViewerHFile,
+ QrcDeploymentFile
};
QtQuickAppGeneratedFileInfo() : AbstractGeneratedFileInfo() {}
@@ -61,6 +62,7 @@ public:
QString priority;
QString viewerClassName;
QString viewerDir;
+ QString qrcDeployment;
int stubVersionMinor;
};
@@ -79,7 +81,9 @@ public:
AppViewerCppOrigin,
AppViewerH,
AppViewerHOrigin,
- QmlDirProFileRelative
+ QmlDirProFileRelative,
+ QrcDeployment,
+ QrcDeploymentOrigin
};
QtQuickApp();
@@ -101,6 +105,7 @@ protected:
virtual QByteArray generateProFile(QString *errorMessage) const;
QString appViewerBaseName() const;
+ QString qrcDeployment() const;
QString fileName(ExtendedFileType type) const;
QString appViewerOriginSubDir() const;