1 #include "core/templategenerator.h"
3 #include "definitions/definitions.h"
4 #include "core/templatecore.h"
5 #include "core/templatefactory.h"
6 #include "core/templateeditor.h"
7 #include "gui/formmain.h"
8 #include "miscellaneous/application.h"
9 #include "miscellaneous/iofactory.h"
12 #include <QInputDialog>
15 TemplateGenerator::TemplateGenerator(QObject *parent) : QObject(parent) {
18 TemplateGenerator::~TemplateGenerator() {
22 if (qApp->closeLock()->tryLock()) {
24 QString input_file_name = QInputDialog::getText(qApp->mainForm(), tr(
"Specify application output file name"),
25 tr(
"Type here custom output application file name or leave the default value intact if you are satisfied with it."),
27 qApp->templateManager()->applicationFileName(core->
editor()->
projectName()), &ok);
29 if (!ok || input_file_name.isEmpty()) {
32 qApp->closeLock()->unlock();
37 if (!input_file_name.endsWith(
".apk")) {
38 input_file_name +=
".apk";
52 if (result == TemplateCore::Success) {
59 qApp->closeLock()->unlock();
62 qApp->trayIcon()->showMessage(tr(
"Cannot generate application"),
63 tr(
"Master generation lock is locked, try to\ngenerate application later."),
64 QSystemTrayIcon::Warning);
74 QDir().mkpath(qApp->templateManager()->tempDirectory() +
"/" + APP_LOW_NAME);
virtual QString projectName()=0
Access to project name of current editor.
virtual TemplateEditor * editor() const
Access to editor widget of the template.
void generateMobileApplication(TemplateCore *core)
Generates new APK application using given core.
void refreshWorkspace()
Cleans and recreates base workspace path.
void cleanWorkspace()
Cleans workspace used for generating applications.
void generationProgress(int progress, const QString &message)
Emitted when there is some progress in generating APK application.
virtual GenerationResult generateMobileApplication(const QString &input_apk_file, QString &output_file)=0
Generates APK file from current project with active settings.
void generationFinished(TemplateCore::GenerationResult result_code, const QString &output_file=QString())
Emitted if generating process is finished.
void generationStarted()
Emitted if generating process is started.
The core class container for single template.
GenerationResult
Possible results of generation of bundle data.
static bool removeDirectory(const QString &directory_name, const QStringList &exception_file_list=QStringList(), const QStringList &exception_folder_list=QStringList())
Removes given directory and all its contents if not exceptions are given.