From 3a0e657eb4b682e10c1028bd3f8582066d010154 Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Wed, 31 May 2017 13:25:09 +0300 Subject: [PATCH] [cherry] [MAPSME-4619] [ios] Added transliteration setting. --- .../Common/Statistics/StatisticsStrings.h | 1 + iphone/Maps/Core/Settings/MWMSettings.h | 3 ++ iphone/Maps/Core/Settings/MWMSettings.mm | 9 +++++ .../UI/Settings/MWMSettingsViewController.mm | 11 ++++++ iphone/Maps/UI/Storyboard/Settings.storyboard | 39 ++++++++++++++++++- 5 files changed, 61 insertions(+), 2 deletions(-) diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h index a50c755289..02be763513 100644 --- a/iphone/Maps/Common/Statistics/StatisticsStrings.h +++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h @@ -231,6 +231,7 @@ static NSString * const kStatToggleDownload = @"Toggle download"; static NSString * const kStatToggleLargeFontSize = @"Toggle large fonts size"; static NSString * const kStatToggleSection = @"Toggle section"; static NSString * const kStatToggleStatistics = @"Toggle statistics"; +static NSString * const kStatToggleTransliteration = @"Toggle transliteration"; static NSString * const kStatToggleVisibility = @"Toggle visibility"; static NSString * const kStatToggleZoomButtonsVisibility = @"Toggle zoom buttons visibility"; static NSString * const kStatTraffic = @"Traffic"; diff --git a/iphone/Maps/Core/Settings/MWMSettings.h b/iphone/Maps/Core/Settings/MWMSettings.h index 6686f63cfc..5d6ec219b6 100644 --- a/iphone/Maps/Core/Settings/MWMSettings.h +++ b/iphone/Maps/Core/Settings/MWMSettings.h @@ -33,4 +33,7 @@ + (BOOL)largeFontSize; + (void)setLargeFontSize:(BOOL)largeFontSize; ++ (BOOL)transliteration; ++ (void)setTransliteration:(BOOL)transliteration; + @end diff --git a/iphone/Maps/Core/Settings/MWMSettings.mm b/iphone/Maps/Core/Settings/MWMSettings.mm index 5bb81fecf3..afaaf423b4 100644 --- a/iphone/Maps/Core/Settings/MWMSettings.mm +++ b/iphone/Maps/Core/Settings/MWMSettings.mm @@ -172,4 +172,13 @@ NSString * const kSpotlightLocaleLanguageId = @"SpotlightLocaleLanguageId"; f.SetLargeFontsSize(isLargeSize); } ++ (BOOL)transliteration { return GetFramework().LoadTransliteration(); } ++ (void)setTransliteration:(BOOL)transliteration +{ + bool const isTransliteration = static_cast(transliteration); + auto & f = GetFramework(); + f.SaveTransliteration(isTransliteration); + f.AllowTransliteration(isTransliteration); +} + @end diff --git a/iphone/Maps/UI/Settings/MWMSettingsViewController.mm b/iphone/Maps/UI/Settings/MWMSettingsViewController.mm index d047b21d62..19be438518 100644 --- a/iphone/Maps/UI/Settings/MWMSettingsViewController.mm +++ b/iphone/Maps/UI/Settings/MWMSettingsViewController.mm @@ -27,6 +27,7 @@ extern NSString * const kAlohalyticsTapEventKey; @property(weak, nonatomic) IBOutlet SettingsTableViewLinkCell * mobileInternetCell; @property(weak, nonatomic) IBOutlet SettingsTableViewLinkCell * recentTrackCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * fontScaleCell; +@property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * transliterationCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * compassCalibrationCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * showOffersCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * statisticsCell; @@ -126,6 +127,10 @@ extern NSString * const kAlohalyticsTapEventKey; title:L(@"big_font") isOn:[MWMSettings largeFontSize]]; + [self.transliterationCell configWithDelegate:self + title:L(@"transliteration") + isOn:[MWMSettings transliteration]]; + [self.compassCalibrationCell configWithDelegate:self title:L(@"pref_calibration_title") isOn:[MWMSettings compassCalibrationEnabled]]; @@ -220,6 +225,12 @@ extern NSString * const kAlohalyticsTapEventKey; withParameters:@{kStatValue : (value ? kStatOn : kStatOff)}]; [MWMSettings setLargeFontSize:value]; } + else if (cell == self.transliterationCell) + { + [Statistics logEvent:kStatEventName(kStatSettings, kStatToggleTransliteration) + withParameters:@{kStatValue : (value ? kStatOn : kStatOff)}]; + [MWMSettings setTransliteration:value]; + } else if (cell == self.compassCalibrationCell) { [Statistics logEvent:kStatEventName(kStatSettings, kStatToggleCompassCalibration) diff --git a/iphone/Maps/UI/Storyboard/Settings.storyboard b/iphone/Maps/UI/Storyboard/Settings.storyboard index fbe56e5f41..0950516824 100644 --- a/iphone/Maps/UI/Storyboard/Settings.storyboard +++ b/iphone/Maps/UI/Storyboard/Settings.storyboard @@ -1,11 +1,11 @@ - + - + @@ -301,6 +301,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -684,6 +718,7 @@ +