1
/****************************************************************************
3
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
4
** Contact: http://www.qt-project.org/legal
6
** This file is part of Qt Creator.
8
** Commercial License Usage
9
** Licensees holding valid commercial Qt licenses may use this file in
10
** accordance with the commercial license agreement provided with the
11
** Software or, alternatively, in accordance with the terms contained in
12
** a written agreement between you and Digia. For licensing terms and
13
** conditions see http://qt.digia.com/licensing. For further information
14
** use the contact form at http://qt.digia.com/contact-us.
16
** GNU Lesser General Public License Usage
17
** Alternatively, this file may be used under the terms of the GNU Lesser
18
** General Public License version 2.1 as published by the Free Software
19
** Foundation and appearing in the file LICENSE.LGPL included in the
20
** packaging of this file. Please review the following information to
21
** ensure the GNU Lesser General Public License version 2.1 requirements
22
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
** In addition, as a special exception, Digia gives you certain additional
25
** rights. These rights are described in the Digia Qt LGPL Exception
26
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
****************************************************************************/
30
#include "mobileapp.h"
32
#include <QTextStream>
34
namespace QmakeProjectManager {
37
const QString mainWindowBaseName(QLatin1String("mainwindow"));
39
const QString mainWindowCppFileName(mainWindowBaseName + QLatin1String(".cpp"));
40
const QString mainWindowHFileName(mainWindowBaseName + QLatin1String(".h"));
41
const QString mainWindowUiFileName(mainWindowBaseName + QLatin1String(".ui"));
44
bool MobileAppGeneratedFileInfo::isOutdated() const
46
return version < AbstractMobileApp::makeStubVersion(MobileApp::StubVersion);
49
MobileApp::MobileApp() : AbstractMobileApp()
53
MobileApp::~MobileApp()
57
QString MobileApp::pathExtended(int fileType) const
59
const QString pathBase = outputPathBase();
61
case MainWindowCpp: return pathBase + mainWindowCppFileName;
62
case MainWindowCppOrigin: return originsRoot() + mainWindowCppFileName;
63
case MainWindowH: return pathBase + mainWindowHFileName;
64
case MainWindowHOrigin: return originsRoot() + mainWindowHFileName;
65
case MainWindowUi: return pathBase + mainWindowUiFileName;
66
case MainWindowUiOrigin: return originsRoot() + mainWindowUiFileName;
67
default: qFatal("MobileApp::path() needs more work");
72
bool MobileApp::adaptCurrentMainCppTemplateLine(QString &line) const
78
void MobileApp::handleCurrentProFileTemplateLine(const QString &line,
79
QTextStream &proFileTemplate, QTextStream &proFile,
80
bool &commentOutNextLine) const
83
Q_UNUSED(proFileTemplate);
85
Q_UNUSED(commentOutNextLine);
88
Core::GeneratedFiles MobileApp::generateFiles(QString *errorMessage) const
90
Core::GeneratedFiles files = AbstractMobileApp::generateFiles(errorMessage);
92
files.append(file(generateFile(AbstractGeneratedFileInfo::DeploymentPriFile, errorMessage), path(DeploymentPri)));
93
files.append(file(generateFile(MobileAppGeneratedFileInfo::MainWindowCppFile, errorMessage), path(MainWindowCpp)));
94
files.append(file(generateFile(MobileAppGeneratedFileInfo::MainWindowHFile, errorMessage), path(MainWindowH)));
95
files.append(file(generateFile(MobileAppGeneratedFileInfo::MainWindowUiFile, errorMessage), path(MainWindowUi)));
96
files.last().setAttributes(Core::GeneratedFile::OpenEditorAttribute);
101
QByteArray MobileApp::generateFileExtended(int fileType,
102
bool *versionAndCheckSum, QString *comment, QString *errorMessage) const
106
*versionAndCheckSum = false;
108
case MobileAppGeneratedFileInfo::MainWindowCppFile:
109
data = readBlob(path(MainWindowCppOrigin), errorMessage);
111
case MobileAppGeneratedFileInfo::MainWindowHFile:
112
data = readBlob(path(MainWindowHOrigin), errorMessage);
114
case MobileAppGeneratedFileInfo::MainWindowUiFile:
115
data = readBlob(path(MainWindowUiOrigin), errorMessage);
118
Q_ASSERT_X(false, Q_FUNC_INFO, "Whoops, case missing!");
123
QString MobileApp::originsRoot() const
125
return templatesRoot() + QLatin1String("mobileapp/");
128
QString MobileApp::mainWindowClassName() const
130
return QLatin1String("MainWindow");
133
int MobileApp::stubVersionMinor() const { return StubVersion; }
135
QList<AbstractGeneratedFileInfo> MobileApp::updateableFiles(const QString &mainProFile) const
137
Q_UNUSED(mainProFile)
138
return QList<AbstractGeneratedFileInfo>(); // Nothing to update, here
141
QList<DeploymentFolder> MobileApp::deploymentFolders() const
143
QList<DeploymentFolder> result;
147
const int MobileApp::StubVersion = 2;
149
} // namespace Internal
150
} // namespace QmakeProjectManager