From 990eea1bf1eeedc32ea459d89d0d554efb8e5412 Mon Sep 17 00:00:00 2001 From: Dmitry Yunitsky Date: Wed, 4 May 2016 13:57:55 +0300 Subject: [PATCH] [editor] Clear selected feature on rollback. --- map/framework.cpp | 13 +++++++++++++ map/framework.hpp | 1 + 2 files changed, 14 insertions(+) diff --git a/map/framework.cpp b/map/framework.cpp index fdbcd7af5d..643b42ba0b 100644 --- a/map/framework.cpp +++ b/map/framework.cpp @@ -2796,9 +2796,22 @@ void Framework::DeleteFeature(FeatureID const & fid) const { // TODO(AlexZ): Use FeatureID in the editor interface. osm::Editor::Instance().DeleteFeature(*GetFeatureByID(fid)); + if (m_selectedFeature == fid) + m_selectedFeature = FeatureID(); } osm::NewFeatureCategories Framework::GetEditorCategories() const { return osm::Editor::Instance().GetNewFeatureCategories(); } + +bool Framework::RollBackChanges(FeatureID const & fid) +{ + if (m_selectedFeature == fid) + m_selectedFeature = FeatureID(); + if (osm::Editor::Instance().GetFeatureStatus(fid) == osm::Editor::FeatureStatus::Created) + DeactivateMapSelection(false); + else + UpdatePlacePageInfoForCurrentSelection(); + return osm::Editor::Instance().RollBackChanges(fid); +} diff --git a/map/framework.hpp b/map/framework.hpp index 9cb23b34d5..52b51e423b 100644 --- a/map/framework.hpp +++ b/map/framework.hpp @@ -647,6 +647,7 @@ public: osm::Editor::SaveResult SaveEditedMapObject(osm::EditableMapObject emo); void DeleteFeature(FeatureID const & fid) const; osm::NewFeatureCategories GetEditorCategories() const; + bool RollBackChanges(FeatureID const & fid); //@} private: