summaryrefslogtreecommitdiffstats
path: root/src/location/places
diff options
context:
space:
mode:
authorAaron McCarthy <aaron.mccarthy@jollamobile.com>2014-01-16 14:32:21 +1000
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-20 02:11:24 +0100
commit1d0966c6924876655c52725e779a7aa24866ff60 (patch)
treebb7220ab3ccce1d057b80af33dbb8dd784d5782e /src/location/places
parent86db3df8cea7b9ac1e4ae078639de5fb5a43ca69 (diff)
Remove offset attribute from place search requests.
Not all service providers support arbitrary search offsets. The offset attribute has been removed, instead service providers can supply a previous and next search query in the form of a QPlaceSearchRequest. Change-Id: If68e969b06f909f3fa62718656cbef70d1bf84a6 Reviewed-by: Aaron McCarthy <mccarthy.aaron@gmail.com>
Diffstat (limited to 'src/location/places')
-rw-r--r--src/location/places/qplacesearchreply.cpp62
-rw-r--r--src/location/places/qplacesearchreply.h9
-rw-r--r--src/location/places/qplacesearchrequest.cpp28
-rw-r--r--src/location/places/qplacesearchrequest.h2
4 files changed, 64 insertions, 37 deletions
diff --git a/src/location/places/qplacesearchreply.cpp b/src/location/places/qplacesearchreply.cpp
index 26829607..9d89748a 100644
--- a/src/location/places/qplacesearchreply.cpp
+++ b/src/location/places/qplacesearchreply.cpp
@@ -39,23 +39,23 @@
**
****************************************************************************/
-#include "qplacesearchreply.h"
-#include "qplacereply_p.h"
-
+#include <QtLocation/QPlaceSearchRequest>
+#include <QtLocation/QPlaceSearchReply>
+#include <QtLocation/QPlaceProposedSearchResult>
+#include <QtLocation/private/qplacereply_p.h>
QT_BEGIN_NAMESPACE
+
class QPlaceSearchReplyPrivate : public QPlaceReplyPrivate
{
public:
QPlaceSearchReplyPrivate(){}
QList<QPlaceSearchResult> results;
QPlaceSearchRequest searchRequest;
+ QPlaceSearchRequest previousPageRequest;
+ QPlaceSearchRequest nextPageRequest;
};
-QT_END_NAMESPACE
-
-QT_USE_NAMESPACE
-
/*!
\class QPlaceSearchReply
\inmodule QtLocation
@@ -121,6 +121,30 @@ QPlaceSearchRequest QPlaceSearchReply::request() const
}
/*!
+ Returns a place search request which can be used to request the previous page of search
+ results. An empty place search request is returned if there is no previous page of results.
+
+ \sa nextPageRequest(), setPreviousPageRequest()
+*/
+QPlaceSearchRequest QPlaceSearchReply::previousPageRequest() const
+{
+ Q_D(const QPlaceSearchReply);
+ return d->previousPageRequest;
+}
+
+/*!
+ Returns a place search request which can be used to request the next page of search results. An
+ empty place search request is returned if there is no next page of results.
+
+ \sa previousPageRequest(), setNextPageRequest()
+*/
+QPlaceSearchRequest QPlaceSearchReply::nextPageRequest() const
+{
+ Q_D(const QPlaceSearchReply);
+ return d->nextPageRequest;
+}
+
+/*!
Sets the search \a request used to generate this reply.
*/
void QPlaceSearchReply::setRequest(const QPlaceSearchRequest &request)
@@ -128,3 +152,27 @@ void QPlaceSearchReply::setRequest(const QPlaceSearchRequest &request)
Q_D(QPlaceSearchReply);
d->searchRequest = request;
}
+
+/*!
+ Sets the previous page of search results request to \a previous.
+
+ \sa previousPageRequest()
+*/
+void QPlaceSearchReply::setPreviousPageRequest(const QPlaceSearchRequest &previous)
+{
+ Q_D(QPlaceSearchReply);
+ d->previousPageRequest = previous;
+}
+
+/*!
+ Sets the next page of search results request to \a next.
+
+ \sa nextPageRequest()
+*/
+void QPlaceSearchReply::setNextPageRequest(const QPlaceSearchRequest &next)
+{
+ Q_D(QPlaceSearchReply);
+ d->nextPageRequest = next;
+}
+
+QT_END_NAMESPACE
diff --git a/src/location/places/qplacesearchreply.h b/src/location/places/qplacesearchreply.h
index 4266b988..51cb315f 100644
--- a/src/location/places/qplacesearchreply.h
+++ b/src/location/places/qplacesearchreply.h
@@ -44,11 +44,12 @@
#include <QtLocation/QPlaceReply>
#include <QtLocation/QPlaceSearchResult>
-#include <QtLocation/QPlaceSearchRequest>
QT_BEGIN_NAMESPACE
+class QPlaceSearchResult;
class QPlaceSearchReplyPrivate;
+
class Q_LOCATION_EXPORT QPlaceSearchReply : public QPlaceReply
{
Q_OBJECT
@@ -61,9 +62,15 @@ public:
QList<QPlaceSearchResult> results() const;
QPlaceSearchRequest request() const;
+ QPlaceSearchRequest previousPageRequest() const;
+ QPlaceSearchRequest nextPageRequest() const;
+
protected:
void setResults(const QList<QPlaceSearchResult> &results);
void setRequest(const QPlaceSearchRequest &request);
+ void setPreviousPageRequest(const QPlaceSearchRequest &previous);
+ void setNextPageRequest(const QPlaceSearchRequest &next);
+
private:
Q_DISABLE_COPY(QPlaceSearchReply)
Q_DECLARE_PRIVATE(QPlaceSearchReply)
diff --git a/src/location/places/qplacesearchrequest.cpp b/src/location/places/qplacesearchrequest.cpp
index c5878b22..81cfeba4 100644
--- a/src/location/places/qplacesearchrequest.cpp
+++ b/src/location/places/qplacesearchrequest.cpp
@@ -68,7 +68,6 @@ public:
QLocation::VisibilityScope visibilityScope;
QPlaceSearchRequest::RelevanceHint relevanceHint;
int limit;
- int offset;
QVariant searchContext;
};
@@ -76,7 +75,7 @@ QPlaceSearchRequestPrivate::QPlaceSearchRequestPrivate()
: QSharedData(),
visibilityScope(QLocation::UnspecifiedVisibility),
relevanceHint(QPlaceSearchRequest::UnspecifiedHint),
- limit(-1), offset(0)
+ limit(-1)
{
}
@@ -89,7 +88,6 @@ QPlaceSearchRequestPrivate::QPlaceSearchRequestPrivate(const QPlaceSearchRequest
visibilityScope(other.visibilityScope),
relevanceHint(other.relevanceHint),
limit(other.limit),
- offset(other.offset),
searchContext(other.searchContext)
{
}
@@ -108,7 +106,6 @@ QPlaceSearchRequestPrivate &QPlaceSearchRequestPrivate::operator=(const QPlaceSe
visibilityScope = other.visibilityScope;
relevanceHint = other.relevanceHint;
limit = other.limit;
- offset = other.offset;
searchContext = other.searchContext;
}
@@ -124,14 +121,12 @@ bool QPlaceSearchRequestPrivate::operator==(const QPlaceSearchRequestPrivate &ot
visibilityScope == other.visibilityScope &&
relevanceHint == other.relevanceHint &&
limit == other.limit &&
- offset == other.offset &&
searchContext == other.searchContext;
}
void QPlaceSearchRequestPrivate::clear()
{
limit = -1;
- offset = 0;
searchTerm.clear();
categories.clear();
searchArea = QGeoShape();
@@ -429,27 +424,6 @@ void QPlaceSearchRequest::setLimit(int limit)
}
/*!
- Returns the offset index of the first item that is to be retrieved.
-
- The default offset is 0.
-*/
-int QPlaceSearchRequest::offset() const
-{
- Q_D(const QPlaceSearchRequest);
- return d->offset;
-}
-
-/*!
- Sets the starting index of the first item to be retrieved
- to \a offset.
-*/
-void QPlaceSearchRequest::setOffset(int offset)
-{
- Q_D(QPlaceSearchRequest);
- d->offset = offset;
-}
-
-/*!
Clears the search request.
*/
void QPlaceSearchRequest::clear()
diff --git a/src/location/places/qplacesearchrequest.h b/src/location/places/qplacesearchrequest.h
index 65ca3fe0..34a6a1dd 100644
--- a/src/location/places/qplacesearchrequest.h
+++ b/src/location/places/qplacesearchrequest.h
@@ -94,8 +94,6 @@ public:
RelevanceHint relevanceHint() const;
void setRelevanceHint(RelevanceHint hint);
- int offset() const;
- void setOffset(int offset);
int limit() const;
void setLimit(int limit);