From 6bf99726218df5e6a7fef7feed8dec87b2128594 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Wed, 15 Mar 2017 17:52:01 +0100 Subject: [PATCH] QMovie: Add lastError and lastErrorString getters QMovie has an error signal, but it is not possible for users to "catch" all errors, for instance, if they occur at construction time, and furthermore, it may not be convenient to add interception of the signal just to find out what the error was. [ChangeLog][QtGui][QMovie] Added lastError and lastErrorString accessors, as a convenience over connecting to the error() signal. Change-Id: I9c6ef70694c67986ecd30b5dc1b321c4dfa5c315 Reviewed-by: Gunnar Sletta --- src/gui/image/qmovie.cpp | 27 +++++++++++++++++++++++++++ src/gui/image/qmovie.h | 2 ++ 2 files changed, 29 insertions(+) diff --git a/src/gui/image/qmovie.cpp b/src/gui/image/qmovie.cpp index 2f02a33b09..3889b747db 100644 --- a/src/gui/image/qmovie.cpp +++ b/src/gui/image/qmovie.cpp @@ -161,6 +161,8 @@ This signal is emitted by QMovie when the error \a error occurred during playback. QMovie will stop the movie, and enter QMovie::NotRunning state. + + \sa lastError(), lastErrorString() */ /*! \fn void QMovie::finished() @@ -792,6 +794,8 @@ QImage QMovie::currentImage() const /*! Returns \c true if the movie is valid (e.g., the image data is readable and the image format is supported); otherwise returns \c false. + + For information about why the movie is not valid, see lastError(). */ bool QMovie::isValid() const { @@ -799,6 +803,29 @@ bool QMovie::isValid() const return d->isValid(); } +/*! + Returns the most recent error that occurred while attempting to read image data. + + \sa lastErrorString() +*/ +QImageReader::ImageReaderError QMovie::lastError() const +{ + Q_D(const QMovie); + return d->reader->error(); +} + +/*! + Returns a human-readable representation of the most recent error that occurred + while attempting to read image data. + + \sa lastError() +*/ +QString QMovie::lastErrorString() const +{ + Q_D(const QMovie); + return d->reader->errorString(); +} + /*! Returns the number of frames in the movie. diff --git a/src/gui/image/qmovie.h b/src/gui/image/qmovie.h index 2b41e07dba..ab8ef82aa0 100644 --- a/src/gui/image/qmovie.h +++ b/src/gui/image/qmovie.h @@ -106,6 +106,8 @@ public: QPixmap currentPixmap() const; bool isValid() const; + QImageReader::ImageReaderError lastError() const; + QString lastErrorString() const; bool jumpToFrame(int frameNumber); int loopCount() const;