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
diff options
context:
space:
mode:
Diffstat (limited to 'iphone/Maps/Classes/MapViewController.mm')
-rw-r--r--iphone/Maps/Classes/MapViewController.mm52
1 files changed, 21 insertions, 31 deletions
diff --git a/iphone/Maps/Classes/MapViewController.mm b/iphone/Maps/Classes/MapViewController.mm
index 230b555828..212288d2dc 100644
--- a/iphone/Maps/Classes/MapViewController.mm
+++ b/iphone/Maps/Classes/MapViewController.mm
@@ -102,8 +102,8 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
@end
@interface MapViewController ()<MTRGNativeAppwallAdDelegate, MWMFrameworkRouteBuilderObserver,
- MWMFrameworkMyPositionObserver, MWMFrameworkUserMarkObserver,
- MWMFrameworkDrapeObserver, MWMFrameworkStorageObserver>
+ MWMFrameworkMyPositionObserver, MWMFrameworkDrapeObserver,
+ MWMFrameworkStorageObserver>
@property (nonatomic, readwrite) MWMMapViewControlsManager * controlsManager;
@property (nonatomic) MWMBottomMenuState menuRestoreState;
@@ -203,9 +203,19 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
[self.controlsManager dismissPlacePage];
}
-- (void)onMyPositionClicked:(id)sender
+- (void)onMapObjectDeselected:(bool)switchFullScreenMode
{
- GetFramework().SwitchMyPositionNextMode();
+ [self dismissPlacePage];
+
+ auto & f = GetFramework();
+ if (switchFullScreenMode && self.controlsManager.searchHidden && !f.IsRouteNavigable())
+ self.controlsManager.hidden = !self.controlsManager.hidden;
+}
+
+- (void)onMapObjectSelected:(place_page::Info const &)info
+{
+ self.controlsManager.hidden = NO;
+ [self.controlsManager showPlacePage:info];
}
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController
@@ -365,8 +375,6 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
return;
[[NSNotificationCenter defaultCenter] removeObserver:self name:UIDeviceOrientationDidChangeNotification object:nil];
- self.skipPlacePageDismissOnViewDisappear = NO;
- [self.controlsManager reloadPlacePage];
self.controlsManager.menuState = self.menuRestoreState;
[self refreshAd];
@@ -426,8 +434,6 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
{
[super viewWillDisappear:animated];
self.menuRestoreState = self.controlsManager.menuState;
- if (!self.skipPlacePageDismissOnViewDisappear)
- [self dismissPlacePage];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
}
@@ -485,6 +491,10 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
- (void)initialize
{
+ Framework & f = GetFramework();
+
+ f.SetMapSelectionListeners([self](place_page::Info const & info) { [self onMapObjectSelected:info]; },
+ [self](bool switchFullScreen){ [self onMapObjectDeselected:switchFullScreen]; });
m_predictor = [[LocationPredictor alloc] initWithObserver:self];
self.forceRoutingStateChange = ForceRoutingStateChangeNone;
self.userTouchesAction = UserTouchesActionNone;
@@ -559,7 +569,7 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
{
case routing::IRouter::ResultCode::NoError:
{
- GetFramework().ActivateUserMark(nullptr, true);
+ GetFramework().DeactivateMapSelection(true);
if (self.forceRoutingStateChange == ForceRoutingStateChangeStartFollowing)
[self.controlsManager routingNavigation];
else
@@ -615,25 +625,6 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
}
}
-#pragma mark - MWMFrameworkUserMarkObserver
-
-- (void)processUserMarkEvent:(UserMark const *)mark
-{
- if (mark == nullptr)
- {
- [self dismissPlacePage];
-
- auto & f = GetFramework();
- if (!f.HasActiveUserMark() && self.controlsManager.searchHidden && !f.IsRouteNavigable())
- self.controlsManager.hidden = !self.controlsManager.hidden;
- }
- else
- {
- self.controlsManager.hidden = NO;
- [self.controlsManager showPlacePage];
- }
-}
-
#pragma mark - MWMFrameworkStorageObserver
- (void)processCountryEvent:(TCountryId const &)countryId
@@ -784,7 +775,7 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
{
Framework & f = GetFramework();
if (self.popoverVC)
- f.ActivateUserMark(nullptr, true);
+ f.DeactivateMapSelection(true);
CGFloat const sf = self.view.contentScaleFactor;
@@ -822,10 +813,9 @@ NSString * const kEditorSegue = @"Map2EditorSegue";
{
if ([segue.identifier isEqualToString:kEditorSegue])
{
- self.skipPlacePageDismissOnViewDisappear = YES;
UINavigationController * dvc = segue.destinationViewController;
MWMEditorViewController * editorVC = (MWMEditorViewController *)[dvc topViewController];
- editorVC.entity = sender;
+ [editorVC setFeatureToEdit:((MWMPlacePageEntity *)sender).featureID];
}
else if ([segue.identifier isEqualToString:kAuthorizationSegue])
{