Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/qt
diff options
context:
space:
mode:
authorvng <viktor.govako@gmail.com>2012-10-19 04:32:47 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:45:53 +0300
commit4c53d5c0e8e022b399af9f8cf470213c8562fefc (patch)
treefe37eb970a032a50f5100601404a806c2769b94b /qt
parentc8fa4444c805761493fadca31a2fa5e78487a47e (diff)
[desktop] Take into account end marker for search results.
Diffstat (limited to 'qt')
-rw-r--r--qt/search_panel.cpp84
1 files changed, 46 insertions, 38 deletions
diff --git a/qt/search_panel.cpp b/qt/search_panel.cpp
index 3eefb9d225..e4b37b9c88 100644
--- a/qt/search_panel.cpp
+++ b/qt/search_panel.cpp
@@ -112,56 +112,64 @@ namespace
void SearchPanel::OnSearchResult(ResultsT * res)
{
- // clear old results
- m_pTable->clear();
- m_pTable->setRowCount(0);
- m_results.clear();
+ scoped_ptr<ResultsT> guard(res);
- Framework & frm = m_pDrawWidget->GetFramework();
- frm.DeleteBmCategory(SEARCH_CATEGORY);
-
- for (ResultsT::IterT i = res->Begin(); i != res->End(); ++i)
+ if (res->IsEndMarker())
{
- ResultT const & e = *i;
-
- int const rowCount = m_pTable->rowCount();
- m_pTable->insertRow(rowCount);
+ if (res->IsEndedNormal())
+ {
+ // stop search busy indicator
+ m_pAnimationTimer->stop();
+ m_pClearButton->setIcon(QIcon(":/ui/x.png"));
+ }
+ }
+ else
+ {
+ // clear old results
+ m_pTable->clear();
+ m_pTable->setRowCount(0);
+ m_results.clear();
- m_pTable->setItem(rowCount, 1, create_item(QString::fromUtf8(e.GetString())));
- m_pTable->setItem(rowCount, 2, create_item(QString::fromUtf8(e.GetRegionString())));
+ Framework & frm = m_pDrawWidget->GetFramework();
+ frm.DeleteBmCategory(SEARCH_CATEGORY);
- if (e.GetResultType() == ResultT::RESULT_FEATURE)
+ for (ResultsT::IterT i = res->Begin(); i != res->End(); ++i)
{
- // For debug purposes: add bookmarks for search results
- frm.AddBookmark(SEARCH_CATEGORY,
- Bookmark(e.GetFeatureCenter(), e.GetString(), "placemark-red"));
+ ResultT const & e = *i;
- m_pTable->setItem(rowCount, 0,
- create_item(QString::fromUtf8(e.GetFeatureType())));
+ int const rowCount = m_pTable->rowCount();
+ m_pTable->insertRow(rowCount);
- string strDist;
- bool const drawDir = MeasurementUtils::FormatDistance(e.GetDistanceFromCenter(), strDist);
- m_pTable->setItem(rowCount, 3, create_item(strDist.c_str()));
+ m_pTable->setItem(rowCount, 1, create_item(QString::fromUtf8(e.GetString())));
+ m_pTable->setItem(rowCount, 2, create_item(QString::fromUtf8(e.GetRegionString())));
- if (drawDir)
+ if (e.GetResultType() == ResultT::RESULT_FEATURE)
{
- /*
- QTableWidgetItem * item =
- new QTableWidgetItem(draw_direction(e.GetDirectionFromCenter()), QString());
- item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
- m_pTable->setItem(rowCount, 4, item);
- */
+ // For debug purposes: add bookmarks for search results
+ frm.AddBookmark(SEARCH_CATEGORY,
+ Bookmark(e.GetFeatureCenter(), e.GetString(), "placemark-red"));
+
+ m_pTable->setItem(rowCount, 0,
+ create_item(QString::fromUtf8(e.GetFeatureType())));
+
+ string strDist;
+ bool const drawDir = MeasurementUtils::FormatDistance(e.GetDistanceFromCenter(), strDist);
+ m_pTable->setItem(rowCount, 3, create_item(strDist.c_str()));
+
+ if (drawDir)
+ {
+ /*
+ QTableWidgetItem * item =
+ new QTableWidgetItem(draw_direction(e.GetDirectionFromCenter()), QString());
+ item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
+ m_pTable->setItem(rowCount, 4, item);
+ */
+ }
}
- }
- m_results.push_back(e);
+ m_results.push_back(e);
+ }
}
-
- delete res;
-
- // stop search busy indicator
- m_pAnimationTimer->stop();
- m_pClearButton->setIcon(QIcon(":/ui/x.png"));
}
void SearchPanel::OnSearchTextChanged(QString const & str)