diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2017-11-01 12:51:10 +0200 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2017-11-01 11:04:44 +0000 |
commit | 73d48e942d6524367f6f22b0f4e9fb8adc2d0144 (patch) | |
tree | 02f5205982580c24c08cf6180ec27a3ed6c6af5a /src/Viewer | |
parent | 2c9be1a0f7ebd3c40d9f0795907b745324550ac0 (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.cpp | 6 | ||||
-rw-r--r-- | src/Viewer/studio3d/q3dsimagesequencegeneratorthread.cpp | 20 | ||||
-rw-r--r-- | src/Viewer/studio3d/q3dsimagesequencegeneratorthread_p.h | 2 |
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, |