Fix calling GUI methods from script thread

This commit is contained in:
2024-06-08 20:11:25 +02:00
parent 461ffea874
commit 66f0c05a48
5 changed files with 60 additions and 21 deletions
+5 -3
View File
@@ -10,6 +10,8 @@
#include "database.h"
#include "imageinfo.h"
class BatchProcessing;
namespace Script
{
@@ -20,14 +22,14 @@ class ScriptEngine : public QObject
Q_OBJECT
QJSEngine *_jsEngine;
Database *_database;
QDialog *_parent;
BatchProcessing *_parent;
QThreadPool *_pool;
QSemaphore _semaphore;
QString _scriptPath;
QString _outputDir;
QList<QPair<QString, QString>> _paths;
public:
explicit ScriptEngine(QDialog *parent = nullptr);
explicit ScriptEngine(BatchProcessing *parent = nullptr);
void setParams(const QString &scriptPath, const QList<QPair<QString, QString>> &paths, const QString &outputDir);
void reportError(const QString &message);
const QString& outputDir() const;
@@ -59,7 +61,7 @@ class ScriptEngineThread : public QObject
QThread *_thread;
ScriptEngine *_engine;
public:
ScriptEngineThread(QDialog *parent = nullptr);
ScriptEngineThread(BatchProcessing *parent = nullptr);
~ScriptEngineThread();
void setParams(const QString &scriptPath, const QList<QPair<QString, QString>> &paths, const QString &outputDir);
void start();