summaryrefslogtreecommitdiff
path: root/src/plugins/qmakeprojectmanager/wizards/html5app.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmakeprojectmanager/wizards/html5app.cpp')
-rw-r--r--src/plugins/qmakeprojectmanager/wizards/html5app.cpp317
1 files changed, 0 insertions, 317 deletions
diff --git a/src/plugins/qmakeprojectmanager/wizards/html5app.cpp b/src/plugins/qmakeprojectmanager/wizards/html5app.cpp
deleted file mode 100644
index f37cf68d6d..0000000000
--- a/src/plugins/qmakeprojectmanager/wizards/html5app.cpp
+++ /dev/null
@@ -1,317 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia. For licensing terms and
-** conditions see http://qt.digia.com/licensing. For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Digia gives you certain additional
-** rights. These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "html5app.h"
-
-#include <QDir>
-#include <QFile>
-#include <QTextStream>
-#include <QCoreApplication>
-
-#ifndef CREATORLESSTEST
-#include <coreplugin/icore.h>
-#endif // CREATORLESSTEST
-
-namespace QmakeProjectManager {
-namespace Internal {
-
-const QString appViewerBaseName(QLatin1String("html5applicationviewer"));
-const QString appViewerPriFileName(appViewerBaseName + QLatin1String(".pri"));
-const QString appViewerCppFileName(appViewerBaseName + QLatin1String(".cpp"));
-const QString appViewerHFileName(appViewerBaseName + QLatin1String(".h"));
-const QString appViewerOriginsSubDir(appViewerBaseName + QLatin1Char('/'));
-
-Html5App::Html5App()
- : AbstractMobileApp()
- , m_mainHtmlMode(ModeGenerate)
- , m_touchOptimizedNavigationEnabled(false)
-{
-}
-
-Html5App::~Html5App()
-{
-}
-
-void Html5App::setMainHtml(Mode mode, const QString &data)
-{
- Q_ASSERT(mode != ModeGenerate || data.isEmpty());
- m_mainHtmlMode = mode;
- m_mainHtmlData = data;
-}
-
-Html5App::Mode Html5App::mainHtmlMode() const
-{
- return m_mainHtmlMode;
-}
-
-void Html5App::setTouchOptimizedNavigationEnabled(bool enabled)
-{
- m_touchOptimizedNavigationEnabled = enabled;
-}
-
-bool Html5App::touchOptimizedNavigationEnabled() const
-{
- return m_touchOptimizedNavigationEnabled;
-}
-
-QString Html5App::pathExtended(int fileType) const
-{
- const QString appViewerTargetSubDir = appViewerOriginsSubDir;
- const QString indexHtml = QLatin1String("index.html");
- const QString pathBase = outputPathBase();
- const QDir appProFilePath(pathBase);
- const bool generateHtml = m_mainHtmlMode == ModeGenerate;
- const bool importHtml = m_mainHtmlMode == ModeImport;
- const QFileInfo importedHtmlFile(m_mainHtmlData);
- const QString htmlSubDir = importHtml ? importedHtmlFile.canonicalPath().split(QLatin1Char('/')).last() + QLatin1Char('/')
- : QString::fromLatin1("html/");
-
- switch (fileType) {
- case MainHtml: return generateHtml ? pathBase + htmlSubDir + indexHtml
- : importedHtmlFile.canonicalFilePath();
- case MainHtmlDeployed: return generateHtml ? QString(htmlSubDir + indexHtml)
- : htmlSubDir + importedHtmlFile.fileName();
- case MainHtmlOrigin: return originsRoot() + QLatin1String("html/") + indexHtml;
- case AppViewerPri: return pathBase + appViewerTargetSubDir + appViewerPriFileName;
- case AppViewerPriOrigin: return originsRoot() + appViewerOriginsSubDir + appViewerPriFileName;
- case AppViewerCpp: return pathBase + appViewerTargetSubDir + appViewerCppFileName;
- case AppViewerCppOrigin: return originsRoot() + appViewerOriginsSubDir + appViewerCppFileName;
- case AppViewerH: return pathBase + appViewerTargetSubDir + appViewerHFileName;
- case AppViewerHOrigin: return originsRoot() + appViewerOriginsSubDir + appViewerHFileName;
- case HtmlDir: return pathBase + htmlSubDir;
- case HtmlDirProFileRelative: return generateHtml ? QString(htmlSubDir).remove(htmlSubDir.length() - 1, 1)
- : appProFilePath.relativeFilePath(importedHtmlFile.canonicalPath());
- default: qFatal("Html5App::pathExtended() needs more work");
- }
- return QString();
-}
-
-QString Html5App::originsRoot() const
-{
- return templatesRoot() + QLatin1String("html5app/");
-}
-
-QString Html5App::mainWindowClassName() const
-{
- return QLatin1String("Html5ApplicationViewer");
-}
-
-bool Html5App::adaptCurrentMainCppTemplateLine(QString &line) const
-{
- const QLatin1Char quote('"');
- bool adaptLine = true;
- if (line.contains(QLatin1String("// MAINHTMLFILE"))) {
- if (m_mainHtmlMode != ModeUrl)
- insertParameter(line, quote + path(MainHtmlDeployed) + quote);
- else
- adaptLine = false;
- } else if (line.contains(QLatin1String("// MAINHTMLURL"))) {
- if (m_mainHtmlMode == ModeUrl)
- insertParameter(line, quote + m_mainHtmlData + quote);
- else
- adaptLine = false;
- }
- return adaptLine;
-}
-
-void Html5App::handleCurrentProFileTemplateLine(const QString &line,
- QTextStream &proFileTemplate, QTextStream &proFile,
- bool &commentOutNextLine) const
-{
- Q_UNUSED(proFileTemplate)
- Q_UNUSED(proFile)
- if (line.contains(QLatin1String("# TOUCH_OPTIMIZED_NAVIGATION")))
- commentOutNextLine = !m_touchOptimizedNavigationEnabled;
-}
-
-#ifndef CREATORLESSTEST
-Core::GeneratedFiles Html5App::generateFiles(QString *errorMessage) const
-{
- Core::GeneratedFiles files = AbstractMobileApp::generateFiles(errorMessage);
- if (m_mainHtmlMode == ModeGenerate) {
- files.append(file(generateFile(Html5AppGeneratedFileInfo::MainHtmlFile, errorMessage), path(MainHtml)));
- files.last().setAttributes(Core::GeneratedFile::OpenEditorAttribute);
- }
-
- files.append(file(generateFile(Html5AppGeneratedFileInfo::AppViewerPriFile, errorMessage), path(AppViewerPri)));
- files.append(file(generateFile(Html5AppGeneratedFileInfo::AppViewerCppFile, errorMessage), path(AppViewerCpp)));
- files.append(file(generateFile(Html5AppGeneratedFileInfo::AppViewerHFile, errorMessage), path(AppViewerH)));
-
- return files;
-}
-#endif // CREATORLESSTEST
-
-QByteArray Html5App::appViewerCppFileCode(QString *errorMessage) const
-{
- static const char* touchNavigavigationFiles[] = {
- "webtouchphysicsinterface.h",
- "webtouchphysics.h",
- "webtouchevent.h",
- "webtouchscroller.h",
- "webtouchnavigation.h",
- "webnavigation.h",
- "navigationcontroller.h",
- "webtouchphysicsinterface.cpp",
- "webtouchphysics.cpp",
- "webtouchevent.cpp",
- "webtouchscroller.cpp",
- "webtouchnavigation.cpp",
- "webnavigation.cpp",
- "navigationcontroller.cpp",
- };
- static const QString touchNavigavigationDir =
- originsRoot() + appViewerOriginsSubDir + QLatin1String("touchnavigation/");
- QByteArray touchNavigavigationCode;
- for (size_t i = 0; i < sizeof(touchNavigavigationFiles) / sizeof(touchNavigavigationFiles[0]); ++i) {
- QFile touchNavigavigationFile(touchNavigavigationDir + QLatin1String(touchNavigavigationFiles[i]));
- if (!touchNavigavigationFile.open(QIODevice::ReadOnly)) {
- if (errorMessage)
- *errorMessage = QCoreApplication::translate("QmakeProjectManager::AbstractMobileApp",
- "Could not open template file \"%1\".").arg(QLatin1String(touchNavigavigationFiles[i]));
- return QByteArray();
- }
- QTextStream touchNavigavigationFileIn(&touchNavigavigationFile);
- QString line;
- while (!(line = touchNavigavigationFileIn.readLine()).isNull()) {
- if (line.startsWith(QLatin1String("#include")) ||
- ((line.startsWith(QLatin1String("#ifndef"))
- || line.startsWith(QLatin1String("#define"))
- || line.startsWith(QLatin1String("#endif")))
- && line.endsWith(QLatin1String("_H"))))
- continue;
- touchNavigavigationCode.append(line.toLatin1());
- touchNavigavigationCode.append('\n');
- }
- }
-
- QFile appViewerCppFile(path(AppViewerCppOrigin));
- if (!appViewerCppFile.open(QIODevice::ReadOnly)) {
- if (errorMessage)
- *errorMessage = QCoreApplication::translate("QmakeProjectManager::AbstractMobileApp",
- "Could not open template file \"%1\".").arg(path(AppViewerCppOrigin));
- return QByteArray();
- }
- QTextStream in(&appViewerCppFile);
- QByteArray appViewerCppCode;
- bool touchNavigavigationCodeInserted = false;
- QString line;
- while (!(line = in.readLine()).isNull()) {
- if (!touchNavigavigationCodeInserted && line == QLatin1String("#ifdef TOUCH_OPTIMIZED_NAVIGATION")) {
- appViewerCppCode.append(line.toLatin1());
- appViewerCppCode.append('\n');
- while (!(line = in.readLine()).isNull()
- && !line.contains(QLatin1String("#endif // TOUCH_OPTIMIZED_NAVIGATION")))
- {
- if (!line.startsWith(QLatin1String("#include \""))) {
- appViewerCppCode.append(line.toLatin1());
- appViewerCppCode.append('\n');
- }
- }
- appViewerCppCode.append(touchNavigavigationCode);
- touchNavigavigationCodeInserted = true;
- }
- appViewerCppCode.append(line.toLatin1());
- appViewerCppCode.append('\n');
- }
- return appViewerCppCode;
-}
-
-QByteArray Html5App::generateFileExtended(int fileType,
- bool *versionAndCheckSum, QString *comment, QString *errorMessage) const
-{
- QByteArray data;
- switch (fileType) {
- case Html5AppGeneratedFileInfo::MainHtmlFile:
- data = readBlob(path(MainHtmlOrigin), errorMessage);
- break;
- case Html5AppGeneratedFileInfo::AppViewerPriFile:
- data = readBlob(path(AppViewerPriOrigin), errorMessage);
- data.append(readBlob(path(DeploymentPriOrigin), errorMessage));
- *comment = ProFileComment;
- *versionAndCheckSum = true;
- break;
- case Html5AppGeneratedFileInfo::AppViewerCppFile:
- data = appViewerCppFileCode(errorMessage);
- *versionAndCheckSum = true;
- break;
- case Html5AppGeneratedFileInfo::AppViewerHFile:
- default:
- data = readBlob(path(AppViewerHOrigin), errorMessage);
- *versionAndCheckSum = true;
- break;
- }
- return data;
-}
-
-int Html5App::stubVersionMinor() const
-{
- return StubVersion;
-}
-
-QList<AbstractGeneratedFileInfo> Html5App::updateableFiles(const QString &mainProFile) const
-{
- QList<AbstractGeneratedFileInfo> result;
- static const struct {
- int fileType;
- QString fileName;
- } files[] = {
- {Html5AppGeneratedFileInfo::AppViewerPriFile, appViewerPriFileName},
- {Html5AppGeneratedFileInfo::AppViewerHFile, appViewerHFileName},
- {Html5AppGeneratedFileInfo::AppViewerCppFile, appViewerCppFileName}
- };
- const QFileInfo mainProFileInfo(mainProFile);
- const int size = sizeof(files) / sizeof(files[0]);
- for (int i = 0; i < size; ++i) {
- const QString fileName = mainProFileInfo.dir().absolutePath()
- + QLatin1Char('/') + appViewerOriginsSubDir + files[i].fileName;
- if (!QFile::exists(fileName))
- continue;
- Html5AppGeneratedFileInfo file;
- file.fileType = files[i].fileType;
- file.fileInfo = QFileInfo(fileName);
- file.currentVersion = AbstractMobileApp::makeStubVersion(Html5App::StubVersion);
- result.append(file);
- }
- if (result.count() != size)
- result.clear(); // All files must be found. No wrong/partial updates, please.
- return result;
-}
-
-QList<DeploymentFolder> Html5App::deploymentFolders() const
-{
- QList<DeploymentFolder> result;
- if (m_mainHtmlMode != ModeUrl)
- result.append(DeploymentFolder(path(HtmlDirProFileRelative), QLatin1String(".")));
- return result;
-}
-
-const int Html5App::StubVersion = 12;
-
-} // namespace Internal
-} // namespace QmakeProjectManager