diff options
7 files changed, 37 insertions, 0 deletions
diff --git a/examples/declarative/places/content/places/SearchResultView.qml b/examples/declarative/places/content/places/SearchResultView.qml index 859f773b..b24c213d 100644 --- a/examples/declarative/places/content/places/SearchResultView.qml +++ b/examples/declarative/places/content/places/SearchResultView.qml @@ -110,6 +110,13 @@ Item { } Button { + text: qsTr("Clear") + onClicked: placeSearchModel.clear() + + anchors.horizontalCenter: parent.horizontalCenter + } + + Button { text: qsTr("Next") onClicked: placeSearchModel.nextPage() diff --git a/src/imports/location/declarativeplaces/qdeclarativerecommendationmodel.cpp b/src/imports/location/declarativeplaces/qdeclarativerecommendationmodel.cpp index 0e4b52c1..9d6e025c 100644 --- a/src/imports/location/declarativeplaces/qdeclarativerecommendationmodel.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativerecommendationmodel.cpp @@ -195,6 +195,12 @@ QT_USE_NAMESPACE \sa execute(), status */ +/*! + \qmlmethod PlaceRecommendationModel::clear() + + Clears the current place recommendations stored in the model. +*/ + QDeclarativeRecommendationModel::QDeclarativeRecommendationModel(QObject *parent) : QDeclarativeResultModelBase(parent) { diff --git a/src/imports/location/declarativeplaces/qdeclarativeresultmodelbase.cpp b/src/imports/location/declarativeplaces/qdeclarativeresultmodelbase.cpp index acb42a00..8fc4e5ed 100644 --- a/src/imports/location/declarativeplaces/qdeclarativeresultmodelbase.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativeresultmodelbase.cpp @@ -81,6 +81,8 @@ void QDeclarativeResultModelBase::setFavoritesMatchParameters(const QVariantMap void QDeclarativeResultModelBase::clearData() { + QDeclarativeSearchModelBase::clearData(); + qDeleteAll(m_places); m_places.clear(); m_results.clear(); diff --git a/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.cpp b/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.cpp index cc9c258d..66a792e8 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.cpp @@ -178,6 +178,13 @@ void QDeclarativeSearchModelBase::cancel() setStatus(Ready); } +void QDeclarativeSearchModelBase::clear() +{ + beginResetModel(); + clearData(); + endResetModel(); +} + QString QDeclarativeSearchModelBase::errorString() const { return m_errorString; diff --git a/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.h b/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.h index 496c16c4..ce9325d1 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.h +++ b/src/imports/location/declarativeplaces/qdeclarativesearchmodelbase.h @@ -99,6 +99,7 @@ public: Q_INVOKABLE void execute(); Q_INVOKABLE void cancel(); + Q_INVOKABLE void clear(); Q_INVOKABLE QString errorString() const; diff --git a/src/imports/location/declarativeplaces/qdeclarativesearchresultmodel.cpp b/src/imports/location/declarativeplaces/qdeclarativesearchresultmodel.cpp index 883a4dff..52a0bec5 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesearchresultmodel.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativesearchresultmodel.cpp @@ -218,6 +218,12 @@ QT_USE_NAMESPACE \sa execute(), status */ +/*! + \qmlmethod PlaceSearchModel::clear() + + Clears the current search results stored in the model. +*/ + QDeclarativeSearchResultModel::QDeclarativeSearchResultModel(QObject *parent) : QDeclarativeResultModelBase(parent) { diff --git a/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp b/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp index e081656c..b4b70737 100644 --- a/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp +++ b/src/imports/location/declarativeplaces/qdeclarativesearchsuggestionmodel.cpp @@ -166,6 +166,12 @@ QT_USE_NAMESPACE \sa execute(), status */ +/*! + \qmlmethod PlaceSearchSuggestionModel::clear() + + Clears the current search suggestions stored in the model. +*/ + QDeclarativeSearchSuggestionModel::QDeclarativeSearchSuggestionModel(QObject *parent) : QDeclarativeSearchModelBase(parent) { @@ -210,6 +216,8 @@ QStringList QDeclarativeSearchSuggestionModel::suggestions() const void QDeclarativeSearchSuggestionModel::clearData() { + QDeclarativeSearchModelBase::clearData(); + m_suggestions.clear(); } |