From 0f4d27dded6225b140a27dfa94008ca3ada5ec1f Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Sun, 14 Oct 2012 03:35:47 +0300 Subject: [PATCH] [ios] Automatically turn BM category visibility ON after adding/removing bookmark or after clicking on "invisible" bookmark --- iphone/Maps/Classes/MapViewController.mm | 10 +++++++++- map/bookmark.cpp | 8 ++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm index 919e65253c..2420f1b4c9 100644 --- a/iphone/Maps/Classes/MapViewController.mm +++ b/iphone/Maps/Classes/MapViewController.mm @@ -173,9 +173,17 @@ if (IsValid(bmAndCat)) { // Already added bookmark was clicked - BookmarkCategory const * cat = f.GetBmCategory(bmAndCat.first); + BookmarkCategory * cat = f.GetBmCategory(bmAndCat.first); if (cat) { + // Automatically reveal hidden bookmark on a click + if (!cat->IsVisible()) + { + // Category visibility will be autosaved after editing bookmark + cat->SetVisible(true); + [self Invalidate]; + } + Bookmark const * bm = cat->GetBookmark(bmAndCat.second); if (bm) { diff --git a/map/bookmark.cpp b/map/bookmark.cpp index b9bc568baf..89f721a086 100644 --- a/map/bookmark.cpp +++ b/map/bookmark.cpp @@ -21,6 +21,10 @@ void BookmarkCategory::AddBookmarkImpl(Bookmark const & bm, double scale) p->SetScale(scale); m_bookmarks.push_back(p); + + // Turn on visibility, so user can see added/replaced bookmark on a map + if (!IsVisible()) + SetVisible(true); } void BookmarkCategory::AddBookmark(Bookmark const & bm, double scale) @@ -42,6 +46,10 @@ void BookmarkCategory::ReplaceBookmark(size_t index, Bookmark const & bm, double delete old; + // Turn on visibility, so user can see added/replaced bookmark on a map + if (!IsVisible()) + SetVisible(true); + VERIFY ( SaveToKMLFile(), () ); } else