diff options
author | Andrew den Exter <andrew.den-exter@nokia.com> | 2010-09-08 15:05:46 +1000 |
---|---|---|
committer | Andrew den Exter <andrew.den-exter@nokia.com> | 2010-09-08 15:05:46 +1000 |
commit | 9272e0133c717a876e8f6d486a5957b7587cebba (patch) | |
tree | cfe4f70c20bc0799331ad51fcfa877cb97f682a3 | |
parent | 2b5235fc133f802dc3012296821ea80e6cb7321b (diff) |
Remove the result property from gallery requests.
Replace with an extended set of status values and an error and
errorString property.
32 files changed, 1624 insertions, 1226 deletions
diff --git a/plugins/declarative/gallery/qdeclarativedocumentgallery.cpp b/plugins/declarative/gallery/qdeclarativedocumentgallery.cpp index 1ca9f5a4a0..90752c25e2 100644 --- a/plugins/declarative/gallery/qdeclarativedocumentgallery.cpp +++ b/plugins/declarative/gallery/qdeclarativedocumentgallery.cpp @@ -82,29 +82,6 @@ QDeclarativeDocumentGallery::ItemType QDeclarativeDocumentGallery::itemTypeFromS return QDeclarativeDocumentGallery::InvalidType; } -static const char *qt_declarativeDocumentGalleryErrorStrings[] = -{ - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "The document gallery doesn't support this request."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "There was an error connecting to the document gallery"), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "The value of an item ID property is invalid."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "The value of an item type property is invalid."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "A filter references a property that doesn't exist."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "A filter includes an incompatible property value."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "A filter type is not supported by the document gallery."), - QT_TRANSLATE_NOOP("QDeclarativeDocumentGallery", "A filter option is not supported by the document gallery.") -}; - -QString QDeclarativeDocumentGallery::toErrorString(int result) -{ - if (result >= QGalleryAbstractRequest::NotSupported - && result <= QGalleryAbstractRequest::UnsupportedFilterOptionError) { - return tr(qt_declarativeDocumentGalleryErrorStrings[ - result - QGalleryAbstractRequest::NotSupported]); - } else { - return QString(); - } -} - QAbstractGallery *QDeclarativeDocumentGallery::gallery() { return qt_declarativeDocumentGalleryInstance(); diff --git a/plugins/declarative/gallery/qdeclarativedocumentgallery.h b/plugins/declarative/gallery/qdeclarativedocumentgallery.h index fe63bd0cfe..f5372eee0d 100644 --- a/plugins/declarative/gallery/qdeclarativedocumentgallery.h +++ b/plugins/declarative/gallery/qdeclarativedocumentgallery.h @@ -76,8 +76,6 @@ public: static QString toString(ItemType type); static ItemType itemTypeFromString(const QString &string); - static QString toErrorString(int result); - static QAbstractGallery *gallery(); }; diff --git a/plugins/declarative/gallery/qdeclarativegalleryitem.cpp b/plugins/declarative/gallery/qdeclarativegalleryitem.cpp index a3167d8831..0442ddc5e2 100644 --- a/plugins/declarative/gallery/qdeclarativegalleryitem.cpp +++ b/plugins/declarative/gallery/qdeclarativegalleryitem.cpp @@ -55,7 +55,6 @@ QDeclarativeGalleryItem::QDeclarativeGalleryItem(QObject *parent) { connect(&m_request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status)), this, SLOT(_q_statusChanged())); - connect(&m_request, SIGNAL(resultChanged()), this, SLOT(_q_statusChanged())); connect(&m_request, SIGNAL(progressChanged(int,int)), this, SIGNAL(progressChanged())); connect(&m_request, SIGNAL(itemChanged()), @@ -88,36 +87,9 @@ void QDeclarativeGalleryItem::componentComplete() void QDeclarativeGalleryItem::_q_statusChanged() { Status status = m_status; - QString message; - - switch (m_request.status()) { - case QGalleryAbstractRequest::Inactive: { - switch (m_request.result()) { - case QGalleryAbstractRequest::NoResult: - status = Null; - break; - case QGalleryAbstractRequest::Cancelled: - status = Cancelled; - break; - case QGalleryAbstractRequest::Succeeded: - status = Finished; - break; - default: - status = Error; - message = QDeclarativeDocumentGallery::toErrorString(m_request.result()); - break; - } - } - case QGalleryAbstractRequest::Active: - status = Active; - break; - case QGalleryAbstractRequest::Cancelling: - status = Cancelling; - break; - case QGalleryAbstractRequest::Idle: - status = Idle; - break; - } + QString message = m_request.errorString(); + + m_status = Status(m_request.status()); qSwap(message, m_errorMessage); diff --git a/plugins/declarative/gallery/qdeclarativegalleryitem.h b/plugins/declarative/gallery/qdeclarativegalleryitem.h index 4a533b68c8..33c08586c0 100644 --- a/plugins/declarative/gallery/qdeclarativegalleryitem.h +++ b/plugins/declarative/gallery/qdeclarativegalleryitem.h @@ -70,13 +70,13 @@ class QDeclarativeGalleryItem : public QObject, public QDeclarativeParserStatus public: enum Status { - Null, - Active, - Finished, - Idle, - Cancelling, - Cancelled, - Error + Null = QGalleryAbstractRequest::Inactive, + Active = QGalleryAbstractRequest::Active, + Finished = QGalleryAbstractRequest::Finished, + Idle = QGalleryAbstractRequest::Idle, + Cancelling = QGalleryAbstractRequest::Cancelling, + Cancelled = QGalleryAbstractRequest::Cancelled, + Error = QGalleryAbstractRequest::Error }; ~QDeclarativeGalleryItem(); diff --git a/plugins/declarative/gallery/qdeclarativegalleryquerymodel.cpp b/plugins/declarative/gallery/qdeclarativegalleryquerymodel.cpp index 459153a9a6..e4232217bf 100644 --- a/plugins/declarative/gallery/qdeclarativegalleryquerymodel.cpp +++ b/plugins/declarative/gallery/qdeclarativegalleryquerymodel.cpp @@ -55,7 +55,6 @@ QDeclarativeGalleryQueryModel::QDeclarativeGalleryQueryModel(QObject *parent) { connect(&m_request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status)), this, SLOT(_q_statusChanged())); - connect(&m_request, SIGNAL(resultChanged()), this, SLOT(_q_statusChanged())); connect(&m_request, SIGNAL(progressChanged(int,int)), this, SIGNAL(progressChanged())); connect(&m_request, SIGNAL(resultSetChanged(QGalleryResultSet*)), @@ -227,36 +226,9 @@ void QDeclarativeGalleryQueryModel::setProperty( void QDeclarativeGalleryQueryModel::_q_statusChanged() { Status status = m_status; - QString message; - - switch (m_request.status()) { - case QGalleryAbstractRequest::Inactive: { - switch (m_request.result()) { - case QGalleryAbstractRequest::NoResult: - status = Null; - break; - case QGalleryAbstractRequest::Cancelled: - status = Cancelled; - break; - case QGalleryAbstractRequest::Succeeded: - status = Finished; - break; - default: - status = Error; - message = QDeclarativeDocumentGallery::toErrorString(m_request.result()); - break; - } - } - case QGalleryAbstractRequest::Active: - status = Active; - break; - case QGalleryAbstractRequest::Cancelling: - status = Cancelling; - break; - case QGalleryAbstractRequest::Idle: - status = Idle; - break; - } + QString message = m_request.errorString(); + + m_status = Status(m_request.status()); qSwap(message, m_errorMessage); diff --git a/plugins/declarative/gallery/qdeclarativegalleryquerymodel.h b/plugins/declarative/gallery/qdeclarativegalleryquerymodel.h index 7782c51f9e..87d7481efb 100644 --- a/plugins/declarative/gallery/qdeclarativegalleryquerymodel.h +++ b/plugins/declarative/gallery/qdeclarativegalleryquerymodel.h @@ -77,13 +77,13 @@ class QDeclarativeGalleryQueryModel : public QAbstractListModel, public QDeclara public: enum Status { - Null, - Active, - Finished, - Idle, - Cancelling, - Cancelled, - Error + Null = QGalleryAbstractRequest::Inactive, + Active = QGalleryAbstractRequest::Active, + Finished = QGalleryAbstractRequest::Finished, + Idle = QGalleryAbstractRequest::Idle, + Cancelling = QGalleryAbstractRequest::Cancelling, + Cancelled = QGalleryAbstractRequest::Cancelled, + Error = QGalleryAbstractRequest::Error }; enum Scope diff --git a/plugins/declarative/gallery/qdeclarativegallerytype.cpp b/plugins/declarative/gallery/qdeclarativegallerytype.cpp index 6c80fff3e6..045341946f 100644 --- a/plugins/declarative/gallery/qdeclarativegallerytype.cpp +++ b/plugins/declarative/gallery/qdeclarativegallerytype.cpp @@ -56,7 +56,6 @@ QDeclarativeGalleryType::QDeclarativeGalleryType(QObject *parent) { connect(&m_request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status)), this, SLOT(_q_statusChanged())); - connect(&m_request, SIGNAL(resultChanged()), this, SLOT(_q_statusChanged())); connect(&m_request, SIGNAL(progressChanged(int,int)), this, SIGNAL(progressChanged())); connect(&m_request, SIGNAL(typeChanged()), @@ -87,36 +86,9 @@ void QDeclarativeGalleryType::componentComplete() void QDeclarativeGalleryType::_q_statusChanged() { Status status = m_status; - QString message; - - switch (m_request.status()) { - case QGalleryAbstractRequest::Inactive: { - switch (m_request.result()) { - case QGalleryAbstractRequest::NoResult: - status = Null; - break; - case QGalleryAbstractRequest::Cancelled: - status = Cancelled; - break; - case QGalleryAbstractRequest::Succeeded: - status = Finished; - break; - default: - status = Error; - message = QDeclarativeDocumentGallery::toErrorString(m_request.result()); - break; - } - } - case QGalleryAbstractRequest::Active: - status = Active; - break; - case QGalleryAbstractRequest::Cancelling: - status = Cancelling; - break; - case QGalleryAbstractRequest::Idle: - status = Idle; - break; - } + QString message = m_request.errorString(); + + m_status = Status(m_request.status()); qSwap(message, m_errorMessage); diff --git a/plugins/declarative/gallery/qdeclarativegallerytype.h b/plugins/declarative/gallery/qdeclarativegallerytype.h index 5e30ace4d3..c0dbc15d43 100644 --- a/plugins/declarative/gallery/qdeclarativegallerytype.h +++ b/plugins/declarative/gallery/qdeclarativegallerytype.h @@ -69,13 +69,13 @@ class QDeclarativeGalleryType : public QObject, public QDeclarativeParserStatus public: enum Status { - Null, - Active, - Finished, - Idle, - Cancelling, - Cancelled, - Error + Null = QGalleryAbstractRequest::Inactive, + Active = QGalleryAbstractRequest::Active, + Finished = QGalleryAbstractRequest::Finished, + Idle = QGalleryAbstractRequest::Idle, + Cancelling = QGalleryAbstractRequest::Cancelling, + Cancelled = QGalleryAbstractRequest::Cancelled, + Error = QGalleryAbstractRequest::Error }; ~QDeclarativeGalleryType(); diff --git a/src/gallery/maemo5/qdocumentgallery_maemo5.cpp b/src/gallery/maemo5/qdocumentgallery_maemo5.cpp index f8c7b729a6..c0aec4a63f 100644 --- a/src/gallery/maemo5/qdocumentgallery_maemo5.cpp +++ b/src/gallery/maemo5/qdocumentgallery_maemo5.cpp @@ -148,11 +148,11 @@ QGalleryAbstractResponse *QDocumentGalleryPrivate::createItemResponse(QGalleryIt QGalleryTrackerResultSetArguments arguments; - int result = schema.prepareItemResponse( + int error = schema.prepareItemResponse( &arguments, this, request->itemId().toString(), request->propertyNames()); - if (result != QGalleryAbstractRequest::Succeeded) { - return new QGalleryAbstractResponse(result); + if (error != QDocumentGallery::NoError) { + return new QGalleryAbstractResponse(error); } else { return createItemListResponse(&arguments, 0, 1, schema.isItemType(), request->isAutoUpdate()); } @@ -164,10 +164,10 @@ QGalleryAbstractResponse *QDocumentGalleryPrivate::createTypeResponse(QGalleryTy QGalleryTrackerTypeResultSetArguments arguments; - int result = schema.prepareTypeResponse(&arguments, this); + int error = schema.prepareTypeResponse(&arguments, this); - if (result != QGalleryAbstractRequest::Succeeded) { - return new QGalleryAbstractResponse(result); + if (error != QDocumentGallery::NoError) { + return new QGalleryAbstractResponse(error); } else { QGalleryTrackerTypeResultSet *response = new QGalleryTrackerTypeResultSet(arguments); @@ -214,7 +214,7 @@ QGalleryAbstractResponse *QDocumentGalleryPrivate::createFilterResponse( QGalleryTrackerResultSetArguments arguments; - int result = schema.prepareQueryResponse( + int error = schema.prepareQueryResponse( &arguments, this, request->scope(), @@ -223,8 +223,8 @@ QGalleryAbstractResponse *QDocumentGalleryPrivate::createFilterResponse( request->propertyNames(), request->sortPropertyNames()); - if (result != QGalleryAbstractRequest::Succeeded) { - return new QGalleryAbstractResponse(result); + if (error != QDocumentGallery::NoError) { + return new QGalleryAbstractResponse(error); } else { return createItemListResponse( &arguments, @@ -238,15 +238,15 @@ QGalleryAbstractResponse *QDocumentGalleryPrivate::createFilterResponse( QGalleryAbstractResponse *QDocumentGalleryPrivate::createRemoveResponse( QGalleryRemoveRequest *request) { - int result = QGalleryAbstractRequest::Succeeded; + QDocumentGallery::Error error = QDocumentGallery::NoError; - QString fileName = QGalleryTrackerSchema::uriFromItemId(&result, request->itemId()); + QString fileName = QGalleryTrackerSchema::uriFromItemId(&error, request->itemId()); if (fileName.isNull()) { - if (result == QGalleryAbstractRequest::Succeeded) - result = QGalleryAbstractRequest::InvalidItemError; + if (error == QDocumentGallery::NoError) + error = QDocumentGallery::ItemIdError; - return new QGalleryAbstractResponse(result); + return new QGalleryAbstractResponse(error); } else { return new QGalleryTrackerRemoveResponse(fileInterface(), fileName); } diff --git a/src/gallery/maemo5/qgallerytrackerremoveresponse.cpp b/src/gallery/maemo5/qgallerytrackerremoveresponse.cpp index 2ee26298ee..5c68c11767 100644 --- a/src/gallery/maemo5/qgallerytrackerremoveresponse.cpp +++ b/src/gallery/maemo5/qgallerytrackerremoveresponse.cpp @@ -43,6 +43,8 @@ #include "qgalleryabstractresponse_p.h" +#include <qdocumentgallery.h> + #include <QtDBus/qdbuspendingcall.h> QTM_BEGIN_NAMESPACE @@ -59,7 +61,7 @@ public: { qWarning("QGalleryRemoveRequest DBUS error: %s", qPrintable(error.message())); - q_func()->finish(QGalleryAbstractRequest::ConnectionError); + q_func()->finish(QDocumentGallery::ConnectionError); } void _q_removeFinished(QDBusPendingCallWatcher *watcher) @@ -71,7 +73,7 @@ public: if (watcher->isError()) setError(watcher->error()); else - q_func()->finish(QGalleryAbstractRequest::Succeeded); + q_func()->finish(); } }; @@ -86,7 +88,7 @@ QGalleryTrackerRemoveResponse::QGalleryTrackerRemoveResponse( if (remove.isError()) { d->setError(remove.error()); } else if (remove.isFinished()) { - finish(QGalleryAbstractRequest::Succeeded); + finish(); } else { d->removeWatcher = new QDBusPendingCallWatcher(remove); @@ -118,7 +120,7 @@ bool QGalleryTrackerRemoveResponse::waitForFinished(int) if (watcher->isError()) d->setError(watcher->error()); else - finish(QGalleryAbstractRequest::Succeeded); + finish(); } return true; diff --git a/src/gallery/maemo5/qgallerytrackerresultset.cpp b/src/gallery/maemo5/qgallerytrackerresultset.cpp index ecfb49360d..224fda5e63 100644 --- a/src/gallery/maemo5/qgallerytrackerresultset.cpp +++ b/src/gallery/maemo5/qgallerytrackerresultset.cpp @@ -47,8 +47,10 @@ #include <QtCore/qdatetime.h> #include <QtDBus/qdbusreply.h> +#include <qdocumentgallery.h> #include <qgalleryresource.h> + Q_DECLARE_METATYPE(QVector<QStringList>) QTM_BEGIN_NAMESPACE @@ -125,7 +127,7 @@ void QGalleryTrackerResultSetPrivate::queryFinished(const QDBusPendingCall &call flags &= ~Active; - q_func()->finish(QGalleryAbstractRequest::ConnectionError); + q_func()->finish(QDocumentGallery::ConnectionError); } else if (flags & Cancelled) { iCache.count = 0; @@ -531,7 +533,7 @@ void QGalleryTrackerResultSetPrivate::_q_parseFinished() else emit q_func()->progressChanged(progressMaximum, progressMaximum); - q_func()->finish(QGalleryAbstractRequest::Succeeded, flags & Live); + q_func()->finish(flags & Live); } else if (flags & Cancelled) { iCache.count = 0; diff --git a/src/gallery/maemo5/qgallerytrackerschema.cpp b/src/gallery/maemo5/qgallerytrackerschema.cpp index 513774f9b5..c98a425e58 100644 --- a/src/gallery/maemo5/qgallerytrackerschema.cpp +++ b/src/gallery/maemo5/qgallerytrackerschema.cpp @@ -104,7 +104,7 @@ namespace QGalleryItemPropertyList dependencies; QGalleryTrackerCompositeColumn *(*createColumn)(const QVector<int> &columns); bool (*writeFilterCondition)( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryCompositeProperty &property, const QGalleryMetaDataFilter &filter); @@ -174,7 +174,7 @@ namespace QGalleryItemPropertyList properties; QGalleryAggregatePropertyList aggregateProperties; QGalleryCompositePropertyList compositeProperties; - void (*writeIdCondition)(int *error, QXmlStreamWriter *xml, const QStringRef &itemId); + void (*writeIdCondition)(QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QStringRef &itemId); int updateMask; }; @@ -344,9 +344,9 @@ namespace UpdateMask \ } -template <typename T> bool qt_writeValue(int *error, QXmlStreamWriter *xml, const QVariant &value); +template <typename T> bool qt_writeValue(QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QVariant &value); -template <> bool qt_writeValue<QString>(int *, QXmlStreamWriter *xml, const QVariant &value) +template <> bool qt_writeValue<QString>(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QVariant &value) { xml->writeStartElement(QLatin1String("rdf:String")); xml->writeCharacters(value.toString()); @@ -355,7 +355,7 @@ template <> bool qt_writeValue<QString>(int *, QXmlStreamWriter *xml, const QVar return true; } -template <> bool qt_writeValue<int>(int *, QXmlStreamWriter *xml, const QVariant &value) +template <> bool qt_writeValue<int>(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QVariant &value) { xml->writeStartElement(QLatin1String("rdf:Integer")); xml->writeCharacters(value.toString()); @@ -364,7 +364,7 @@ template <> bool qt_writeValue<int>(int *, QXmlStreamWriter *xml, const QVariant return true; } -template <> bool qt_writeValue<qreal>(int *, QXmlStreamWriter *xml, const QVariant &value) +template <> bool qt_writeValue<qreal>(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QVariant &value) { xml->writeStartElement(QLatin1String("rdf:Float")); xml->writeCharacters(value.toString()); @@ -373,7 +373,7 @@ template <> bool qt_writeValue<qreal>(int *, QXmlStreamWriter *xml, const QVaria return true; } -template <> bool qt_writeValue<QDateTime>(int *, QXmlStreamWriter *xml, const QVariant &value) +template <> bool qt_writeValue<QDateTime>(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QVariant &value) { xml->writeStartElement(QLatin1String("rdf:Date")); xml->writeCharacters(value.toDateTime().toString(Qt::ISODate)); @@ -382,7 +382,7 @@ template <> bool qt_writeValue<QDateTime>(int *, QXmlStreamWriter *xml, const QV return true; } -template <> bool qt_writeValue<QVariant>(int *error, QXmlStreamWriter *xml, const QVariant &value) +template <> bool qt_writeValue<QVariant>(QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QVariant &value) { switch (value.type()) { case QVariant::Int: @@ -400,7 +400,7 @@ template <> bool qt_writeValue<QVariant>(int *error, QXmlStreamWriter *xml, cons if (value.canConvert<QString>()) { return qt_writeValue<QString>(error, xml, value); } else { - *error = QGalleryAbstractRequest::PropertyTypeError; + *error = QDocumentGallery::FilterError; return false; } @@ -422,14 +422,14 @@ static bool qt_writeEqualsCondition( } static bool qt_writeCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryFilter &filter, const QGalleryItemPropertyList &properties, const QGalleryCompositePropertyList &composites); static bool qt_writeCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryIntersectionFilter &filter, const QGalleryItemPropertyList &properties, @@ -455,7 +455,7 @@ static bool qt_writeCondition( } static bool qt_writeCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryUnionFilter &filter, const QGalleryItemPropertyList &properties, @@ -481,7 +481,7 @@ static bool qt_writeCondition( } static bool qt_writeCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryMetaDataFilter &filter, const QGalleryItemPropertyList &properties, @@ -532,7 +532,7 @@ static bool qt_writeCondition( writer.writeStartElement("rdfq:regex"); break; default: - *error = QGalleryAbstractRequest::UnsupportedFilterOptionError; + *error = QDocumentGallery::FilterError; return false; } @@ -547,14 +547,14 @@ static bool qt_writeCondition( && composites[index].writeFilterCondition) { return composites[index].writeFilterCondition(error, xml, composites[index], filter); } else { - *error = QGalleryAbstractRequest::InvalidPropertyError; + *error = QDocumentGallery::FilterError; return false; } } static bool qt_writeCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryFilter &filter, const QGalleryItemPropertyList &properties, @@ -571,20 +571,20 @@ static bool qt_writeCondition( default: Q_ASSERT(filter.type() != QGalleryFilter::Invalid); - *error = QGalleryAbstractRequest::UnsupportedFilterTypeError; + *error = QDocumentGallery::FilterError; return false; } } static bool qt_writeFilePathCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryCompositeProperty &, const QGalleryMetaDataFilter &filter) { if (filter.comparator() != QGalleryFilter::Equals) { - *error = QGalleryAbstractRequest::UnsupportedFilterOptionError; + *error = QDocumentGallery::FilterError; return false; } else { @@ -612,17 +612,17 @@ static bool qt_writeFilePathCondition( } static bool qt_writeFileUrlCondition( - int *error, + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QGalleryCompositeProperty &, const QGalleryMetaDataFilter &filter) { if (filter.comparator() != QGalleryFilter::Equals) { - *error = QGalleryAbstractRequest::UnsupportedFilterOptionError; + *error = QDocumentGallery::FilterError; return false; } else if (!filter.value().canConvert<QUrl>()) { - *error = QGalleryAbstractRequest::PropertyTypeError; + *error = QDocumentGallery::FilterError; return false; } else { @@ -706,7 +706,7 @@ static const QGalleryCompositeProperty qt_galleryFileCompositePropertyList[] = }; -static void qt_writeFileIdCondition(int *error, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writeFileIdCondition(QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QStringRef &itemId) { const int separatorIndex = itemId.string()->lastIndexOf(QLatin1Char('/')); @@ -720,17 +720,17 @@ static void qt_writeFileIdCondition(int *error, QXmlStreamWriter *xml, const QSt qt_writeEqualsCondition(xml, QLatin1String("File:Name"), fileName); xml->writeEndElement(); } else { - *error = QGalleryAbstractRequest::InvalidItemError; + *error = QDocumentGallery::ItemIdError; } } static void qt_writeFileContainerCondition( - int *, QXmlStreamWriter *xml, const QStringRef &itemId) + QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { qt_writeEqualsCondition(xml, QLatin1String("File:Path"), itemId.toString()); } -static void qt_writeFileScopeCondition(int *, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writeFileScopeCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { xml->writeStartElement(QLatin1String("rdfq:or")); @@ -800,7 +800,7 @@ static QStringList qt_trackerRootPaths() return paths; } -static bool qt_writeFileRootContainerCondition(int *, QXmlStreamWriter *xml) +static bool qt_writeFileRootContainerCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml) { xml->writeStartElement(QLatin1String("rdfq:inSet")); @@ -1008,7 +1008,7 @@ static const QGalleryAggregateProperty qt_galleryArtistAggregateList[] = QT_GALLERY_AGGREGATE_PROPERTY("trackCount", "*" , "COUNT", Int), }; -static void qt_writeArtistIdCondition(int *, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writeArtistIdCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { qt_writeEqualsCondition(xml, QLatin1String("Audio:Artist"), itemId.toString()); } @@ -1034,7 +1034,7 @@ static const QGalleryAggregateProperty qt_galleryAlbumArtistAggregateList[] = QT_GALLERY_AGGREGATE_PROPERTY("trackCount", "*" , "COUNT", Int), }; -static void qt_writeAlbumArtistIdCondition(int *, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writeAlbumArtistIdCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { qt_writeEqualsCondition(xml, QLatin1String("Audio:AlbumArtist"), itemId.toString()); } @@ -1064,7 +1064,7 @@ static const QGalleryAggregateProperty qt_galleryAlbumAggregateList[] = }; static void qt_writeAlbumIdCondition( - int *error, QXmlStreamWriter *xml, const QStringRef &itemId) + QDocumentGallery::Error *error, QXmlStreamWriter *xml, const QStringRef &itemId) { const QLatin1Char separator('/'); @@ -1086,7 +1086,7 @@ static void qt_writeAlbumIdCondition( } } - *error = QGalleryAbstractRequest::InvalidItemError; + *error = QDocumentGallery::ItemIdError; } ////////////// @@ -1112,7 +1112,7 @@ static const QGalleryAggregateProperty qt_galleryAudioGenreAggregateList[] = -static void qt_writeAudioGenreIdCondition(int *, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writeAudioGenreIdCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { qt_writeEqualsCondition(xml, QLatin1String("Audio:Genre"), itemId.toString()); } @@ -1136,7 +1136,7 @@ static const QGalleryAggregateProperty qt_galleryPhotoAlbumAggregateList[] = QT_GALLERY_AGGREGATE_PROPERTY("trackCount", "*", "COUNT", Int) }; -static void qt_writePhotoAlbumIdCondition(int *, QXmlStreamWriter *xml, const QStringRef &itemId) +static void qt_writePhotoAlbumIdCondition(QDocumentGallery::Error *, QXmlStreamWriter *xml, const QStringRef &itemId) { qt_writeEqualsCondition(xml, QLatin1String("Image:Album"), itemId.toString()); } @@ -1235,7 +1235,7 @@ QString QGalleryTrackerSchema::itemType() const return QString(); } -QString QGalleryTrackerSchema::uriFromItemId(int *error, const QVariant &itemId) +QString QGalleryTrackerSchema::uriFromItemId(QDocumentGallery::Error *error, const QVariant &itemId) { QGalleryItemTypeList itemTypes(qt_galleryItemTypeList); @@ -1246,7 +1246,7 @@ QString QGalleryTrackerSchema::uriFromItemId(int *error, const QVariant &itemId) if (index != -1) { return itemTypes[index].prefix.strip(idString).toString(); } else { - *error = QGalleryAbstractRequest::InvalidItemError; + *error = QDocumentGallery::ItemIdError; return QString(); } @@ -1321,14 +1321,14 @@ QGalleryProperty::Attributes QGalleryTrackerSchema::propertyAttributes( return QGalleryProperty::Attributes(); } -int QGalleryTrackerSchema::prepareItemResponse( +QDocumentGallery::Error QGalleryTrackerSchema::prepareItemResponse( QGalleryTrackerResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus, const QString &itemId, const QStringList &propertyNames) const { if (m_itemIndex >= 0) { - int result = QGalleryAbstractRequest::Succeeded; + QDocumentGallery::Error error = QDocumentGallery::NoError; QString query; { @@ -1336,17 +1336,17 @@ int QGalleryTrackerSchema::prepareItemResponse( xml.writeStartElement(QLatin1String("rdfq:Condition")); qt_writeFileIdCondition( - &result ,&xml, qt_galleryItemTypeList[m_itemIndex].prefix.strip(itemId)); + &error ,&xml, qt_galleryItemTypeList[m_itemIndex].prefix.strip(itemId)); xml.writeEndElement(); } - if (result == QGalleryAbstractRequest::Succeeded) + if (error == QDocumentGallery::NoError) populateItemArguments(arguments, dbus, query, propertyNames, QStringList()); - return result; + return error; } else if (m_aggregateIndex >= 0) { - int result = QGalleryAbstractRequest::Succeeded; + QDocumentGallery::Error error = QDocumentGallery::NoError; QString query; { @@ -1354,23 +1354,23 @@ int QGalleryTrackerSchema::prepareItemResponse( xml.writeStartElement(QLatin1String("rdfq:Condition")); qt_galleryAggregateTypeList[m_aggregateIndex].writeIdCondition( - &result, + &error, &xml, qt_galleryAggregateTypeList[m_aggregateIndex].prefix.strip(itemId)); xml.writeEndElement(); } - if (result == QGalleryAbstractRequest::Succeeded) + if (error == QDocumentGallery::NoError) populateAggregateArguments(arguments, dbus, query, propertyNames, QStringList()); - return result; + return error; } else { - return QGalleryAbstractRequest::InvalidItemError; + return QDocumentGallery::ItemIdError; } } -int QGalleryTrackerSchema::prepareQueryResponse( +QDocumentGallery::Error QGalleryTrackerSchema::prepareQueryResponse( QGalleryTrackerResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus, QGalleryQueryRequest::Scope scope, @@ -1379,32 +1379,32 @@ int QGalleryTrackerSchema::prepareQueryResponse( const QStringList &propertyNames, const QStringList &sortPropertyNames) const { - int result = QGalleryAbstractRequest::Succeeded; + QDocumentGallery::Error error = QDocumentGallery::NoError; QString query; if (!rootItemId.isEmpty() || filter.isValid() || (scope == QGalleryQueryRequest::DirectDescendants && m_itemIndex != -1)) { - result = buildFilterQuery(&query, scope, rootItemId, filter); + error = buildFilterQuery(&query, scope, rootItemId, filter); } - if (result != QGalleryAbstractRequest::Succeeded) { - return result; + if (error != QDocumentGallery::NoError) { + return error; } else if (m_itemIndex >= 0) { populateItemArguments(arguments, dbus, query, propertyNames, sortPropertyNames); - return QGalleryAbstractRequest::Succeeded; + return QDocumentGallery::NoError; } else if (m_aggregateIndex >= 0) { populateAggregateArguments(arguments, dbus, query, propertyNames, sortPropertyNames); - return QGalleryAbstractRequest::Succeeded; + return QDocumentGallery::NoError; } else { - return QGalleryAbstractRequest::ItemTypeError; + return QDocumentGallery::ItemTypeError; } } -int QGalleryTrackerSchema::prepareTypeResponse( +QDocumentGallery::Error QGalleryTrackerSchema::prepareTypeResponse( QGalleryTrackerTypeResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus) const { QString query; @@ -1419,7 +1419,7 @@ int QGalleryTrackerSchema::prepareTypeResponse( << QLatin1String("*") << query; - return QGalleryAbstractRequest::Succeeded; + return QDocumentGallery::NoError; } else if (m_aggregateIndex >= 0) { const QGalleryAggregateType &type = qt_galleryAggregateTypeList[m_aggregateIndex]; @@ -1453,13 +1453,13 @@ int QGalleryTrackerSchema::prepareTypeResponse( << descending; } - return QGalleryAbstractRequest::Succeeded; + return QDocumentGallery::NoError; } else { - return QGalleryAbstractRequest::ItemTypeError; + return QDocumentGallery::ItemTypeError; } } -int QGalleryTrackerSchema::buildFilterQuery( +QDocumentGallery::Error QGalleryTrackerSchema::buildFilterQuery( QString *query, QGalleryQueryRequest::Scope scope, const QString &rootItemId, @@ -1468,7 +1468,7 @@ int QGalleryTrackerSchema::buildFilterQuery( const QGalleryItemTypeList itemTypes(qt_galleryItemTypeList); const QGalleryAggregateTypeList aggregateTypes(qt_galleryAggregateTypeList); - int result = QGalleryAbstractRequest::Succeeded; + QDocumentGallery::Error result = QDocumentGallery::NoError; QXmlStreamWriter xml(query); QXmlStackStreamWriter writer(&xml); @@ -1493,7 +1493,7 @@ int QGalleryTrackerSchema::buildFilterQuery( aggregateTypes[index].writeIdCondition( &result, &xml, aggregateTypes[index].prefix.strip(rootItemId)); } else { - result = QGalleryAbstractRequest::InvalidItemError; + result = QDocumentGallery::ItemIdError; } } else if (scope == QGalleryQueryRequest::DirectDescendants && m_itemIndex != -1) { if (filter.isValid()) @@ -1518,7 +1518,7 @@ int QGalleryTrackerSchema::buildFilterQuery( aggregateTypes[m_aggregateIndex].properties, aggregateTypes[m_itemIndex].compositeProperties); } else { - result = QGalleryAbstractRequest::ItemTypeError; + result = QDocumentGallery::ItemTypeError; } } diff --git a/src/gallery/maemo5/qgallerytrackerschema_p.h b/src/gallery/maemo5/qgallerytrackerschema_p.h index 664f5a04b7..0c83a069c8 100644 --- a/src/gallery/maemo5/qgallerytrackerschema_p.h +++ b/src/gallery/maemo5/qgallerytrackerschema_p.h @@ -57,6 +57,8 @@ #include "qgalleryfilter.h" #include "qgalleryproperty.h" +#include "qdocumentgallery.h" + #include <QtCore/qstringlist.h> QTM_BEGIN_NAMESPACE @@ -82,20 +84,20 @@ public: QString itemType() const; - static QString uriFromItemId(int *error, const QVariant &itemId); + static QString uriFromItemId(QDocumentGallery::Error *error, const QVariant &itemId); static int serviceUpdateId(const QString &service); QStringList supportedPropertyNames() const; QGalleryProperty::Attributes propertyAttributes(const QString &propertyName) const; - int prepareItemResponse( + QDocumentGallery::Error prepareItemResponse( QGalleryTrackerResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus, const QString &itemId, const QStringList &propertyNames) const; - int prepareQueryResponse( + QDocumentGallery::Error prepareQueryResponse( QGalleryTrackerResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus, QGalleryQueryRequest::Scope scope, @@ -104,7 +106,7 @@ public: const QStringList &propertyNames, const QStringList &sortPropertyNames) const; - int prepareTypeResponse( + QDocumentGallery::Error prepareTypeResponse( QGalleryTrackerTypeResultSetArguments *arguments, QGalleryDBusInterfaceFactory *dbus) const; @@ -112,7 +114,7 @@ private: QGalleryTrackerSchema(int itemIndex, int aggregateIndex) : m_itemIndex(itemIndex), m_aggregateIndex(aggregateIndex) {} - int buildFilterQuery( + QDocumentGallery::Error buildFilterQuery( QString *query, QGalleryQueryRequest::Scope scope, const QString &scopeItemId, diff --git a/src/gallery/maemo5/qgallerytrackertyperesultset.cpp b/src/gallery/maemo5/qgallerytrackertyperesultset.cpp index 01015979ba..fac6e52940 100644 --- a/src/gallery/maemo5/qgallerytrackertyperesultset.cpp +++ b/src/gallery/maemo5/qgallerytrackertyperesultset.cpp @@ -46,6 +46,8 @@ #include <QtCore/qdatetime.h> #include <QtDBus/qdbuspendingreply.h> +#include "qdocumentgallery.h" + #include "qgalleryresultset_p.h" Q_DECLARE_METATYPE(QVector<QStringList>) @@ -108,7 +110,7 @@ void QGalleryTrackerTypeResultSetPrivate::queryFinished(const QDBusPendingCall & const int oldCount = count; if (call.isError()) { - q_func()->finish(QGalleryAbstractRequest::ConnectionError); + q_func()->finish(QDocumentGallery::ConnectionError); return; } else if (!accumulative) { @@ -159,7 +161,7 @@ void QGalleryTrackerTypeResultSetPrivate::queryFinished(const QDBusPendingCall & emit q_func()->metaDataChanged(0, 1, QList<int>() << 0); if (!queryWatcher) - q_func()->finish(QGalleryAbstractRequest::Succeeded); + q_func()->finish(); } void QGalleryTrackerTypeResultSetPrivate::queryCount() @@ -288,7 +290,7 @@ bool QGalleryTrackerTypeResultSet::waitForFinished(int msecs) delete watcher; - if (d->result != QGalleryAbstractRequest::NoResult) + if (d->status != QGalleryAbstractRequest::Active) return true; } else { return true; diff --git a/src/gallery/qdocumentgallery.h b/src/gallery/qdocumentgallery.h index c2e77f8bcd..7ef83cd79f 100644 --- a/src/gallery/qdocumentgallery.h +++ b/src/gallery/qdocumentgallery.h @@ -145,6 +145,17 @@ public: static const QGalleryProperty resumePosition; static const QGalleryProperty director; + enum Error + { + NoError = QGalleryAbstractRequest::NoError, + NoGallery = QGalleryAbstractRequest::NoGallery, + NotSupported = QGalleryAbstractRequest::NotSupported, + ConnectionError = QGalleryAbstractRequest::GalleryError, + ItemIdError, + ItemTypeError, + FilterError + }; + QDocumentGallery(QObject *parent = 0); ~QDocumentGallery(); diff --git a/src/gallery/qgalleryabstractrequest.cpp b/src/gallery/qgalleryabstractrequest.cpp index e450d63319..342b556ed1 100644 --- a/src/gallery/qgalleryabstractrequest.cpp +++ b/src/gallery/qgalleryabstractrequest.cpp @@ -47,36 +47,65 @@ QTM_BEGIN_NAMESPACE void QGalleryAbstractRequestPrivate::_q_finished() { - Q_Q(QGalleryAbstractRequest); - - if (result == QGalleryAbstractRequest::NoResult) { - result = response->result(); - - if (result == QGalleryAbstractRequest::NoResult) - return; - - status = response->isIdle() - ? QGalleryAbstractRequest::Idle - : QGalleryAbstractRequest::Inactive; - - switch (result) { - case QGalleryAbstractRequest::Succeeded: - emit q->succeeded(); - break; - case QGalleryAbstractRequest::Cancelled: - emit q->cancelled(); - break; - default: - emit q->failed(result); - break; + if (status == QGalleryAbstractRequest::Active + || status == QGalleryAbstractRequest::Cancelling + || status == QGalleryAbstractRequest::Idle) { + if (response->error() != QGalleryAbstractRequest::NoError) { + error = response->error(); + errorString = response->errorString(); + + status = QGalleryAbstractRequest::Error; + + emit q_func()->error(error, errorString); + emit q_func()->errorChanged(); + emit q_func()->statusChanged(status); + } else if (status == QGalleryAbstractRequest::Idle) { + if (!response->isIdle()) { + status = QGalleryAbstractRequest::Finished; + + emit q_func()->statusChanged(status); + } + } else if (response->isIdle()) { + status = QGalleryAbstractRequest::Idle; + + if (!wasIdle) { + wasIdle = true; + + emit q_func()->finished(); + } + + emit q_func()->statusChanged(status); + } else if (!response->isActive()) { + status = QGalleryAbstractRequest::Finished; + + if (!wasIdle) + emit q_func()->finished(); + + emit q_func()->statusChanged(status); } - emit q->finished(result); - emit q->resultChanged(); - emit q->statusChanged(status); - } else if (status == QGalleryAbstractRequest::Idle && !response->isIdle()) { - status = QGalleryAbstractRequest::Inactive; + } +} + +void QGalleryAbstractRequestPrivate::_q_cancelled() +{ + if (status == QGalleryAbstractRequest::Cancelling) { + if (!wasIdle) { + status = QGalleryAbstractRequest::Cancelled; - emit q->statusChanged(status); + emit q_func()->cancelled(); + } else { + status = QGalleryAbstractRequest::Finished; + } + emit q_func()->statusChanged(status); + } +} + +void QGalleryAbstractRequestPrivate::_q_resumed() +{ + if (status == QGalleryAbstractRequest::Idle && !response->isIdle()) { + status = QGalleryAbstractRequest::Active; + + emit q_func()->statusChanged(status); } } @@ -269,22 +298,36 @@ QGalleryAbstractRequest::Status QGalleryAbstractRequest::status() const */ /*! - \property QGalleryAbstractRequest::result + \property QGalleryAbstractRequest::error - \brief The result of a request. + \brief The error encountered by an unsuccessful request. - This will be a value of \l Result, or a request specific error value. + Common errors are defined in \l Error, more specific errors are defined by + the gallery implementations such as in QDocumentGallery::Error. */ -int QGalleryAbstractRequest::result() const +int QGalleryAbstractRequest::error() const { - return d_ptr->result; + return d_ptr->error; } /*! - \fn QGalleryAbstractRequest::resultChanged() + \property QGalleryAbstractRequest::errorString - Signals that the result of a request has changed. + \brief A string describing the cause of an \l error in more detail. + + This may be an empty string if more information is not known. +*/ + +QString QGalleryAbstractRequest::errorString() const +{ + return d_ptr->errorString; +} + +/*! + \fn QGalleryAbstractRequest::errorChanged() + + Signals that the \l error and \l errorString properties have changed. */ /*! @@ -337,61 +380,83 @@ bool QGalleryAbstractRequest::waitForFinished(int msecs) void QGalleryAbstractRequest::execute() { + const int oldError = d_ptr->error; + + d_ptr->error = NoError; + d_ptr->errorString = QString(); + if (!d_ptr->gallery) { - d_ptr->result = NoGallery; + d_ptr->status = Error; + d_ptr->error = NoGallery; + d_ptr->errorString = tr("No gallery has been set on the %1.", "%1 = class name") + .arg(QString::fromLatin1(metaObject()->className())); if (d_ptr->response) { QScopedPointer<QGalleryAbstractResponse> oldResponse(d_ptr->response.take()); - //Q_UNUSED(oldResponse); + Q_UNUSED(oldResponse); setResponse(0); } - emit failed(d_ptr->result); - emit finished(d_ptr->result); - emit resultChanged(); + emit error(d_ptr->error, d_ptr->errorString); + emit errorChanged(); } else { - QScopedPointer<QGalleryAbstractResponse> oldResponse(d_ptr->response.take()); - - int oldResult = d_ptr->result; - Status oldStatus = d_ptr->status; - - d_ptr->response.reset(d_ptr->gallery.data()->createResponse(this)); + QScopedPointer<QGalleryAbstractResponse> oldResponse( + d_ptr->gallery.data()->createResponse(this)); + d_ptr->response.swap(oldResponse); if (d_ptr->response) { - d_ptr->result = d_ptr->response->result(); + d_ptr->error = d_ptr->response->error(); - if (d_ptr->result > Succeeded) { - d_ptr->status = Inactive; + if (d_ptr->error != NoError) { + d_ptr->errorString = d_ptr->response->errorString(); + d_ptr->status = Error; d_ptr->response.reset(); if (oldResponse) setResponse(0); + + emit error(d_ptr->error, d_ptr->errorString); + emit errorChanged(); } else { - if (d_ptr->result == NoResult) + if (d_ptr->response->isActive()) { d_ptr->status = Active; - else if (d_ptr->response->isIdle()) + d_ptr->wasIdle = false; + } else if (d_ptr->response->isIdle()) { d_ptr->status = Idle; - else - d_ptr->status = Inactive; + d_ptr->wasIdle = true; + } else { + d_ptr->status = Finished; + } connect(d_ptr->response.data(), SIGNAL(finished()), this, SLOT(_q_finished())); + connect(d_ptr->response.data(), SIGNAL(resumed()), this, SLOT(_q_resumed())); + connect(d_ptr->response.data(), SIGNAL(cancelled()), this, SLOT(_q_cancelled())); connect(d_ptr->response.data(), SIGNAL(progressChanged(int,int)), this, SLOT(_q_progressChanged(int,int))); setResponse(d_ptr->response.data()); } + + oldResponse.reset(); } else { - d_ptr->result = NotSupported; - d_ptr->status = Inactive; + d_ptr->status = Error; + d_ptr->error = NotSupported; + d_ptr->errorString = tr( + "%1 is not supported by %2.", "%1 = interface, %2 = gallery implementation") + .arg(QString::fromLatin1(metaObject()->className())) + .arg(QString::fromLatin1(d_ptr->gallery.data()->metaObject()->className())); if (oldResponse) setResponse(0); - } - oldResponse.reset(); + oldResponse.reset(); + + emit error(d_ptr->error, d_ptr->errorString); + emit errorChanged(); + } if (d_ptr->currentProgress != 0 || d_ptr->maximumProgress != 0) { d_ptr->currentProgress = 0; @@ -400,27 +465,14 @@ void QGalleryAbstractRequest::execute() emit progressChanged(0, 0); } - switch (d_ptr->result) { - case QGalleryAbstractRequest::NoResult: - break; - case QGalleryAbstractRequest::Cancelled: - break; - case QGalleryAbstractRequest::Succeeded: - emit succeeded(); - emit finished(d_ptr->result); - break; - default: - emit failed(d_ptr->result); - emit finished(d_ptr->result); - break; - } + if (d_ptr->status == Finished || d_ptr->status == Idle) + emit finished(); + } - if (d_ptr->result != oldResult) - emit resultChanged(); + if (oldError != NoError && d_ptr->error == NoError) + emit errorChanged(); - if (d_ptr->status != oldStatus) - emit statusChanged(d_ptr->status); - } + emit statusChanged(d_ptr->status); } /*! @@ -430,19 +482,12 @@ void QGalleryAbstractRequest::execute() void QGalleryAbstractRequest::cancel() { - switch (d_ptr->status) { - case Active: + if (d_ptr->status == Active || d_ptr->status == Idle) { d_ptr->status = Cancelling; d_ptr->response->cancel(); if (d_ptr->status == Cancelling) emit statusChanged(d_ptr->status); - break; - case Idle: - d_ptr->response->cancel(); - break; - default: - break; } } @@ -454,13 +499,14 @@ void QGalleryAbstractRequest::cancel() void QGalleryAbstractRequest::clear() { - if (d_ptr->response) { - bool wasFinished = d_ptr->result != NoResult; - bool wasActive = d_ptr->status != Inactive; + const int oldError = d_ptr->error; + + d_ptr->error = NoError; + d_ptr->errorString = QString(); + if (d_ptr->response) { QScopedPointer<QGalleryAbstractResponse> oldResponse(d_ptr->response.take()); - d_ptr->result = NoResult; d_ptr->status = Inactive; setResponse(0); @@ -474,22 +520,21 @@ void QGalleryAbstractRequest::clear() emit progressChanged(0, 0); } - if (wasFinished && d_ptr->result == NoResult) - emit resultChanged(); - - if (wasActive && d_ptr->status == Inactive) - emit statusChanged(d_ptr->status); - } else if (d_ptr->result != NoResult) { - d_ptr->result = NoResult; + emit statusChanged(d_ptr->status); + } else if (d_ptr->status == Error) { + d_ptr->status = Inactive; - emit resultChanged(); + emit statusChanged(d_ptr->status); } + + if (oldError != NoError) + emit errorChanged(); } /*! - \fn QGalleryAbstractRequest::succeeded() + \fn QGalleryAbstractRequest::finished() - Signals that a request has completed successfully. + Signals that a request has finished. */ /*! @@ -499,15 +544,10 @@ void QGalleryAbstractRequest::clear() */ /*! - \fn QGalleryAbstractRequest::failed(int result) - - Signals that a request failed with the given \a result. -*/ - -/*! - \fn QGalleryAbstractRequest::finished(int result) + \fn QGalleryAbstractRequest::error(int error, const QString &errorString) - Signals that a request has finished with the given \a result. + Signals that a request failed with the given \a error. The \a errorString + may provide more detail. */ /*! diff --git a/src/gallery/qgalleryabstractrequest.h b/src/gallery/qgalleryabstractrequest.h index d4a2f11865..b289e2d093 100644 --- a/src/gallery/qgalleryabstractrequest.h +++ b/src/gallery/qgalleryabstractrequest.h @@ -61,11 +61,11 @@ class Q_GALLERY_EXPORT QGalleryAbstractRequest : public QObject Q_PROPERTY(QAbstractGallery* gallery READ gallery WRITE setGallery) Q_PROPERTY(bool supported READ isSupported NOTIFY supportedChanged) Q_PROPERTY(Status status READ status NOTIFY statusChanged) - Q_PROPERTY(int result READ result NOTIFY resultChanged) + Q_PROPERTY(int error READ error NOTIFY errorChanged) + Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged); Q_PROPERTY(int currentProgress READ currentProgress NOTIFY progressChanged) Q_PROPERTY(int maximumProgress READ maximumProgress NOTIFY progressChanged) Q_ENUMS(Status) - Q_ENUMS(Result) Q_ENUMS(RequestType) public: enum Status @@ -73,27 +73,18 @@ public: Inactive, Active, Cancelling, - Idle + Cancelled, + Idle, + Finished, + Error }; - enum Result + enum RequestError { - NoResult, - Succeeded, - Cancelled, + NoError, NoGallery, NotSupported, - ConnectionError, - InvalidItemError, - ItemTypeError, - InvalidPropertyError, - PropertyTypeError, - UnsupportedFilterTypeError, - UnsupportedFilterOptionError, - PermissionsError, - InvalidDestinationError, - InvalidUrlError, - RequestError = 100 + GalleryError = 100 }; enum RequestType @@ -116,7 +107,9 @@ public: RequestType type() const; Status status() const; - int result() const; + + int error() const; + QString errorString() const; int currentProgress() const; int maximumProgress() const; @@ -130,12 +123,11 @@ public Q_SLOTS: Q_SIGNALS: void supportedChanged(); - void succeeded(); + void finished(); void cancelled(); - void failed(int result); - void finished(int result); + void error(int error, const QString &errorString); void statusChanged(QGalleryAbstractRequest::Status status); - void resultChanged(); + void errorChanged(); void progressChanged(int current, int maximum); protected: @@ -147,6 +139,8 @@ protected: private: Q_PRIVATE_SLOT(d_ptr, void _q_finished()) + Q_PRIVATE_SLOT(d_ptr, void _q_cancelled()) + Q_PRIVATE_SLOT(d_ptr, void _q_resumed()) Q_PRIVATE_SLOT(d_ptr, void _q_progressChanged(int, int)) }; diff --git a/src/gallery/qgalleryabstractrequest_p.h b/src/gallery/qgalleryabstractrequest_p.h index 440a7f1bf5..a48ec12348 100644 --- a/src/gallery/qgalleryabstractrequest_p.h +++ b/src/gallery/qgalleryabstractrequest_p.h @@ -71,9 +71,10 @@ public: : gallery(gallery) , type(type) , status(QGalleryAbstractRequest::Inactive) - , result(QGalleryAbstractRequest::NoResult) + , error(QGalleryAbstractRequest::NoError) , currentProgress(0) , maximumProgress(0) + , wasIdle(false) { } @@ -82,6 +83,8 @@ public: } void _q_finished(); + void _q_cancelled(); + void _q_resumed(); void _q_progressChanged(int current, int maximum); QGalleryAbstractRequest *q_ptr; @@ -89,9 +92,11 @@ public: QScopedPointer<QGalleryAbstractResponse> response; QGalleryAbstractRequest::RequestType type; QGalleryAbstractRequest::Status status; - int result; + int error; int currentProgress; int maximumProgress; + bool wasIdle; + QString errorString; }; QTM_END_NAMESPACE diff --git a/src/gallery/qgalleryabstractresponse.cpp b/src/gallery/qgalleryabstractresponse.cpp index 5c4f6bcdfe..2a2a79da61 100644 --- a/src/gallery/qgalleryabstractresponse.cpp +++ b/src/gallery/qgalleryabstractresponse.cpp @@ -68,19 +68,21 @@ QGalleryAbstractResponse::QGalleryAbstractResponse(QObject *parent) } /*! - Constructs a new gallery response, for a request that has finished with the - given \a result. + Constructs a new gallery response, for a request that has finished with an + \a error. The optional \a errorString will describe the error in greater + detail. The \a parent is passed to QObject. */ -QGalleryAbstractResponse::QGalleryAbstractResponse(int result, QObject *parent) +QGalleryAbstractResponse::QGalleryAbstractResponse( + int error, const QString &errorString, QObject *parent) : QObject(parent) , d_ptr(new QGalleryAbstractResponsePrivate) { d_ptr->q_ptr = this; - finish(result, false); + QGalleryAbstractResponse::error(error, errorString); } /*! @@ -104,23 +106,49 @@ QGalleryAbstractResponse::~QGalleryAbstractResponse() } /*! + Identifies if a response is an an active state. + + Returns true if a response is active, and false otherwise. +*/ + +bool QGalleryAbstractResponse::isActive() const +{ + return d_func()->status == QGalleryAbstractRequest::Active; +} + +/*! Identifies if the items returned by a response are being monitored for changes. Returns true if a response is in an idle state, and false otherwise. */ + bool QGalleryAbstractResponse::isIdle() const { - return d_func()->idle; + return d_func()->status == QGalleryAbstractRequest::Idle; +} + +/*! + Returns an identifier describing an error condition encountered by a + response. + + In the case of no error this will return QGalleryAbstractRequest::NoError. + + \sa QGalleryAbstractRequest::Error, QDocumentGallery::Error +*/ + +int QGalleryAbstractResponse::error() const +{ + return d_func()->error; } /*! - Returns the result of a gallery request. + Returns a string describing the cause of an \l error() in more detail. */ -int QGalleryAbstractResponse::result() const +QString QGalleryAbstractResponse::errorString() const { - return d_func()->result; + return d_func()->errorString; } /*! @@ -149,15 +177,11 @@ void QGalleryAbstractResponse::cancel() { Q_D(QGalleryAbstractResponse); - if (d->result == QGalleryAbstractRequest::NoResult) { - d->result = QGalleryAbstractRequest::Cancelled; - d->idle = false; + if (d->status == QGalleryAbstractRequest::Active + || d->status == QGalleryAbstractRequest::Idle) { + d->status = QGalleryAbstractRequest::Cancelled; - emit finished(); - } else if (d->idle) { - d->idle = false; - - emit finished(); + emit cancelled(); } } @@ -169,20 +193,60 @@ void QGalleryAbstractResponse::cancel() */ /*! - Finalizes a gallery response, and sets the \a result. + Finalizes a gallery response. If \a idle is true the items returned by a response will be monitored for changes and updated as appropriate. */ -void QGalleryAbstractResponse::finish(int result, bool idle) +void QGalleryAbstractResponse::finish(bool idle) +{ + Q_D(QGalleryAbstractResponse); + + if (d->status == QGalleryAbstractRequest::Active + || (d->status == QGalleryAbstractRequest::Idle && !idle)) { + d->status = idle + ? QGalleryAbstractRequest::Idle + : QGalleryAbstractRequest::Finished; + + emit finished(); + } +} + +/*! + Returns a response to an active state. + + An idle response can call this to indicate it has begun refreshing its + contents. +*/ + +void QGalleryAbstractResponse::resume() +{ + Q_D(QGalleryAbstractResponse); + + if (d->status == QGalleryAbstractRequest::Idle) { + d->status = QGalleryAbstractRequest::Active; + + emit resumed(); + } +} + +/*! + Finalizes a response in response to an error condition. + + The \a error, and \a errorString are communicated to issuing request. +*/ + +void QGalleryAbstractResponse::error(int error, const QString &errorString) { Q_D(QGalleryAbstractResponse); - if (d->result == QGalleryAbstractRequest::NoResult - && result != QGalleryAbstractRequest::NoResult) { - d->result = result; - d->idle = idle; + if (d->status == QGalleryAbstractRequest::Active + || d->status == QGalleryAbstractRequest::Idle) { + d->status = QGalleryAbstractRequest::Finished; + + d->error = error; + d->errorString = errorString; emit finished(); } @@ -194,6 +258,18 @@ void QGalleryAbstractResponse::finish(int result, bool idle) Signals that a response has finished. */ +/*! + \fn QGalleryAbstractResponse::resumed() + + Signals that an \l idle() response has resumed communications. +*/ + +/*! + \fn QGalleryAbstractResponse::cancelled() + + Signals that a response was cancelled. +*/ + #include "moc_qgalleryabstractresponse.cpp" QTM_END_NAMESPACE diff --git a/src/gallery/qgalleryabstractresponse.h b/src/gallery/qgalleryabstractresponse.h index 4085676031..bd90ba0788 100644 --- a/src/gallery/qgalleryabstractresponse.h +++ b/src/gallery/qgalleryabstractresponse.h @@ -55,10 +55,14 @@ class Q_GALLERY_EXPORT QGalleryAbstractResponse : public QObject Q_OBJECT Q_DECLARE_PRIVATE(QGalleryAbstractResponse) public: - QGalleryAbstractResponse(int result, QObject *parent = 0); + QGalleryAbstractResponse( + int error, const QString &errorString = QString(), QObject *parent = 0); ~QGalleryAbstractResponse(); - int result() const; + int error() const; + QString errorString() const; + + bool isActive() const; bool isIdle() const; virtual void cancel(); @@ -67,13 +71,17 @@ public: Q_SIGNALS: void finished(); + void resumed(); + void cancelled(); void progressChanged(int current, int maximum); protected: QGalleryAbstractResponse(QObject *parent = 0); QGalleryAbstractResponse(QGalleryAbstractResponsePrivate &dd, QObject *parent); - void finish(int result, bool idle = false); + void finish(bool idle = false); + void resume(); + void error(int error, const QString &errorString = QString()); QScopedPointer<QGalleryAbstractResponsePrivate> d_ptr; }; diff --git a/src/gallery/qgalleryabstractresponse_p.h b/src/gallery/qgalleryabstractresponse_p.h index 6ad7565b17..2d7cd45fa5 100644 --- a/src/gallery/qgalleryabstractresponse_p.h +++ b/src/gallery/qgalleryabstractresponse_p.h @@ -62,16 +62,17 @@ class QGalleryAbstractResponsePrivate public: QGalleryAbstractResponsePrivate() : q_ptr(0) - , result(QGalleryAbstractRequest::NoResult) - , idle(false) + , error(QGalleryAbstractRequest::NoError) + , status(QGalleryAbstractRequest::Active) { } virtual ~QGalleryAbstractResponsePrivate() {} QGalleryAbstractResponse *q_ptr; - int result; - bool idle; + int error; + QGalleryAbstractRequest::Status status; + QString errorString; }; QTM_END_NAMESPACE diff --git a/src/gallery/qgalleryquerymodel.cpp b/src/gallery/qgalleryquerymodel.cpp index 1a6bbae49f..bb16755c77 100644 --- a/src/gallery/qgalleryquerymodel.cpp +++ b/src/gallery/qgalleryquerymodel.cpp @@ -71,11 +71,10 @@ public: q_ptr, SLOT(_q_resultSetChanged(QGalleryResultSet*))); QObject::connect(&query, SIGNAL(statusChanged(QGalleryAbstractRequest::Status)), q_ptr, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); - QObject::connect(&query, SIGNAL(resultChanged()), q_ptr, SIGNAL(resultChanged())); - QObject::connect(&query, SIGNAL(finished(int)), q_ptr, SIGNAL(finished(int))); - QObject::connect(&query, SIGNAL(succeeded()), q_ptr, SIGNAL(succeeded())); + QObject::connect(&query, SIGNAL(finished()), q_ptr, SIGNAL(finished())); QObject::connect(&query, SIGNAL(cancelled()), q_ptr, SIGNAL(cancelled())); - QObject::connect(&query, SIGNAL(failed(int)), q_ptr, SIGNAL(failed(int))); + QObject::connect(&query, SIGNAL(errorChanged()), q_ptr, SIGNAL(errorChanged())); + QObject::connect(&query, SIGNAL(error(int,QString)), q_ptr, SIGNAL(error(int,QString))); } void updateRoles(int column); @@ -647,21 +646,33 @@ void QGalleryQueryModel::clear() } /*! - \property QGalleryQueryModel::result + \property QGalleryQueryModel::error - \brief The result of a query. + \brief The error encountered by an unsuccessful query. */ -int QGalleryQueryModel::result() const +int QGalleryQueryModel::error() const { - return d_ptr->query.result(); + return d_ptr->query.error(); } +/*! + \property QGalleryQueryModel::errorString + + \brief A string describing the cause of an \l error in more detail. + + This may be an empty string if more information is not known. +*/ + +QString QGalleryQueryModel::errorString() const +{ + return d_ptr->query.errorString(); +} /*! - \fn QGalleryQueryModel::resultChanged() + \fn QGalleryQueryModel::errorChanged() - Signals that the result of the query has changed. + Signals that the \l error and \l errorString properties have changed. */ /*! @@ -683,15 +694,15 @@ int QGalleryQueryModel::result() const */ /*! - \fn QGalleryQueryModel::finished(int result) + \fn QGalleryQueryModel::finished() Signals that the query has finished with the given \a result. */ /*! - \property QGalleryQueryModel::state + \property QGalleryQueryModel::status - \brief The state of a query. + \brief The status of a query. */ QGalleryAbstractRequest::Status QGalleryQueryModel::status() const @@ -700,9 +711,9 @@ QGalleryAbstractRequest::Status QGalleryQueryModel::status() const } /*! - \fn QGalleryQueryModel::statusChanged(QGalleryAbstractRequest::Status state) + \fn QGalleryQueryModel::statusChanged(QGalleryAbstractRequest::Status status) - Signals that the \a state of the query has changed. + Signals that the \a status of the query has changed. */ diff --git a/src/gallery/qgalleryquerymodel.h b/src/gallery/qgalleryquerymodel.h index 99ff74b37d..c0e9586bd0 100644 --- a/src/gallery/qgalleryquerymodel.h +++ b/src/gallery/qgalleryquerymodel.h @@ -65,7 +65,8 @@ class Q_GALLERY_EXPORT QGalleryQueryModel : public QAbstractItemModel Q_PROPERTY(QVariant rootItem READ rootItem WRITE setRootItem) Q_PROPERTY(QGalleryQueryRequest::Scope scope READ scope WRITE setScope) Q_PROPERTY(QGalleryFilter filter READ filter WRITE setFilter) - Q_PROPERTY(int result READ result NOTIFY resultChanged) + Q_PROPERTY(int error READ error NOTIFY errorChanged) + Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged) Q_PROPERTY(QGalleryAbstractRequest::Status status READ status NOTIFY statusChanged) public: QGalleryQueryModel(QObject *parent = 0); @@ -112,7 +113,9 @@ public: void cancel(); void clear(); - int result() const; + int error() const; + QString errorString() const; + QGalleryAbstractRequest::Status status() const; QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; @@ -138,12 +141,11 @@ public: Qt::ItemFlags flags(const QModelIndex &index) const; Q_SIGNALS: - void succeeded(); + void finished(); void cancelled(); - void failed(int result); - void finished(int result); + void error(int error, const QString &errorString); + void errorChanged(); void statusChanged(QGalleryAbstractRequest::Status status); - void resultChanged(); private: QScopedPointer<QGalleryQueryModelPrivate> d_ptr; diff --git a/tests/auto/qgalleryabstractrequest/tst_qgalleryabstractrequest.cpp b/tests/auto/qgalleryabstractrequest/tst_qgalleryabstractrequest.cpp index 5e508e7d9e..86ad1fc749 100644 --- a/tests/auto/qgalleryabstractrequest/tst_qgalleryabstractrequest.cpp +++ b/tests/auto/qgalleryabstractrequest/tst_qgalleryabstractrequest.cpp @@ -66,6 +66,7 @@ private Q_SLOTS: void executeUnsupported(); void executeSync(); void executeAsync(); + void resume(); void cancelActive(); void cancelIdle(); void clear(); @@ -78,19 +79,25 @@ private Q_SLOTS: class QtGalleryTestResponse : public QGalleryAbstractResponse { + Q_OBJECT public: - QtGalleryTestResponse(int result, bool idle) + QtGalleryTestResponse( + QGalleryAbstractRequest::Status status, int error, const QString &errorString) : m_ignoreCancel(false) , m_finishInWait(false) { - if (result != QGalleryAbstractRequest::NoResult) - finish(result, idle); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } bool waitForFinished(int) { if (m_finishInWait) { - finish(QGalleryAbstractRequest::Succeeded, true); + finish(true); return true; } else { return false; @@ -99,9 +106,14 @@ public: void cancel() { if (!m_ignoreCancel) QGalleryAbstractResponse::cancel(); } - void doFinish() { emit finished(); } - void doFinish(int result, bool idle) { finish(result, idle); } - void doProgressChanged(int current, int maximum) { emit progressChanged(current, maximum); } + using QGalleryAbstractResponse::finished; + using QGalleryAbstractResponse::finish; + using QGalleryAbstractResponse::error; + using QGalleryAbstractResponse::resume; + using QGalleryAbstractResponse::resumed; + using QGalleryAbstractResponse::cancelled; + using QGalleryAbstractResponse::progressChanged; + void setIgnoreCancel(bool ignore) { m_ignoreCancel = ignore; } void setFinishInWait(bool finish) { m_finishInWait = finish; } @@ -112,6 +124,7 @@ private: class QtGalleryTestRequest : public QGalleryAbstractRequest { + Q_OBJECT public: QtGalleryTestRequest(QGalleryAbstractRequest::RequestType type) : QGalleryAbstractRequest(type) @@ -138,14 +151,19 @@ private: class QtTestGallery : public QAbstractGallery { + Q_OBJECT public: - QtTestGallery() : m_result(QGalleryAbstractRequest::NoResult), m_idle(false) {} + QtTestGallery() + : m_status(QGalleryAbstractRequest::Active) + , m_error(QGalleryAbstractRequest::NoError) + {} bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const { return m_supportedRequests.contains(type); } - void setResult(int result) { m_result = result; } - void setIdle(bool idle) { m_idle = idle; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } void setSupportedRequests(const QList<QGalleryAbstractRequest::RequestType> &requests) { m_supportedRequests = requests; } @@ -153,17 +171,20 @@ public: protected: QGalleryAbstractResponse *createResponse(QGalleryAbstractRequest *request) { - if (m_supportedRequests.contains(request->type())) - return new QtGalleryTestResponse(m_result, m_idle); + if (m_supportedRequests.contains(request->type())) { + return new QtGalleryTestResponse(m_status, m_error, m_errorString); + } return 0; } private: QList<QGalleryAbstractRequest::RequestType> m_supportedRequests; - int m_result; - bool m_idle; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; + void tst_QGalleryAbstractRequest::type() { QCOMPARE(QtGalleryTestRequest(QGalleryAbstractRequest::QueryRequest).type(), @@ -192,24 +213,22 @@ void tst_QGalleryAbstractRequest::executeNoGallery() { QtGalleryTestRequest request(QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoGallery)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoGallery)); + QCOMPARE(request.errorString(), QLatin1String("No gallery has been set on the QtGalleryTestRequest.")); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NoGallery)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NoGallery)); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(errorSpy.last().value(1).toString(), request.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::executeUnsupported() @@ -217,24 +236,22 @@ void tst_QGalleryAbstractRequest::executeUnsupported() QtTestGallery gallery; QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NotSupported)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NotSupported)); + QCOMPARE(request.errorString(), QLatin1String("QtGalleryTestRequest is not supported by QtTestGallery.")); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NotSupported)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NotSupported)); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(errorSpy.last().value(1).toString(), request.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::executeSync() @@ -245,91 +262,77 @@ void tst_QGalleryAbstractRequest::executeSync() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Successful execution. - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setStatus(QGalleryAbstractRequest::Finished); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Unsuccessful execution. - gallery.setResult(QGalleryAbstractRequest::RequestError); + gallery.setError(121, QLatin1String("bad input")); request.execute(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), 121); + QCOMPARE(request.errorString(), QLatin1String("bad input")); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 2); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(errorSpy.last().value(1).toString(), request.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - gallery.setResult(QGalleryAbstractRequest::RequestError); + gallery.setError(65, QLatin1String("bad connection")); request.execute(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), 65); + QCOMPARE(request.errorString(), QLatin1String("bad connection")); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 2); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 2); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); + QCOMPARE(errorSpy.count(), 2); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(errorSpy.last().value(1).toString(), request.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Successful execution, to idle. - gallery.setResult(QGalleryAbstractRequest::Succeeded); - gallery.setIdle(true); + gallery.setError(QGalleryAbstractRequest::NoError, QString()); + gallery.setStatus(QGalleryAbstractRequest::Idle); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 2); - QCOMPARE(finishedSpy.count(), 4); - QCOMPARE(resultSpy.count(), 3); - QCOMPARE(statusSpy.count(), 1); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(errorSpy.count(), 2); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Execute unsupported. gallery.setSupportedRequests(QList<QGalleryAbstractRequest::RequestType>()); request.execute(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NotSupported)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NotSupported)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 3); - QCOMPARE(finishedSpy.count(), 5); - QCOMPARE(resultSpy.count(), 4); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NotSupported)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::NotSupported)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); - - + QCOMPARE(errorSpy.count(), 3); + QCOMPARE(statusSpy.count(), 5); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::executeAsync() { @@ -339,148 +342,233 @@ void tst_QGalleryAbstractRequest::executeAsync() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Successful execution. + gallery.setStatus(QGalleryAbstractRequest::Active); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - request.response()->doFinish(QGalleryAbstractRequest::Succeeded, false); + request.response()->finish(false); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 2); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Unsuccessful execution. request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 3); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - request.response()->doFinish(QGalleryAbstractRequest::RequestError, false); + request.response()->error(80, false); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), 80); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 3); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 4); - QCOMPARE(failedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::RequestError)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - // Successful execution, to idle. + // Successful execution, to active. + gallery.setError(QGalleryAbstractRequest::NoError, QString()); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 5); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - // Response emits finish without changing the result. - request.response()->doFinish(); + // Response emits finish without changing the error. + request.response()->finished(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 5); // Response finishes correctly. - request.response()->doFinish(QGalleryAbstractRequest::Succeeded, true); + request.response()->finish(true); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 5); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 6); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Response emits finish without changing the idle status. - request.response()->doFinish(); + request.response()->finished(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 5); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 6); + + // Response cancels itself. + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 6); // Response exits idle status correctly. - request.response()->cancel(); + request.response()->finish(false); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 5); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 7); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); - // Response emits finish from inactive status. - request.response()->doFinish(); + // Response emits finish from finished status. + request.response()->finished(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 5); + QCOMPARE(errorSpy.count(), 1); QCOMPARE(statusSpy.count(), 7); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); +} + +void tst_QGalleryAbstractRequest::resume() +{ + QtTestGallery gallery; + gallery.setSupportedRequests(QList<QGalleryAbstractRequest::RequestType>() + << QGalleryAbstractRequest::RemoveRequest); + gallery.setStatus(QGalleryAbstractRequest::Idle); + + QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); + + QSignalSpy finishedSpy(&request, SIGNAL(finished())); + QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); + QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); + + request.execute(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + // Response emits resumed without changing idle. + request.response()->resumed(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + + // Response resumes correctly. + request.response()->resume(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + // Resuming while active does nothing. + request.response()->resume(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + + // Emitting resumed while active does nothing. + request.response()->resumed(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + + // Returning to idle again doesn't emit finished. + request.response()->finish(true); + QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + // Finishing doesn't emit finished. + request.response()->resume(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + request.response()->finish(false); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + // Emitting resumed when finished does nothing + request.response()->resumed(); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); } void tst_QGalleryAbstractRequest::cancelActive() @@ -491,107 +579,126 @@ void tst_QGalleryAbstractRequest::cancelActive() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Cancel synchronously. request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 2); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Cancel asynchronously. request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + // Response emits cancelled unprovoked. + request.response()->cancelled(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 3); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); request.response()->setIgnoreCancel(true); request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelling); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 4); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Cancelling); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // No status changes while cancel in pending request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelling); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 4); request.response()->setIgnoreCancel(false); request.response()->cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 2); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 3); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 5); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // No status changes after cancel is finished. request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); QCOMPARE(cancelledSpy.count(), 2); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 3); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 5); + + // Finish as normal if response finishes after being cancelled. + request.execute(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 6); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + request.response()->setIgnoreCancel(true); + request.cancel(); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelling); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 7); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + request.response()->finish(false); + QVERIFY(request.response() != 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 2); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 8); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::cancelIdle() @@ -599,86 +706,68 @@ void tst_QGalleryAbstractRequest::cancelIdle() QtTestGallery gallery; gallery.setSupportedRequests(QList<QGalleryAbstractRequest::RequestType>() << QGalleryAbstractRequest::RemoveRequest); - gallery.setResult(QGalleryAbstractRequest::Succeeded); - gallery.setIdle(true); + gallery.setStatus(QGalleryAbstractRequest::Idle); QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Cancel synchronously. request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 1); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 2); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Cancel asynchronously. request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 3); - QCOMPARE(finishedSpy.last().value(0).toInt(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.response()->setIgnoreCancel(true); request.cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelling); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 3); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.response()->setIgnoreCancel(false); request.response()->cancel(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 4); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::clear() @@ -689,131 +778,112 @@ void tst_QGalleryAbstractRequest::clear() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Clear no response. request.clear(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 0); // Clear finished response. - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setStatus(QGalleryAbstractRequest::Finished); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.clear(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); - QCOMPARE(statusSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Clear idle response. - gallery.setIdle(true); + gallery.setStatus(QGalleryAbstractRequest::Idle); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 3); - QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.clear(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Clear active response. - gallery.setResult(QGalleryAbstractRequest::NoResult); - gallery.setIdle(false); + gallery.setStatus(QGalleryAbstractRequest::Active); request.execute(); QVERIFY(request.response() != 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); - QCOMPARE(statusSpy.count(), 3); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.clear(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); - QCOMPARE(statusSpy.count(), 4); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); - + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 6); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Clear error response. - gallery.setResult(QGalleryAbstractRequest::ConnectionError); - gallery.setIdle(false); + gallery.setError(65, QLatin1String("bad connection")); request.execute(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::ConnectionError)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), 65); + QCOMPARE(request.errorString(), QLatin1String("bad connection")); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 5); - QCOMPARE(statusSpy.count(), 4); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 7); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(errorSpy.last().value(1).toString(), request.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.clear(); QVERIFY(request.response() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(request.errorString(), QString()); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(resultSpy.count(), 6); - QCOMPARE(statusSpy.count(), 4); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 8); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::waitForFinished() @@ -824,95 +894,104 @@ void tst_QGalleryAbstractRequest::waitForFinished() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); - // Wait while inactive, no result. + // Wait while inactive, no error. QCOMPARE(request.waitForFinished(300), true); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 0); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Timeout while waiting. QCOMPARE(request.waitForFinished(300), false); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 1); // Finish while waiting. request.response()->setFinishInWait(true); QCOMPARE(request.waitForFinished(300), true); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 2); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); // Wait while idle. request.response()->setFinishInWait(false); QCOMPARE(request.waitForFinished(300), true); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 2); - // Wait while inactive, with result. - request.cancel(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + // Wait while finished. + request.response()->finish(false); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 3); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Inactive); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); QCOMPARE(request.waitForFinished(300), true); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 3); + + // Wait while cancelled. + gallery.setStatus(QGalleryAbstractRequest::Active); + request.execute(); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + request.cancel(); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); + + QCOMPARE(request.waitForFinished(300), true); + QCOMPARE(request.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 5); } void tst_QGalleryAbstractRequest::progress() @@ -932,14 +1011,14 @@ void tst_QGalleryAbstractRequest::progress() QCOMPARE(spy.count(), 0); QVERIFY(request.response() != 0); - request.response()->doProgressChanged(120, 1000); + request.response()->progressChanged(120, 1000); QCOMPARE(request.currentProgress(), 120); QCOMPARE(request.maximumProgress(), 1000); QCOMPARE(spy.count(), 1); QCOMPARE(spy.last().value(0).toInt(), 120); QCOMPARE(spy.last().value(1).toInt(), 1000); - request.response()->doProgressChanged(5600, 95); + request.response()->progressChanged(5600, 95); QCOMPARE(request.currentProgress(), 5600); QCOMPARE(request.maximumProgress(), 95); QCOMPARE(spy.count(), 2); @@ -958,7 +1037,7 @@ void tst_QGalleryAbstractRequest::progress() QCOMPARE(spy.last().value(0).toInt(), 0); QCOMPARE(spy.last().value(1).toInt(), 0); - request.response()->doProgressChanged(-2, 10); + request.response()->progressChanged(-2, 10); QCOMPARE(request.currentProgress(), -2); QCOMPARE(request.maximumProgress(), 10); QCOMPARE(spy.count(), 4); @@ -977,7 +1056,7 @@ void tst_QGalleryAbstractRequest::progress() QCOMPARE(request.currentProgress(), 0); QCOMPARE(spy.count(), 5); - request.response()->doProgressChanged(0, 75); + request.response()->progressChanged(0, 75); QCOMPARE(request.currentProgress(), 0); QCOMPARE(request.maximumProgress(), 75); QCOMPARE(spy.count(), 6); @@ -991,8 +1070,7 @@ void tst_QGalleryAbstractRequest::progress() QCOMPARE(spy.last().value(0).toInt(), 0); QCOMPARE(spy.last().value(1).toInt(), 0); - - request.response()->doProgressChanged(0, -23); + request.response()->progressChanged(0, -23); QCOMPARE(request.currentProgress(), 0); QCOMPARE(request.maximumProgress(), -23); QCOMPARE(spy.count(), 8); @@ -1074,101 +1152,90 @@ void tst_QGalleryAbstractRequest::clearGallery() QtGalleryTestRequest request(&gallery, QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // Clear no response. request.setGallery(0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); QCOMPARE(statusSpy.count(), 0); // Clear finished response. - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setStatus(QGalleryAbstractRequest::Finished); request.setGallery(&gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.setGallery(0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); // Clear idle response. - gallery.setIdle(true); + gallery.setStatus(QGalleryAbstractRequest::Idle); request.setGallery(&gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.setGallery(0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); - QCOMPARE(statusSpy.count(), 1); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Idle); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); // Clear active response. - gallery.setResult(QGalleryAbstractRequest::NoResult); - gallery.setIdle(false); + gallery.setStatus(QGalleryAbstractRequest::Active); request.setGallery(&gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 2); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); request.setGallery(0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + + // execute after clearing gallery. + request.execute(); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoGallery)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 2); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), - QGalleryAbstractRequest::Active); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } void tst_QGalleryAbstractRequest::deleteGallery() @@ -1177,11 +1244,10 @@ void tst_QGalleryAbstractRequest::deleteGallery() QtGalleryTestRequest request(QGalleryAbstractRequest::RemoveRequest); - QSignalSpy succeededSpy(&request, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&request, SIGNAL(finished())); QSignalSpy cancelledSpy(&request, SIGNAL(cancelled())); - QSignalSpy failedSpy(&request, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&request, SIGNAL(finished(int))); - QSignalSpy resultSpy(&request, SIGNAL(resultChanged())); + QSignalSpy errorSpy(&request, SIGNAL(error(int,QString))); + QSignalSpy statusSpy(&request, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); // No response. gallery = new QtTestGallery; @@ -1191,66 +1257,62 @@ void tst_QGalleryAbstractRequest::deleteGallery() request.setGallery(gallery); delete gallery; QVERIFY(request.gallery() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 0); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 0); - QCOMPARE(resultSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 0); // Finished response. gallery = new QtTestGallery; gallery->setSupportedRequests(QList<QGalleryAbstractRequest::RequestType>() << QGalleryAbstractRequest::RemoveRequest); - gallery->setResult(QGalleryAbstractRequest::Succeeded); + gallery->setStatus(QGalleryAbstractRequest::Finished); request.setGallery(gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); delete gallery; QVERIFY(request.gallery() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); // Idle response. gallery = new QtTestGallery; gallery->setSupportedRequests(QList<QGalleryAbstractRequest::RequestType>() << QGalleryAbstractRequest::RemoveRequest); - gallery->setResult(QGalleryAbstractRequest::Succeeded); - gallery->setIdle(true); + gallery->setStatus(QGalleryAbstractRequest::Idle); request.setGallery(gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); delete gallery; QVERIFY(request.gallery() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); QCOMPARE(request.status(), QGalleryAbstractRequest::Idle); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); // Clear active response. gallery = new QtTestGallery; @@ -1259,23 +1321,33 @@ void tst_QGalleryAbstractRequest::deleteGallery() request.setGallery(gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 2); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); delete gallery; QVERIFY(request.gallery() == 0); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 2); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 2); QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + + // execute after deleting gallery. + request.execute(); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoGallery)); QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(errorSpy.last().value(0).toInt(), request.error()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), request.status()); } QTEST_MAIN(tst_QGalleryAbstractRequest) diff --git a/tests/auto/qgalleryabstractresponse/tst_qgalleryabstractresponse.cpp b/tests/auto/qgalleryabstractresponse/tst_qgalleryabstractresponse.cpp index 15151ba08e..dfd584a424 100644 --- a/tests/auto/qgalleryabstractresponse/tst_qgalleryabstractresponse.cpp +++ b/tests/auto/qgalleryabstractresponse/tst_qgalleryabstractresponse.cpp @@ -54,149 +54,361 @@ class tst_QGalleryAbstractResponse : public QObject private Q_SLOTS: void finish(); void cancel(); - void idle(); - void immediateResponse(); + void cancelIdle(); + void finishIdle(); + void errorActive(); + void errorIdle(); + void errorFinished(); + void errorCancelled(); + void immediateError(); }; class QtGalleryTestResponse : public QGalleryAbstractResponse { public: - void doFinish(int result, bool idle) { finish(result, idle); } + using QGalleryAbstractResponse::error; + using QGalleryAbstractResponse::finish; + using QGalleryAbstractResponse::resume; }; void tst_QGalleryAbstractResponse::finish() { QtGalleryTestResponse response; - QSignalSpy spy(&response, SIGNAL(finished())); + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - // Calling finish with no result does nothing. - response.doFinish(QGalleryAbstractRequest::NoResult, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::NoResult)); - QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 0); - - response.doFinish(QGalleryAbstractRequest::NoResult, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::NoResult)); - QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 0); - // The first call to finish with a valid result emits finished. - response.doFinish(QGalleryAbstractRequest::Succeeded, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + response.finish(false); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); // Subsequent calls to finish do nothing. - response.doFinish(QGalleryAbstractRequest::Succeeded, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + response.finish(false); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); - response.doFinish(QGalleryAbstractRequest::Cancelled, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + response.finish(true); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); - // Subsequent call to cancel do nothing. + // Subsequent calls to cancel do nothing. response.cancel(); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); + + // Subsequent calls to resume do nothing. + response.resume(); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); } void tst_QGalleryAbstractResponse::cancel() { QtGalleryTestResponse response; - QSignalSpy spy(&response, SIGNAL(finished())); + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - // Calling cancel on an unfinished will set the result to Cancelled, and - //emit finished(). + // Calling cancel on an unfinished will emit cancelled, and set isActive false. response.cancel(); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Cancelled)); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 0); // Subsequent calls to finish do nothing. - response.doFinish(QGalleryAbstractRequest::RequestError, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Cancelled)); + response.finish(false); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 0); - response.doFinish(QGalleryAbstractRequest::Cancelled, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Cancelled)); + response.finish(true); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 0); // Subsequent call to cancel do nothing. response.cancel(); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Cancelled)); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 0); + + // Subsequent call to resume do nothing. + response.resume(); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 0); } -void tst_QGalleryAbstractResponse::idle() +void tst_QGalleryAbstractResponse::cancelIdle() { QtGalleryTestResponse response; - QSignalSpy spy(&response, SIGNAL(finished())); + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - response.doFinish(QGalleryAbstractRequest::Succeeded, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(response.isIdle(), true); - QCOMPARE(spy.count(), 1); + // Calling resume while active does nothing. + response.resume(); + QCOMPARE(response.isActive(), true); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); - // Subsequent calls to finish do nothing. - response.doFinish(QGalleryAbstractRequest::Succeeded, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + // The first call to finish with a valid result emits finished. + response.finish(true); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), true); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); + + // Calling resume set isActive to true and emits resumed. + response.resume(); + QCOMPARE(response.isActive(), true); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); - response.doFinish(QGalleryAbstractRequest::RequestError, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + // Calling resume while active does nothing. + response.resume(); + QCOMPARE(response.isActive(), true); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); + + // Finishing again works as before. + response.finish(true); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), true); - QCOMPARE(spy.count(), 1); + QCOMPARE(finishedSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); - // Cancel exits the idle state. + + // Cancelling sets isIdle to false and emits cancelled. response.cancel(); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 1); + QCOMPARE(resumedSpy.count(), 1); +} + +void tst_QGalleryAbstractResponse::finishIdle() +{ + QtGalleryTestResponse response; + + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); + + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 2); - // Subsequent calls to finish do nothing. - response.doFinish(QGalleryAbstractRequest::Succeeded, false); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + // Calling resume while active does nothing. + response.resume(); + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 2); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); + + // The first call to finish with a valid result emits finished. + response.finish(true); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), true); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); - response.doFinish(QGalleryAbstractRequest::RequestError, true); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + // Calling resume set isActive to true and emits resumed. + response.resume(); + QCOMPARE(response.isActive(), true); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 2); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); - // Subsequent call to cancel do nothing. + // Calling resume while active does nothing. + response.resume(); + QCOMPARE(response.isActive(), true); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); + + // Finishing again works as before. + response.finish(true); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), true); + QCOMPARE(finishedSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); + + // Finishing with idle = true does nothing while idle. + response.finish(true); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), true); + QCOMPARE(finishedSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); + + // Finishing with idle = false sets isIdle to false and emits finished. + response.finish(false); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 3); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 1); +} + +void tst_QGalleryAbstractResponse::errorActive() +{ + QtGalleryTestResponse response; + + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); + + QCOMPARE(response.isActive(), true); + QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + + response.error(300, QLatin1String("error")); + + QCOMPARE(response.error(), 300); + QCOMPARE(response.errorString(), QLatin1String("error")); + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); +} + +void tst_QGalleryAbstractResponse::errorIdle() +{ + QtGalleryTestResponse response; + response.finish(true); + + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); + + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), true); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + + response.error(300, QLatin1String("error")); + + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), 300); + QCOMPARE(response.errorString(), QLatin1String("error")); + QCOMPARE(finishedSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); +} + +void tst_QGalleryAbstractResponse::errorFinished() +{ + QtGalleryTestResponse response; + response.finish(false); + + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); + + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + + response.error(300, QLatin1String("error")); + + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); +} + +void tst_QGalleryAbstractResponse::errorCancelled() +{ + QtGalleryTestResponse response; response.cancel(); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + + QSignalSpy finishedSpy(&response, SIGNAL(finished())); + QSignalSpy cancelledSpy(&response, SIGNAL(cancelled())); + QSignalSpy resumedSpy(&response, SIGNAL(resumed())); + + QCOMPARE(response.isActive(), false); + QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + + response.error(300, QLatin1String("error")); + + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); - QCOMPARE(spy.count(), 2); + QCOMPARE(response.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(response.errorString(), QString()); + QCOMPARE(finishedSpy.count(), 0); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(resumedSpy.count(), 0); } -void tst_QGalleryAbstractResponse::immediateResponse() +void tst_QGalleryAbstractResponse::immediateError() { - QGalleryAbstractResponse response(QGalleryAbstractRequest::Succeeded); + QGalleryAbstractResponse response(300, QLatin1String("error")); - QCOMPARE(response.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(response.isActive(), false); QCOMPARE(response.isIdle(), false); + QCOMPARE(response.error(), 300); + QCOMPARE(response.errorString(), QLatin1String("error")); QCOMPARE(response.waitForFinished(300), true); } diff --git a/tests/auto/qgalleryitemrequest/tst_qgalleryitemrequest.cpp b/tests/auto/qgalleryitemrequest/tst_qgalleryitemrequest.cpp index 3d16caacf7..e30787baeb 100644 --- a/tests/auto/qgalleryitemrequest/tst_qgalleryitemrequest.cpp +++ b/tests/auto/qgalleryitemrequest/tst_qgalleryitemrequest.cpp @@ -74,15 +74,24 @@ class QtGalleryTestResponse : public QGalleryResultSet { Q_OBJECT public: - QtGalleryTestResponse(const QStringList &propertyNames, int count, int result, bool idle) + QtGalleryTestResponse( + const QStringList &propertyNames, + int count, + QGalleryAbstractRequest::Status status, + int error, + const QString &errorString) : m_count(count) , m_currentIndex(-1) , m_propertyNames(propertyNames) { m_propertyNames.removeAll(QLatin1String("turtle")); - if (result != QGalleryAbstractRequest::NoResult) - finish(result, idle); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } int propertyKey(const QString &propertyName) const { @@ -119,10 +128,12 @@ public: } } - void doFinish(int result, bool idle) { finish(result, idle); } - void setCount(int count) { m_count = count; } + using QGalleryResultSet::finish; + using QGalleryResultSet::resume; + using QGalleryResultSet::cancel; + using QGalleryResultSet::error; using QGalleryResultSet::itemsInserted; using QGalleryResultSet::itemsRemoved; using QGalleryResultSet::itemsMoved; @@ -138,13 +149,18 @@ private: class QtTestGallery : public QAbstractGallery { public: - QtTestGallery() : m_count(0), m_result(QGalleryAbstractRequest::NoResult), m_idle(false) {} + QtTestGallery() + : m_count(0) + , m_status(QGalleryAbstractRequest::Active) + , m_error(QGalleryAbstractRequest::NoError) + {} bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const { - return type == QGalleryAbstractRequest::QueryRequest; } + return type == QGalleryAbstractRequest::ItemRequest; } - void setResult(int result) { m_result = result; } - void setIdle(bool idle) { m_idle = idle; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } void setCount(int count) { m_count = count; } @@ -155,16 +171,18 @@ protected: return new QtGalleryTestResponse( static_cast<QGalleryItemRequest *>(request)->propertyNames(), m_count, - m_result, - m_idle); + m_status, + m_error, + m_errorString); } return 0; } private: int m_count; - int m_result; - bool m_idle; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; void tst_QGalleryItemRequest::initTestCase() @@ -208,8 +226,9 @@ void tst_QGalleryItemRequest::properties() void tst_QGalleryItemRequest::executeSynchronous() { QtTestGallery gallery; + gallery.setStatus(QGalleryAbstractRequest::Finished); gallery.setCount(1); - gallery.setResult(QGalleryAbstractRequest::ConnectionError); + gallery.setError(80, QString()); QGalleryItemRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -225,13 +244,15 @@ void tst_QGalleryItemRequest::executeSynchronous() request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::ConnectionError)); + QCOMPARE(request.error(), 80); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); QCOMPARE(resultSetSpy.count(), 0); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) == 0); - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setError(QGalleryAbstractRequest::NoError, QString()); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -267,7 +288,7 @@ void tst_QGalleryItemRequest::executeSynchronous() << QGalleryResource(QUrl(QLatin1String("http://example.com")))); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(resultSetSpy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -278,7 +299,7 @@ void tst_QGalleryItemRequest::executeSynchronous() void tst_QGalleryItemRequest::executeAsynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::NoResult); + gallery.setStatus(QGalleryAbstractRequest::Active); QGalleryItemRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -293,7 +314,7 @@ void tst_QGalleryItemRequest::executeAsynchronous() QSignalSpy metaDataSpy(&request, SIGNAL(metaDataChanged(QList<int>))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -324,14 +345,11 @@ void tst_QGalleryItemRequest::executeAsynchronous() QCOMPARE(request.metaData(QLatin1String("trackNumber")), QVariant()); QCOMPARE(request.resources(), QList<QGalleryResource>()); - { - QtGalleryTestResponse *resultSet = qobject_cast<QtGalleryTestResponse *>( - request.resultSet()); - QVERIFY(resultSet != 0); + QtGalleryTestResponse *resultSet = qobject_cast<QtGalleryTestResponse *>(request.resultSet()); + QVERIFY(resultSet != 0); - resultSet->setCount(1); - resultSet->itemsInserted(0, 1); - } + resultSet->setCount(1); + resultSet->itemsInserted(0, 1); QCOMPARE(itemChangedSpy.count(), 1); QCOMPARE(metaDataSpy.count(), 1); @@ -351,26 +369,14 @@ void tst_QGalleryItemRequest::executeAsynchronous() QCOMPARE(request.resources(), QList<QGalleryResource>() << QGalleryResource(QUrl(QLatin1String("http://example.com")))); - { - QtGalleryTestResponse *resultSet = qobject_cast<QtGalleryTestResponse *>( - request.resultSet()); - QVERIFY(resultSet != 0); + resultSet->finish(false); - resultSet->doFinish(QGalleryAbstractRequest::Succeeded, false); - } - - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); - { - QtGalleryTestResponse *resultSet = qobject_cast<QtGalleryTestResponse *>( - request.resultSet()); - QVERIFY(resultSet != 0); - - resultSet->setCount(0); - resultSet->itemsRemoved(0, 1); - } + resultSet->setCount(0); + resultSet->itemsRemoved(0, 1); QCOMPARE(itemChangedSpy.count(), 2); QCOMPARE(metaDataSpy.count(), 4); @@ -388,7 +394,7 @@ void tst_QGalleryItemRequest::executeAsynchronous() QCOMPARE(request.resources(), QList<QGalleryResource>()); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(resultSetSpy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -432,7 +438,7 @@ void tst_QGalleryItemRequest::multipleResults() QSignalSpy itemChangedSpy(&request, SIGNAL(itemChanged())); QSignalSpy metaDataSpy(&request, SIGNAL(metaDataChanged(QList<int>))); - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setStatus(QGalleryAbstractRequest::Active); request.execute(); QCOMPARE(request.isValid(), true); diff --git a/tests/auto/qgalleryquerymodel/tst_qgalleryquerymodel.cpp b/tests/auto/qgalleryquerymodel/tst_qgalleryquerymodel.cpp index bbf44f9e6c..21edaa4a53 100644 --- a/tests/auto/qgalleryquerymodel/tst_qgalleryquerymodel.cpp +++ b/tests/auto/qgalleryquerymodel/tst_qgalleryquerymodel.cpp @@ -114,7 +114,9 @@ public: }; QtTestResultSet( - int result, + QGalleryAbstractRequest::Status status, + int error, + const QString &errorString, const QHash<QString, QGalleryProperty::Attributes> &propertyAttributes, const QVector<Row> &rows) : m_propertyNames(propertyAttributes.keys()) @@ -124,8 +126,12 @@ public: , m_insertIndex(0) , m_insertCount(0) { - if (result != QGalleryAbstractRequest::NoResult) - finish(result); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } QStringList propertyNames() const { return m_propertyNames; } @@ -206,7 +212,8 @@ class QtTestGallery : public QAbstractGallery { public: QtTestGallery() - : m_result(QGalleryAbstractRequest::Succeeded) + : m_status(QGalleryAbstractRequest::Finished) + , m_error(QGalleryAbstractRequest::NoError) { } @@ -217,7 +224,9 @@ public: m_propertyAttributes = attributes; } - void setResult(int result) { m_result = result; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } void addRow() { @@ -240,7 +249,7 @@ protected: { m_request = qobject_cast<QGalleryQueryRequest *>(request); - return new QtTestResultSet(m_result, m_propertyAttributes, m_rows); + return new QtTestResultSet(m_status, m_error, m_errorString, m_propertyAttributes, m_rows); } @@ -248,7 +257,9 @@ private: QHash<QString, QGalleryProperty::Attributes> m_propertyAttributes; QVector<QtTestResultSet::Row> m_rows; QPointer<QGalleryQueryRequest> m_request; - int m_result; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; void tst_QGalleryItemListModel::initTestCase() @@ -316,64 +327,59 @@ void tst_QGalleryItemListModel::execute() QGalleryQueryModel model(&gallery); - QSignalSpy succeededSpy(&model, SIGNAL(succeeded())); + QSignalSpy finishedSpy(&model, SIGNAL(finished())); QSignalSpy cancelledSpy(&model, SIGNAL(cancelled())); - QSignalSpy failedSpy(&model, SIGNAL(failed(int))); - QSignalSpy finishedSpy(&model, SIGNAL(finished(int))); + QSignalSpy errorSpy(&model, SIGNAL(error(int,QString))); QSignalSpy statusSpy(&model, SIGNAL(statusChanged(QGalleryAbstractRequest::Status))); - QSignalSpy resultSpy(&model, SIGNAL(resultChanged())); model.execute(); - QCOMPARE(model.result(), int(QGalleryAbstractRequest::Succeeded)); - QCOMPARE(model.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(model.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(model.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(statusSpy.count(), 0); - QCOMPARE(resultSpy.count(), 1); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 1); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), model.status()); - gallery.setResult(QGalleryAbstractRequest::NoResult); + gallery.setStatus(QGalleryAbstractRequest::Active); model.execute(); - QCOMPARE(model.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(model.status(), QGalleryAbstractRequest::Active); - QCOMPARE(succeededSpy.count(), 1); - QCOMPARE(cancelledSpy.count(), 0); - QCOMPARE(failedSpy.count(), 0); + QCOMPARE(model.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(finishedSpy.count(), 1); - QCOMPARE(statusSpy.count(), 1); - QCOMPARE(resultSpy.count(), 2); + QCOMPARE(cancelledSpy.count(), 0); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 2); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), model.status()); model.cancel(); - QCOMPARE(model.result(), int(QGalleryAbstractRequest::Cancelled)); - QCOMPARE(model.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(model.status(), QGalleryAbstractRequest::Cancelled); + QCOMPARE(model.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 0); - QCOMPARE(finishedSpy.count(), 2); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(resultSpy.count(), 3); + QCOMPARE(errorSpy.count(), 0); + QCOMPARE(statusSpy.count(), 3); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), model.status()); - gallery.setResult(QGalleryAbstractRequest::ConnectionError); + gallery.setError(120, QLatin1String("bad connection")); model.execute(); - QCOMPARE(model.result(), int(QGalleryAbstractRequest::ConnectionError)); - QCOMPARE(model.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(model.status(), QGalleryAbstractRequest::Error); + QCOMPARE(model.error(), 120); + QCOMPARE(model.errorString(), QLatin1String("bad connection")); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(resultSpy.count(), 4); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 4); + QCOMPARE(errorSpy.last().value(0).toInt(), model.error()); + QCOMPARE(errorSpy.last().value(1).toString(), model.errorString()); + QCOMPARE(statusSpy.last().value(0).value<QGalleryAbstractRequest::Status>(), model.status()); model.clear(); - QCOMPARE(model.result(), int(QGalleryAbstractRequest::NoResult)); QCOMPARE(model.status(), QGalleryAbstractRequest::Inactive); - QCOMPARE(succeededSpy.count(), 1); + QCOMPARE(model.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(finishedSpy.count(), 1); QCOMPARE(cancelledSpy.count(), 1); - QCOMPARE(failedSpy.count(), 1); - QCOMPARE(finishedSpy.count(), 3); - QCOMPARE(statusSpy.count(), 2); - QCOMPARE(resultSpy.count(), 5); + QCOMPARE(errorSpy.count(), 1); + QCOMPARE(statusSpy.count(), 5); } void tst_QGalleryItemListModel::properties() diff --git a/tests/auto/qgalleryqueryrequest/tst_qgalleryqueryrequest.cpp b/tests/auto/qgalleryqueryrequest/tst_qgalleryqueryrequest.cpp index 340685831e..3716e71f4e 100644 --- a/tests/auto/qgalleryqueryrequest/tst_qgalleryqueryrequest.cpp +++ b/tests/auto/qgalleryqueryrequest/tst_qgalleryqueryrequest.cpp @@ -73,13 +73,22 @@ class QtGalleryTestResponse : public QGalleryResultSet { Q_OBJECT public: - QtGalleryTestResponse(const QStringList &propertyNames, int count, int result, bool idle) + QtGalleryTestResponse( + const QStringList &propertyNames, + int count, + QGalleryAbstractRequest::Status status, + int error, + const QString &errorString) : m_count(count) , m_currentIndex(-1) , m_propertyNames(propertyNames) { - if (result != QGalleryAbstractRequest::NoResult) - finish(result, idle); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } int propertyKey(const QString &propertyName) const { @@ -116,10 +125,9 @@ public: } } - void doFinish(int result, bool idle) { finish(result, idle); } - void setCount(int count) { m_count = count; } + using QGalleryAbstractResponse::finish; using QGalleryResultSet::itemsInserted; using QGalleryResultSet::itemsRemoved; using QGalleryResultSet::itemsMoved; @@ -135,13 +143,18 @@ private: class QtTestGallery : public QAbstractGallery { public: - QtTestGallery() : m_count(1), m_result(QGalleryAbstractRequest::NoResult), m_idle(false) {} + QtTestGallery() + : m_count(1) + , m_status(QGalleryAbstractRequest::Active) + , m_error(QGalleryAbstractRequest::NoError) + {} bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const { return type == QGalleryAbstractRequest::QueryRequest; } - void setResult(int result) { m_result = result; } - void setIdle(bool idle) { m_idle = idle; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } void setCount(int count) { m_count = count; } @@ -152,16 +165,18 @@ protected: return new QtGalleryTestResponse( static_cast<QGalleryQueryRequest *>(request)->propertyNames(), m_count, - m_result, - m_idle); + m_status, + m_error, + m_errorString); } return 0; } private: int m_count; - int m_result; - bool m_idle; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; @@ -251,7 +266,7 @@ void tst_QGalleryQueryRequest::properties() void tst_QGalleryQueryRequest::executeSynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::ConnectionError); + gallery.setError(80, QString()); QGalleryQueryRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -263,14 +278,17 @@ void tst_QGalleryQueryRequest::executeSynchronous() QSignalSpy spy(&request, SIGNAL(resultSetChanged(QGalleryResultSet*))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::ConnectionError)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); + QCOMPARE(request.error(), 80); QCOMPARE(spy.count(), 0); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) == 0); - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setStatus(QGalleryAbstractRequest::Finished); + gallery.setError(QGalleryAbstractRequest::NoError, QString()); gallery.setCount(10); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); QCOMPARE(spy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(spy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -352,7 +370,7 @@ void tst_QGalleryQueryRequest::executeSynchronous() QCOMPARE(request.resources(), QList<QGalleryResource>()); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(spy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(spy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -361,7 +379,7 @@ void tst_QGalleryQueryRequest::executeSynchronous() void tst_QGalleryQueryRequest::executeAsynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::NoResult); + gallery.setStatus(QGalleryAbstractRequest::Active); QGalleryQueryRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -369,19 +387,18 @@ void tst_QGalleryQueryRequest::executeAsynchronous() QSignalSpy spy(&request, SIGNAL(resultSetChanged(QGalleryResultSet*))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); QCOMPARE(spy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(spy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); - qobject_cast<QtGalleryTestResponse *>(request.resultSet())->doFinish( - QGalleryAbstractRequest::Succeeded, false); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + qobject_cast<QtGalleryTestResponse *>(request.resultSet())->finish(false); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); QCOMPARE(spy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(spy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(spy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); diff --git a/tests/auto/qgalleryremoverequest/tst_qgalleryremoverequest.cpp b/tests/auto/qgalleryremoverequest/tst_qgalleryremoverequest.cpp index 2eb74021a0..a2acae8ed1 100644 --- a/tests/auto/qgalleryremoverequest/tst_qgalleryremoverequest.cpp +++ b/tests/auto/qgalleryremoverequest/tst_qgalleryremoverequest.cpp @@ -64,44 +64,57 @@ class QtGalleryTestResponse : public QGalleryAbstractResponse { Q_OBJECT public: - QtGalleryTestResponse(int result, bool idle) + QtGalleryTestResponse( + QGalleryAbstractRequest::Status status, int error, const QString &errorString) { - if (result != QGalleryAbstractRequest::NoResult) - finish(result, idle); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } bool waitForFinished(int) { return false; } public Q_SLOTS: - void doFinish(int result, bool idle) { finish(result, idle); } - -private: + void doFinish(bool idle) { finish(idle); } + void doError(int error, const QString &errorString) { + QGalleryAbstractResponse::error(error, errorString); } }; class QtTestGallery : public QAbstractGallery { Q_OBJECT public: - QtTestGallery() : m_result(QGalleryAbstractRequest::NoResult), m_idle(false) {} + QtTestGallery() + : m_status(QGalleryAbstractRequest::Active) + , m_error(QGalleryAbstractRequest::NoError) + {} bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const { return type == QGalleryAbstractRequest::RemoveRequest; } - void setResult(int result) { m_result = result; } - void setIdle(bool idle) { m_idle = idle; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } + #ifdef Q_MOC_RUN Q_SIGNALS: #endif - void finish(int result, bool idle); + void finish(bool idle); + void error(int error, const QString &errorString); protected: QGalleryAbstractResponse *createResponse(QGalleryAbstractRequest *request) { if (request->type() == QGalleryAbstractRequest::RemoveRequest) { - QtGalleryTestResponse *response = new QtGalleryTestResponse(m_result, m_idle); + QtGalleryTestResponse *response = new QtGalleryTestResponse( + m_status, m_error, m_errorString); - connect(this, SIGNAL(finish(int,bool)), response, SLOT(doFinish(int,bool))); + connect(this, SIGNAL(finish(bool)), response, SLOT(doFinish(bool))); + connect(this, SIGNAL(error(int,QString)), response, SLOT(doError(int,QString))); return response; } @@ -109,10 +122,12 @@ protected: } private: - int m_result; - bool m_idle; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; + void tst_QGalleryRemoveRequest::properties() { QGalleryRemoveRequest request; @@ -127,36 +142,39 @@ void tst_QGalleryRemoveRequest::properties() void tst_QGalleryRemoveRequest::executeSynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::ConnectionError); + gallery.setStatus(QGalleryAbstractRequest::Finished); + gallery.setError(80, QString()); QGalleryRemoveRequest request(&gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::ConnectionError)); + QCOMPARE(request.error(), 80); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setError(QGalleryAbstractRequest::NoError, QString()); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); } void tst_QGalleryRemoveRequest::executeAsynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::NoResult); + gallery.setStatus(QGalleryAbstractRequest::Active); QGalleryRemoveRequest request(&gallery); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); - gallery.finish(QGalleryAbstractRequest::Succeeded, false); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + gallery.finish(false); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); } QTEST_MAIN(tst_QGalleryRemoveRequest) diff --git a/tests/auto/qgallerytrackerresultset_maemo5/tst_qgallerytrackerresultset.cpp b/tests/auto/qgallerytrackerresultset_maemo5/tst_qgallerytrackerresultset.cpp index 46620d4827..3afba5a3ab 100644 --- a/tests/auto/qgallerytrackerresultset_maemo5/tst_qgallerytrackerresultset.cpp +++ b/tests/auto/qgallerytrackerresultset_maemo5/tst_qgallerytrackerresultset.cpp @@ -340,12 +340,12 @@ void tst_QGalleryTrackerResultSet::query() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 17); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -461,12 +461,12 @@ void tst_QGalleryTrackerResultSet::refresh() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -483,7 +483,7 @@ void tst_QGalleryTrackerResultSet::refresh() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -510,12 +510,12 @@ void tst_QGalleryTrackerResultSet::reset() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -535,7 +535,7 @@ void tst_QGalleryTrackerResultSet::reset() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 2); QCOMPARE(removeSpy.count(), 1); @@ -569,12 +569,12 @@ void tst_QGalleryTrackerResultSet::removeItem() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 18); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -596,7 +596,7 @@ void tst_QGalleryTrackerResultSet::removeItem() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 1); @@ -626,12 +626,12 @@ void tst_QGalleryTrackerResultSet::insertItem() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -650,7 +650,7 @@ void tst_QGalleryTrackerResultSet::insertItem() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 18); QCOMPARE(insertSpy.count(), 2); QCOMPARE(removeSpy.count(), 0); @@ -683,12 +683,12 @@ void tst_QGalleryTrackerResultSet::replaceFirstItem() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -709,7 +709,7 @@ void tst_QGalleryTrackerResultSet::replaceFirstItem() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 2); QCOMPARE(removeSpy.count(), 1); @@ -742,12 +742,12 @@ void tst_QGalleryTrackerResultSet::replaceLastItem() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -767,7 +767,7 @@ void tst_QGalleryTrackerResultSet::replaceLastItem() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 2); QCOMPARE(removeSpy.count(), 1); @@ -801,12 +801,12 @@ void tst_QGalleryTrackerResultSet::replaceMiddleItem() QSignalSpy removeSpy(&resultSet, SIGNAL(itemsRemoved(int,int))); QSignalSpy changeSpy(&resultSet, SIGNAL(metaDataChanged(int,int,QList<int>))); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(resultSet.isActive(), true); QCOMPARE(resultSet.itemCount(), 0); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 1); QCOMPARE(removeSpy.count(), 0); @@ -832,7 +832,7 @@ void tst_QGalleryTrackerResultSet::replaceMiddleItem() resultSet.refresh(); QVERIFY(resultSet.waitForFinished(1000)); - QCOMPARE(resultSet.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(resultSet.isActive(), false); QCOMPARE(resultSet.itemCount(), 16); QCOMPARE(insertSpy.count(), 2); QCOMPARE(removeSpy.count(), 1); diff --git a/tests/auto/qgallerytrackerschema_maemo5/tst_qgallerytrackerschema.cpp b/tests/auto/qgallerytrackerschema_maemo5/tst_qgallerytrackerschema.cpp index f4e4190754..3bbbd36abe 100644 --- a/tests/auto/qgallerytrackerschema_maemo5/tst_qgallerytrackerschema.cpp +++ b/tests/auto/qgallerytrackerschema_maemo5/tst_qgallerytrackerschema.cpp @@ -52,6 +52,7 @@ QTM_USE_NAMESPACE +Q_DECLARE_METATYPE(QDocumentGallery::Error) Q_DECLARE_METATYPE(QVariant) Q_DECLARE_METATYPE(QVector<QVariant>) Q_DECLARE_METATYPE(QGalleryDBusInterfacePointer) @@ -138,6 +139,7 @@ private: void tst_QGalleryTrackerSchema::initTestCase() { + qRegisterMetaType<QDocumentGallery::Error>(); qRegisterMetaType<QVariant>(); qRegisterMetaType<QVector<QVariant> >(); qRegisterMetaType<QGalleryDBusInterfacePointer>(); @@ -232,36 +234,36 @@ void tst_QGalleryTrackerSchema::uriFromItemId_data() { QTest::addColumn<QString>("itemId"); QTest::addColumn<QString>("uri"); - QTest::addColumn<int>("result"); + QTest::addColumn<QDocumentGallery::Error>("expectedError"); QTest::newRow("File") << QString::fromLatin1("file::/path/to/file.ext") << QString::fromLatin1("/path/to/file.ext") - << int(QGalleryQueryRequest::Succeeded); + << QDocumentGallery::NoError; QTest::newRow("Image") << QString::fromLatin1("file::/path/to/image.png") << QString::fromLatin1("/path/to/image.png") - << int(QGalleryQueryRequest::Succeeded); + << QDocumentGallery::NoError; QTest::newRow("Album") << QString::fromLatin1("album::Self Titled/Greatest Hits") << QString() - << int(QGalleryQueryRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; QTest::newRow("Turtle") << QString::fromLatin1("turtle::its/a/turtle") << QString() - << int(QGalleryQueryRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; } void tst_QGalleryTrackerSchema::uriFromItemId() { QFETCH(QString, itemId); QFETCH(QString, uri); - QFETCH(int, result); + QFETCH(QDocumentGallery::Error, expectedError); - int error = QGalleryQueryRequest::Succeeded; + QDocumentGallery::Error error = QDocumentGallery::NoError; QCOMPARE(QGalleryTrackerSchema::uriFromItemId(&error, itemId), uri); - QCOMPARE(error, result); + QCOMPARE(error, expectedError); } void tst_QGalleryTrackerSchema::serviceUpdateId_data() @@ -473,7 +475,7 @@ void tst_QGalleryTrackerSchema::prepareValidTypeResponse() QGalleryTrackerTypeResultSetArguments arguments; QGalleryTrackerSchema schema(itemType); - QCOMPARE(schema.prepareTypeResponse(&arguments, this), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(schema.prepareTypeResponse(&arguments, this), QDocumentGallery::NoError); QCOMPARE(arguments.accumulative, accumulative); QCOMPARE(arguments.updateMask, updateMask); @@ -485,22 +487,22 @@ void tst_QGalleryTrackerSchema::prepareValidTypeResponse() void tst_QGalleryTrackerSchema::prepareInvalidTypeResponse_data() { QTest::addColumn<QString>("itemType"); - QTest::addColumn<int>("result"); + QTest::addColumn<QDocumentGallery::Error>("error"); QTest::newRow("Turtle") << QString::fromLatin1("Turtle") - << int(QGalleryAbstractRequest::ItemTypeError); + << QDocumentGallery::ItemTypeError; } void tst_QGalleryTrackerSchema::prepareInvalidTypeResponse() { QFETCH(QString, itemType); - QFETCH(int, result); + QFETCH(QDocumentGallery::Error, error); QGalleryTrackerTypeResultSetArguments arguments; QGalleryTrackerSchema schema(itemType); - QCOMPARE(schema.prepareTypeResponse(&arguments, this), result); + QCOMPARE(schema.prepareTypeResponse(&arguments, this), error); } void tst_QGalleryTrackerSchema::prepareValidItemResponse_data() @@ -594,7 +596,7 @@ void tst_QGalleryTrackerSchema::prepareValidItemResponse() QGalleryTrackerSchema schema = QGalleryTrackerSchema::fromItemId(itemId.toString()); QCOMPARE( schema.prepareItemResponse(&arguments, this, itemId.toString(), propertyNames), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QVERIFY(arguments.idColumn != 0); QCOMPARE(arguments.idColumn->value(row.constBegin()), itemId); @@ -620,34 +622,34 @@ void tst_QGalleryTrackerSchema::prepareInvalidItemResponse_data() { QTest::addColumn<QString>("itemId"); QTest::addColumn<QStringList>("propertyNames"); - QTest::addColumn<int>("result"); + QTest::addColumn<QDocumentGallery::Error>("error"); QTest::newRow("Invalid Type") << QString::fromLatin1("turtle::its/a/turtle") << QStringList() - << int(QGalleryAbstractRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; QTest::newRow("Relative file path") << QString::fromLatin1("file::file.ext") << QStringList() - << int(QGalleryAbstractRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; QTest::newRow("Relative file path") << QString::fromLatin1("album::Greatest Hits") << QStringList() - << int(QGalleryAbstractRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; } void tst_QGalleryTrackerSchema::prepareInvalidItemResponse() { QFETCH(QString, itemId); QFETCH(QStringList, propertyNames); - QFETCH(int, result); + QFETCH(QDocumentGallery::Error, error); QGalleryTrackerResultSetArguments arguments; QGalleryTrackerSchema schema = QGalleryTrackerSchema::fromItemId(itemId); - QCOMPARE(schema.prepareItemResponse(&arguments, this, itemId, propertyNames), result); + QCOMPARE(schema.prepareItemResponse(&arguments, this, itemId, propertyNames), error); } void tst_QGalleryTrackerSchema::queryResponseRootType_data() @@ -837,7 +839,7 @@ void tst_QGalleryTrackerSchema::queryResponseRootType() QGalleryFilter(), QStringList(), QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.queryInterface, queryInterface); QCOMPARE(arguments.queryMethod, queryMethod); @@ -1449,7 +1451,7 @@ void tst_QGalleryTrackerSchema::queryResponseFilePropertyNames() QGalleryFilter(), propertyNames, sortPropertyNames), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.tableWidth, tableWidth); QCOMPARE(arguments.valueOffset, 2); @@ -1975,7 +1977,7 @@ void tst_QGalleryTrackerSchema::queryResponseAggregatePropertyNames() QGalleryFilter(), propertyNames, sortPropertyNames), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.tableWidth, tableWidth); QCOMPARE(arguments.valueOffset, valueOffset); @@ -2381,7 +2383,7 @@ void tst_QGalleryTrackerSchema::queryResponseRootItem() QGalleryFilter(), QStringList(), QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.queryArguments.count(), argumentCount); QCOMPARE(arguments.queryArguments.at(queryStringIndex), QVariant(queryString)); @@ -3049,7 +3051,7 @@ void tst_QGalleryTrackerSchema::queryResponseFilter() filter, QStringList(), QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.queryArguments.count(), argumentCount); QCOMPARE(arguments.queryArguments.at(queryStringIndex), QVariant(queryString)); @@ -3079,7 +3081,7 @@ void tst_QGalleryTrackerSchema::queryResponseRootFileItems() QGalleryFilter(), QStringList(), QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.queryArguments.count(), QT_FILE_QUERY_ARGUMENTS_COUNT); QVERIFY(regExp.exactMatch( @@ -3115,7 +3117,7 @@ void tst_QGalleryTrackerSchema::queryResponseRootFileItemsWithFilter() QDocumentGallery::fileName == QLatin1String("file.ext"), QStringList(), QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.queryArguments.count(), QT_FILE_QUERY_ARGUMENTS_COUNT); QVERIFY(regExp.exactMatch( @@ -3249,7 +3251,7 @@ void tst_QGalleryTrackerSchema::queryResponseValueColumnToVariant() QGalleryFilter(), QStringList() << propertyName, QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.valueColumns.count(), 1); QCOMPARE(arguments.valueColumns.at(0)->toVariant(string), value); @@ -3376,7 +3378,7 @@ void tst_QGalleryTrackerSchema::queryResponseValueColumnToString() QGalleryFilter(), QStringList() << propertyName, QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.valueColumns.count(), 1); QCOMPARE(arguments.valueColumns.at(0)->toString(value), string); @@ -3422,7 +3424,7 @@ void tst_QGalleryTrackerSchema::queryResponseCompositeColumn() QGalleryFilter(), QStringList() << propertyName, QStringList()), - int(QGalleryAbstractRequest::Succeeded)); + QDocumentGallery::NoError); QCOMPARE(arguments.compositeColumns.count(), 1); QCOMPARE(arguments.compositeColumns.at(0)->value(rowData.constBegin()), value); @@ -3436,11 +3438,11 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() QTest::addColumn<QGalleryFilter>("filter"); QTest::addColumn<QStringList>("propertyNames"); QTest::addColumn<QStringList>("sortPropertyNames"); - QTest::addColumn<int>("result"); + QTest::addColumn<QDocumentGallery::Error>("error"); QTest::addColumn<QVariant>("itemId"); QTest::addColumn<QStringList>("propertyNames"); - QTest::addColumn<int>("result"); + QTest::addColumn<QDocumentGallery::Error>("error"); QTest::newRow("Invalid Type, No Filter") << QString() @@ -3449,7 +3451,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter() << QStringList() << QStringList() - << int(QGalleryAbstractRequest::ItemTypeError); + << QDocumentGallery::ItemTypeError; QTest::newRow("Invalid Type, With Filter") << QString() @@ -3458,7 +3460,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter(QDocumentGallery::fileName == QLatin1String("file.ext")) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::ItemTypeError); + << QDocumentGallery::ItemTypeError; QTest::newRow("No Type") << QString() @@ -3467,7 +3469,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter() << QStringList() << QStringList() - << int(QGalleryAbstractRequest::ItemTypeError); + << QDocumentGallery::ItemTypeError; QTest::newRow("Invalid Root Item Type") << QString::fromLatin1("turtle::/its/a/turtle") @@ -3476,7 +3478,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter() << QStringList() << QStringList() - << int(QGalleryAbstractRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; QTest::newRow("Invalid Album ID") << QString::fromLatin1("album::Greatest Hits") @@ -3485,7 +3487,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter() << QStringList() << QStringList() - << int(QGalleryAbstractRequest::InvalidItemError); + << QDocumentGallery::ItemIdError; QTest::newRow("File.filePath > /path") << QString() @@ -3494,7 +3496,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter(QDocumentGallery::filePath > QLatin1String("/path")) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::UnsupportedFilterOptionError); + << QDocumentGallery::FilterError; QTest::newRow("File.url > file:///path") << QString() @@ -3503,7 +3505,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter(QDocumentGallery::url > QUrl::fromLocalFile(QLatin1String("/path"))) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::UnsupportedFilterOptionError); + << QDocumentGallery::FilterError; QTest::newRow("File.filePath > /path (within union)") << QString() @@ -3513,7 +3515,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() QDocumentGallery::filePath > QLatin1String("/path"))) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::UnsupportedFilterOptionError); + << QDocumentGallery::FilterError; QTest::newRow("File.filePath > /path (within intersection)") << QString() @@ -3523,7 +3525,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() QDocumentGallery::filePath > QLatin1String("/path"))) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::UnsupportedFilterOptionError); + << QDocumentGallery::FilterError; QTest::newRow("File.fileName ? /path") << QString() @@ -3535,7 +3537,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() QGalleryFilter::Comparator(1200))) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::UnsupportedFilterOptionError); + << QDocumentGallery::FilterError; QTest::newRow("File.fileName == QPoint(12, 44)") << QString() @@ -3544,7 +3546,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter(QDocumentGallery::fileName == QPoint(12, 44)) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::PropertyTypeError); + << QDocumentGallery::FilterError; QTest::newRow("File.url == 125") @@ -3554,7 +3556,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse_data() << QGalleryFilter(QDocumentGallery::url == 125) << QStringList() << QStringList() - << int(QGalleryAbstractRequest::PropertyTypeError); + << QDocumentGallery::FilterError; } void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse() @@ -3565,7 +3567,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse() QFETCH(QGalleryFilter, filter); QFETCH(QStringList, propertyNames); QFETCH(QStringList, sortPropertyNames); - QFETCH(int, result); + QFETCH(QDocumentGallery::Error, error); QGalleryTrackerResultSetArguments arguments; @@ -3574,7 +3576,7 @@ void tst_QGalleryTrackerSchema::prepareInvalidQueryResponse() QCOMPARE( schema.prepareQueryResponse( &arguments, this, scope, rootItem, filter, propertyNames, sortPropertyNames), - result); + error); } QTEST_MAIN(tst_QGalleryTrackerSchema) diff --git a/tests/auto/qgallerytyperequest/tst_qgallerytyperequest.cpp b/tests/auto/qgallerytyperequest/tst_qgallerytyperequest.cpp index b1096c10f1..9f1e5e512f 100644 --- a/tests/auto/qgallerytyperequest/tst_qgallerytyperequest.cpp +++ b/tests/auto/qgallerytyperequest/tst_qgallerytyperequest.cpp @@ -74,15 +74,24 @@ class QtGalleryTestResponse : public QGalleryResultSet { Q_OBJECT public: - QtGalleryTestResponse(const QStringList &propertyNames, int count, int result, bool idle) + QtGalleryTestResponse( + const QStringList &propertyNames, + int count, + QGalleryAbstractRequest::Status status, + int error, + const QString &errorString) : m_count(count) , m_currentIndex(-1) , m_propertyNames(propertyNames) { m_propertyNames.removeAll(QLatin1String("turtle")); - if (result != QGalleryAbstractRequest::NoResult) - finish(result, idle); + if (error != QGalleryAbstractRequest::NoError) + QGalleryAbstractResponse::error(error, errorString); + else if (status == QGalleryAbstractRequest::Finished) + finish(); + else if (status == QGalleryAbstractRequest::Idle) + finish(true); } int propertyKey(const QString &propertyName) const { @@ -119,10 +128,10 @@ public: } } - void doFinish(int result, bool idle) { finish(result, idle); } - void setCount(int count) { m_count = count; } + using QGalleryResultSet::finish; + using QGalleryResultSet::resume; using QGalleryResultSet::itemsInserted; using QGalleryResultSet::itemsRemoved; using QGalleryResultSet::itemsMoved; @@ -138,13 +147,18 @@ private: class QtTestGallery : public QAbstractGallery { public: - QtTestGallery() : m_count(0), m_result(QGalleryAbstractRequest::NoResult), m_idle(false) {} + QtTestGallery() + : m_count(0) + , m_status(QGalleryAbstractRequest::Active) + , m_error(QGalleryAbstractRequest::NoError) + {} bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const { - return type == QGalleryAbstractRequest::QueryRequest; } + return type == QGalleryAbstractRequest::TypeRequest; } - void setResult(int result) { m_result = result; } - void setIdle(bool idle) { m_idle = idle; } + void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; } + void setError(int error, const QString &errorString) { + m_error = error; m_errorString = errorString; } void setCount(int count) { m_count = count; } @@ -155,16 +169,18 @@ protected: return new QtGalleryTestResponse( static_cast<QGalleryTypeRequest *>(request)->propertyNames(), m_count, - m_result, - m_idle); + m_status, + m_error, + m_errorString); } return 0; } private: int m_count; - int m_result; - bool m_idle; + QGalleryAbstractRequest::Status m_status; + int m_error; + QString m_errorString; }; void tst_QGalleryTypeRequest::initTestCase() @@ -213,8 +229,9 @@ void tst_QGalleryTypeRequest::properties() void tst_QGalleryTypeRequest::executeSynchronous() { QtTestGallery gallery; + gallery.setStatus(QGalleryAbstractRequest::Finished); gallery.setCount(1); - gallery.setResult(QGalleryAbstractRequest::ConnectionError); + gallery.setError(80, QString()); QGalleryTypeRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -230,13 +247,15 @@ void tst_QGalleryTypeRequest::executeSynchronous() request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::ConnectionError)); + QCOMPARE(request.error(), 80); + QCOMPARE(request.status(), QGalleryAbstractRequest::Error); QCOMPARE(resultSetSpy.count(), 0); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) == 0); - gallery.setResult(QGalleryAbstractRequest::Succeeded); + gallery.setError(QGalleryAbstractRequest::NoError, QString()); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -270,7 +289,7 @@ void tst_QGalleryTypeRequest::executeSynchronous() QCOMPARE(metaDataSpy.count(), 2); request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(resultSetSpy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -281,7 +300,7 @@ void tst_QGalleryTypeRequest::executeSynchronous() void tst_QGalleryTypeRequest::executeAsynchronous() { QtTestGallery gallery; - gallery.setResult(QGalleryAbstractRequest::NoResult); + gallery.setStatus(QGalleryAbstractRequest::Active); QGalleryTypeRequest request(&gallery); QVERIFY(request.resultSet() == 0); @@ -296,7 +315,7 @@ void tst_QGalleryTypeRequest::executeAsynchronous() QSignalSpy metaDataSpy(&request, SIGNAL(metaDataChanged(QList<int>))); request.execute(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Active); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -338,9 +357,9 @@ void tst_QGalleryTypeRequest::executeAsynchronous() QCOMPARE(request.metaData(QLatin1String("trackNumber")), QVariant(12)); QCOMPARE(metaDataSpy.count(), 2); - resultSet->doFinish(QGalleryAbstractRequest::Succeeded, false); + resultSet->finish(false); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::Succeeded)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Finished); QCOMPARE(resultSetSpy.count(), 1); QVERIFY(qobject_cast<QtGalleryTestResponse *>(request.resultSet()) != 0); @@ -357,7 +376,7 @@ void tst_QGalleryTypeRequest::executeAsynchronous() request.clear(); - QCOMPARE(request.result(), int(QGalleryAbstractRequest::NoResult)); + QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive); QCOMPARE(resultSetSpy.count(), 2); QVERIFY(request.resultSet() == 0); QCOMPARE(resultSetSpy.last().at(0).value<QGalleryResultSet*>(), request.resultSet()); @@ -394,7 +413,6 @@ void tst_QGalleryTypeRequest::multipleResults() QSignalSpy typeChangedSpy(&request, SIGNAL(typeChanged())); QSignalSpy metaDataSpy(&request, SIGNAL(metaDataChanged(QList<int>))); - gallery.setResult(QGalleryAbstractRequest::Succeeded); request.execute(); QCOMPARE(request.isValid(), true); |