routeTo(m_mapEngine->centerGeoCoordinate());
}
+void SituareEngine::searchPeopleByTag(const QString &tag)
+{
+ QRectF currentSceneRect = m_mapEngine->currentViewSceneRect();
+ GeoCoordinate centerGeoCoordinate = m_mapEngine->centerGeoCoordinate();
+ SceneCoordinate topCenterSceneCoordinate(
+ currentSceneRect.left() - currentSceneRect.width() / 2, currentSceneRect.top());
+
+ m_situareService->searchPeopleByTag(tag, centerGeoCoordinate.distanceTo(GeoCoordinate(topCenterSceneCoordinate)));
+}
+
void SituareEngine::setAutoCentering(bool enabled)
{
qDebug() << __PRETTY_FUNCTION__ << enabled;
this, SLOT(setProgressIndicatorEnabled()));
connect(m_ui, SIGNAL(requestSearchPeopleByTag(QString)),
- m_situareService, SLOT(searchPeopleByTag(QString)));
+ this, SLOT(searchPeopleByTag(QString)));
// signals from meet people panel
connect(m_ui, SIGNAL(requestInterestingPeople()),
void requestSendMessage(const QString &receiverId, const QString &message, bool addCoordinates);
/**
+ * @brief Searches people by tag name.
+ *
+ * @param tag tag name
+ * @param maximumDistance maximum distance to people
+ */
+ void searchPeopleByTag(const QString &tag);
+
+ /**
* @brief Slot for setting auto centering state.
*
* Calls gps to send last known position
buildRequest(REVERSE_GEO, parameters);
}
-void SituareService::searchPeopleByTag(const QString &tag)
+void SituareService::searchPeopleByTag(const QString &tag, const qreal distance)
{
qDebug() << __PRETTY_FUNCTION__;
+ const int TO_KM_DIVIDER = 1000;
QHash<QString, QString> parameters;
parameters.insert("tag",tag);
+ parameters.insert("distance", degreesToString(distance / TO_KM_DIVIDER));
buildRequest(SEARCH_PEOPLE_WITH_TAG, parameters);
}
* @brief Searches people by tag name.
*
* @param tag tag name
+ * @param maximumDistance maximum distance to people
*/
- void searchPeopleByTag(const QString &tag);
+ void searchPeopleByTag(const QString &tag, const qreal distance);
/**
* @brief Sends a message to a person.
emit searchForLocation(searchDialog->input());
else if (searchDialog->type() == SearchDialog::PeopleTag)
emit requestSearchPeopleByTag(searchDialog->input());
+
+ searchDialog->deleteLater();
} else if ((messageDialog) && (status != 0)) {
emit sendMessage(messageDialog->input().first, messageDialog->input().second,
messageDialog->isAddCoordinatesSelected());
+ messageDialog->deleteLater();
}
- dialog->deleteLater();
-
if(!m_error_queue.isEmpty() && m_errorShown == false) {
showErrorInformationBox();
} else {