Add getInt getString getFloat methods to scripting

This commit is contained in:
2024-06-05 22:27:35 +02:00
parent 9519c9830c
commit 273aef1594
2 changed files with 26 additions and 5 deletions
+20 -3
View File
@@ -2,6 +2,7 @@
#include <QDir>
#include <QFileInfo>
#include <QDebug>
#include <QInputDialog>
#include "loadrunable.h"
#include "rawimage.h"
#include "loadrunable.h"
@@ -11,9 +12,10 @@
namespace Script
{
ScriptEngine::ScriptEngine(QObject *parent) : QObject(parent)
ScriptEngine::ScriptEngine(QDialog *parent) : QObject(parent)
, _jsEngine(new QJSEngine(this))
, _database(new Database(this))
, _parent(parent)
, _pool(new QThreadPool(this))
{
QJSValue core = _jsEngine->newQObject(this);
@@ -87,6 +89,21 @@ void ScriptEngine::sync()
_pool->waitForDone();
}
QString ScriptEngine::getString(const QString &label, const QString &text) const
{
return QInputDialog::getText(_parent, tr("Enter text"), label, QLineEdit::Normal, text);
}
int ScriptEngine::getInt(const QString &label, int value)
{
return QInputDialog::getInt(_parent, tr("Enter integer number"), label, value);
}
double ScriptEngine::getFloat(const QString &label, double value, int decimals) const
{
return QInputDialog::getDouble(_parent, tr("Enter float number"), label, value, INT_MIN, INT_MAX, decimals);
}
bool ScriptEngine::convert(File *file, QString &outpath, const QString &format, const QVariantMap &params, bool async)
{
QString path;
@@ -535,11 +552,11 @@ QJSValue File::stats()
return _stats;
}
ScriptEngineThread::ScriptEngineThread(QObject *parent) : QObject(parent)
ScriptEngineThread::ScriptEngineThread(QDialog *parent) : QObject(parent)
{
_thread = new QThread();
_thread->setObjectName("ScriptEngine");
_engine = new ScriptEngine;
_engine = new ScriptEngine(parent);
_engine->moveToThread(_thread);
connect(_engine, &ScriptEngine::finished, _thread, &QThread::quit);
connect(_engine, &ScriptEngine::newMessage, this, &ScriptEngineThread::newMessage);