diff --git a/map/framework.cpp b/map/framework.cpp index ba32c78a16..dac7ed8547 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -1392,13 +1392,11 @@ size_t Framework::ShowSearchResults(search::Results const & results) void Framework::FillSearchResultsMarks(bool clear, search::Results const & results) { - FillSearchResultsMarks(results.begin(), results.end(), clear, - Framework::SearchMarkPostProcessing()); + FillSearchResultsMarks(results.begin(), results.end(), clear); } -void Framework::FillSearchResultsMarks(search::Results::ConstIter begin, - search::Results::ConstIter end, bool clear, - SearchMarkPostProcessing fn) +void Framework::FillSearchResultsMarks(SearchResultsIterT begin, SearchResultsIterT end, + bool clear, SearchMarkPostProcessing const & fn) { auto editSession = GetBookmarkManager().GetEditSession(); if (clear) @@ -2022,6 +2020,7 @@ void Framework::DeactivateMapSelection(bool notifyUI) void Framework::InvalidateUserMarks() { + // Actual invalidation call happens in EditSession dtor. GetBookmarkManager().GetEditSession(); } @@ -3247,11 +3246,9 @@ void Framework::RunUITask(function fn) GetPlatform().RunTask(Platform::Thread::Gui, move(fn)); } -void Framework::ShowViewportSearchResults(search::Results::ConstIter begin, - search::Results::ConstIter end, bool clear) +void Framework::ShowViewportSearchResults(SearchResultsIterT begin, SearchResultsIterT end, bool clear) { - FillSearchResultsMarks(begin, end, clear, - Framework::SearchMarkPostProcessing()); + FillSearchResultsMarks(begin, end, clear); } void Framework::ClearViewportSearchResults() diff --git a/map/framework.hpp b/map/framework.hpp index a2c7ece549..1bd06728a2 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -312,8 +312,8 @@ public: public: // SearchAPI::Delegate overrides: void RunUITask(std::function fn) override; - void ShowViewportSearchResults(search::Results::ConstIter begin, - search::Results::ConstIter end, bool clear) override; + using SearchResultsIterT = SearchAPI::Delegate::ResultsIterT; + void ShowViewportSearchResults(SearchResultsIterT begin, SearchResultsIterT end, bool clear) override; void ClearViewportSearchResults() override; // PositionProvider, SearchApi::Delegate and TipsApi::Delegate override. std::optional GetCurrentPosition() const override; @@ -489,11 +489,10 @@ public: size_t ShowSearchResults(search::Results const & results); - using SearchMarkPostProcessing = std::function; - void FillSearchResultsMarks(bool clear, search::Results const & results); - void FillSearchResultsMarks(search::Results::ConstIter begin, search::Results::ConstIter end, - bool clear, SearchMarkPostProcessing fn = nullptr); + using SearchMarkPostProcessing = std::function; + void FillSearchResultsMarks(SearchResultsIterT begin, SearchResultsIterT end, + bool clear, SearchMarkPostProcessing const & fn = {}); /// Calculate distance and direction to POI for the given position. /// @param[in] point POI's position; diff --git a/map/search_api.hpp b/map/search_api.hpp index f2a2745664..0cc59fb8eb 100644 --- a/map/search_api.hpp +++ b/map/search_api.hpp @@ -54,23 +54,18 @@ public: virtual void RunUITask(std::function /* fn */) {} - virtual void ShowViewportSearchResults(search::Results::ConstIter begin, - search::Results::ConstIter end, bool clear) - { - } + using ResultsIterT = search::Results::ConstIter; + virtual void ShowViewportSearchResults(ResultsIterT begin, ResultsIterT end, bool clear) {} virtual void ClearViewportSearchResults() {} - virtual std::optional GetCurrentPosition() const { return {}; }; + virtual std::optional GetCurrentPosition() const { return {}; } - virtual bool ParseSearchQueryCommand(search::SearchParams const & /* params */) - { - return false; - }; + virtual bool ParseSearchQueryCommand(search::SearchParams const & /* params */) { return false; } - virtual m2::PointD GetMinDistanceBetweenResults() const { return {}; }; + virtual m2::PointD GetMinDistanceBetweenResults() const { return {}; } - virtual search::ProductInfo GetProductInfo(search::Result const & result) const { return {}; }; + virtual search::ProductInfo GetProductInfo(search::Result const & result) const { return {}; } }; SearchAPI(DataSource & dataSource, storage::Storage const & storage, diff --git a/qt/draw_widget.cpp b/qt/draw_widget.cpp index 42c9041679..7d12e3d3fa 100644 --- a/qt/draw_widget.cpp +++ b/qt/draw_widget.cpp @@ -533,12 +533,14 @@ void DrawWidget::SubmitRoutingPoint(m2::PointD const & pt) void DrawWidget::SubmitBookmark(m2::PointD const & pt) { - if (!m_framework.GetBookmarkManager().HasBmCategory(m_bookmarksCategoryId)) - m_bookmarksCategoryId = m_framework.GetBookmarkManager().CreateBookmarkCategory("Desktop_bookmarks"); + auto & manager = m_framework.GetBookmarkManager(); + if (!manager.HasBmCategory(m_bookmarksCategoryId)) + m_bookmarksCategoryId = manager.CreateBookmarkCategory("Desktop_bookmarks"); + kml::BookmarkData data; data.m_color.m_predefinedColor = kml::PredefinedColor::Red; data.m_point = m_framework.P3dtoG(pt); - m_framework.GetBookmarkManager().GetEditSession().CreateBookmark(std::move(data), m_bookmarksCategoryId); + manager.GetEditSession().CreateBookmark(std::move(data), m_bookmarksCategoryId); } void DrawWidget::FollowRoute() diff --git a/qt/search_panel.cpp b/qt/search_panel.cpp index 9cd25b5f06..1c007f7d63 100644 --- a/qt/search_panel.cpp +++ b/qt/search_panel.cpp @@ -167,8 +167,7 @@ void SearchPanel::OnEverywhereSearchResults(uint64_t timestamp, search::Results } m_pDrawWidget->GetFramework().FillSearchResultsMarks(m_results.begin() + sizeBeforeUpdate, - m_results.end(), false /* clear */, - Framework::SearchMarkPostProcessing()); + m_results.end(), false /* clear */); if (results.IsEndMarker()) StopBusyIndicator(); diff --git a/search/search_quality/assessment_tool/sample_view.cpp b/search/search_quality/assessment_tool/sample_view.cpp index e3d9f8660f..77cbd9fc71 100644 --- a/search/search_quality/assessment_tool/sample_view.cpp +++ b/search/search_quality/assessment_tool/sample_view.cpp @@ -242,7 +242,7 @@ void SampleView::OnSearchCompleted() m_markAllAsIrrelevant->setEnabled(resultsAvailable); } -void SampleView::AddFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end) +void SampleView::AddFoundResults(SearchResultsIterT begin, SearchResultsIterT end) { for (auto it = begin; it != end; ++it) m_foundResults->Add(*it /* result */); @@ -266,10 +266,9 @@ void SampleView::ShowNonFoundResults(std::vector const & m_nonFoundResultsBox->show(); } -void SampleView::ShowFoundResultsMarks(search::Results::ConstIter begin, search::Results::ConstIter end) +void SampleView::ShowFoundResultsMarks(SearchResultsIterT begin, SearchResultsIterT end) { - m_framework.FillSearchResultsMarks(begin, end, false, - Framework::SearchMarkPostProcessing()); + m_framework.FillSearchResultsMarks(begin, end, false); } void SampleView::ShowNonFoundResultsMarks(std::vector const & results, diff --git a/search/search_quality/assessment_tool/sample_view.hpp b/search/search_quality/assessment_tool/sample_view.hpp index b22d257ce6..9219214a74 100644 --- a/search/search_quality/assessment_tool/sample_view.hpp +++ b/search/search_quality/assessment_tool/sample_view.hpp @@ -33,11 +33,12 @@ public: void OnSearchStarted(); void OnSearchCompleted(); - void AddFoundResults(search::Results::ConstIter begin, search::Results::ConstIter end); + using SearchResultsIterT = search::Results::ConstIter; + void AddFoundResults(SearchResultsIterT begin, SearchResultsIterT end); void ShowNonFoundResults(std::vector const & results, std::vector const & entries); - void ShowFoundResultsMarks(search::Results::ConstIter begin, search::Results::ConstIter end); + void ShowFoundResultsMarks(SearchResultsIterT begin, SearchResultsIterT end); void ShowNonFoundResultsMarks(std::vector const & results, std::vector const & entries); void ClearSearchResultMarks();