summaryrefslogtreecommitdiffstats
path: root/src/Viewer
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2017-11-01 12:51:10 +0200
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2017-11-01 11:04:44 +0000
commit73d48e942d6524367f6f22b0f4e9fb8adc2d0144 (patch)
tree02f5205982580c24c08cf6180ec27a3ed6c6af5a /src/Viewer
parent2c9be1a0f7ebd3c40d9f0795907b745324550ac0 (diff)
Properly notify user when presentation file is invalid for sequence
Change-Id: If0a9a4c5b51c9f17385823e5f3284543617c0b90 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'src/Viewer')
-rw-r--r--src/Viewer/studio3d/q3dsimagesequencegenerator.cpp6
-rw-r--r--src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp20
-rw-r--r--src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h2
3 files changed, 23 insertions, 5 deletions
diff --git a/src/Viewer/studio3d/q3dsimagesequencegenerator.cpp b/src/Viewer/studio3d/q3dsimagesequencegenerator.cpp
index 9c8e8ab1..74a9b1a3 100644
--- a/src/Viewer/studio3d/q3dsimagesequencegenerator.cpp
+++ b/src/Viewer/studio3d/q3dsimagesequencegenerator.cpp
@@ -35,12 +35,14 @@ bool Q3DSImageSequenceGenerator::generateImageSequence(
int width, int height, const QString &outPath, const QString &outFile)
{
Q3DSImageSequenceGeneratorThread *thread = new Q3DSImageSequenceGeneratorThread;
+
+ connect(thread, &Q3DSImageSequenceGeneratorThread::generationFinished,
+ this, &Q3DSImageSequenceGenerator::finished);
+
bool success = thread->initialize(presentation, start, end, fps, frameInterval, width, height,
outPath, outFile);
if (success) {
- connect(thread, &Q3DSImageSequenceGeneratorThread::generationFinished,
- this, &Q3DSImageSequenceGenerator::finished);
connect(thread, &Q3DSImageSequenceGeneratorThread::progress,
this, &Q3DSImageSequenceGenerator::progress);
thread->start();
diff --git a/src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp b/src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp
index e5410aa1..69e5dc60 100644
--- a/src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp
+++ b/src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp
@@ -45,7 +45,9 @@ bool Q3DSImageSequenceGeneratorThread::initialize(
{
QFileInfo fileInfo(presentation);
if (!fileInfo.exists()) {
- qWarning("Generating image sequence failed - File not found");
+ QString error = QObject::tr("File not found: '%1'").arg(presentation);
+ qWarning() << "Generating image sequence failed -" << error;
+ Q_EMIT generationFinished(false, error);
return false;
}
@@ -66,7 +68,9 @@ bool Q3DSImageSequenceGeneratorThread::initialize(
m_context = new QOpenGLContext;
m_context->setFormat(format);
if (!m_context->create()) {
- qWarning("Generating image sequence failed - Failed to create context");
+ QString error = QObject::tr("Failed to create context");
+ qWarning() << "Generating image sequence failed -" << error;
+ Q_EMIT generationFinished(false, error);
return false;
}
@@ -88,6 +92,18 @@ bool Q3DSImageSequenceGeneratorThread::initialize(
return true;
}
+Q3DSImageSequenceGeneratorThread::Q3DSImageSequenceGeneratorThread()
+ : m_start(0)
+ , m_end(10000)
+ , m_fps(60)
+ , m_frameInterval(16.666667)
+ , m_width(1920)
+ , m_height(1080)
+ , m_surface(nullptr)
+ , m_context(nullptr)
+{
+}
+
Q3DSImageSequenceGeneratorThread::~Q3DSImageSequenceGeneratorThread() {
delete m_context;
delete m_surface;
diff --git a/src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h b/src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h
index dc0ae847..77fb1b49 100644
--- a/src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h
+++ b/src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h
@@ -53,7 +53,7 @@ class Q3DSImageSequenceGeneratorThread : public QThread
{
Q_OBJECT
public:
- Q3DSImageSequenceGeneratorThread() {}
+ Q3DSImageSequenceGeneratorThread();
virtual ~Q3DSImageSequenceGeneratorThread();
bool initialize(const QString &presentation, qreal start, qreal end,