diff options
author | jkobus <jaroslaw.kobus@digia.com> | 2014-02-10 13:34:37 +0100 |
---|---|---|
committer | Kai Koehne <kai.koehne@digia.com> | 2014-02-11 13:11:32 +0100 |
commit | 62117ee21f4ba301709af8d250841dd522ff0c7f (patch) | |
tree | dc71e311cd68d76a88658e4a426d87cf314f9f21 /src/plugins | |
parent | d602a942a9e1f7b55723e5e474e8522a55e99f86 (diff) | |
download | qt-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.cpp | 27 | ||||
-rw-r--r-- | src/plugins/qmakeprojectmanager/wizards/qtquickapp.h | 9 |
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; |