diff options
author | Dmitry Yunitsky <dmitry.yunitsky@gmail.com> | 2016-04-26 13:54:56 +0300 |
---|---|---|
committer | Dmitry Yunitsky <dmitry.yunitsky@gmail.com> | 2016-04-26 13:54:56 +0300 |
commit | ae6f483efd9323cdbb4ce7b65a3e49ed5d9d8615 (patch) | |
tree | a56985979729f5677b9001d7bde1ec5d29de47e3 /indexer/osm_editor.cpp | |
parent | ae9c956344505acea551c848d8a8486806be6553 (diff) | |
parent | a91145f3c65f0dd8731df34116fee470f9c7b374 (diff) |
Merge pull request #2919 from mgsergio/feature-upload-status
[Editor] RollBackChanges; Get upload status.
Diffstat (limited to 'indexer/osm_editor.cpp')
-rw-r--r-- | indexer/osm_editor.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/indexer/osm_editor.cpp b/indexer/osm_editor.cpp index cf1e32cc1e..6c10850a1a 100644 --- a/indexer/osm_editor.cpp +++ b/indexer/osm_editor.cpp @@ -329,6 +329,11 @@ Editor::FeatureStatus Editor::GetFeatureStatus(MwmSet::MwmId const & mwmId, uint return featureInfo->m_status; } +bool Editor::IsFeatureUploaded(MwmSet::MwmId const & mwmId, uint32_t index) const +{ + return GetFeatureTypeInfo(mwmId, index)->m_uploadStatus == kUploaded; +} + void Editor::DeleteFeature(FeatureType const & feature) { FeatureID const & fid = feature.GetID(); @@ -456,6 +461,15 @@ Editor::SaveResult Editor::SaveEditedFeature(EditableMapObject const & emo) return savedSuccessfully ? SavedSuccessfully : NoFreeSpaceError; } +bool Editor::RollBackChanges(FeatureID const & fid) +{ + if (IsFeatureUploaded(fid.m_mwmId, fid.m_index)) + return false; + + RemoveFeatureFromStorageIfExists(fid.m_mwmId, fid.m_index); + return true; +} + void Editor::ForEachFeatureInMwmRectAndScale(MwmSet::MwmId const & id, TFeatureIDFunctor const & f, m2::RectD const & rect, |