From b302acb537bba9e7ca148de9853b450138c2a0df Mon Sep 17 00:00:00 2001 From: Ilya Grechuhin Date: Tue, 10 Jan 2017 12:12:05 +0300 Subject: [PATCH] [MAPSME-3452] [ios] Added large fonts scale support. --- .../Common/Statistics/StatisticsStrings.h | 1 + iphone/Maps/Core/Settings/MWMSettings.h | 3 + iphone/Maps/Core/Settings/MWMSettings.mm | 13 + .../UI/Settings/MWMSettingsViewController.mm | 10 + iphone/Maps/UI/Settings/Settings.storyboard | 227 ++++++++++-------- 5 files changed, 158 insertions(+), 96 deletions(-) diff --git a/iphone/Maps/Common/Statistics/StatisticsStrings.h b/iphone/Maps/Common/Statistics/StatisticsStrings.h index f5314d5748..0313e16850 100644 --- a/iphone/Maps/Common/Statistics/StatisticsStrings.h +++ b/iphone/Maps/Common/Statistics/StatisticsStrings.h @@ -208,6 +208,7 @@ static NSString * const kStatToggleBookmark = @"Toggle bookmark"; static NSString * const kStatToggleCompassCalibration = @"Toggle compass calibration"; static NSString * const kStatToggleCoordinates = @"Toggle coordinates"; 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 kStatToggleVisibility = @"Toggle visibility"; diff --git a/iphone/Maps/Core/Settings/MWMSettings.h b/iphone/Maps/Core/Settings/MWMSettings.h index f2d612c6db..9f81d3ab22 100644 --- a/iphone/Maps/Core/Settings/MWMSettings.h +++ b/iphone/Maps/Core/Settings/MWMSettings.h @@ -32,4 +32,7 @@ + (NSString *)spotlightLocaleLanguageId; + (void)setSpotlightLocaleLanguageId:(NSString *)spotlightLocaleLanguageId; ++ (BOOL)largeFontSize; ++ (void)setLargeFontSize:(BOOL)largeFontSize; + @end diff --git a/iphone/Maps/Core/Settings/MWMSettings.mm b/iphone/Maps/Core/Settings/MWMSettings.mm index bcb055a62b..a1ab127e14 100644 --- a/iphone/Maps/Core/Settings/MWMSettings.mm +++ b/iphone/Maps/Core/Settings/MWMSettings.mm @@ -150,4 +150,17 @@ NSString * const kSpotlightLocaleLanguageId = @"SpotlightLocaleLanguageId"; [ud synchronize]; } ++ (BOOL)largeFontSize +{ + return GetFramework().LoadLargeFontsSize(); +} + ++ (void)setLargeFontSize:(BOOL)largeFontSize +{ + bool const isLargeSize = static_cast(largeFontSize); + auto & f = GetFramework(); + f.SaveLargeFontsSize(isLargeSize); + f.SetLargeFontsSize(isLargeSize); +} + @end diff --git a/iphone/Maps/UI/Settings/MWMSettingsViewController.mm b/iphone/Maps/UI/Settings/MWMSettingsViewController.mm index 873141db22..9f0b810dd9 100644 --- a/iphone/Maps/UI/Settings/MWMSettingsViewController.mm +++ b/iphone/Maps/UI/Settings/MWMSettingsViewController.mm @@ -26,6 +26,7 @@ extern NSString * const kAlohalyticsTapEventKey; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * autoDownloadCell; @property(weak, nonatomic) IBOutlet SettingsTableViewLinkCell * mobileInternetCell; @property(weak, nonatomic) IBOutlet SettingsTableViewLinkCell * recentTrackCell; +@property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * fontScaleCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * compassCalibrationCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * showOffersCell; @property(weak, nonatomic) IBOutlet SettingsTableViewSwitchCell * statisticsCell; @@ -120,6 +121,9 @@ extern NSString * const kAlohalyticsTapEventKey; } [self.recentTrackCell configWithTitle:L(@"pref_track_record_title") info:recentTrack]; + [self.fontScaleCell configWithDelegate:self + title:L(@"big_font") + isOn:[MWMSettings largeFontSize]]; [self.compassCalibrationCell configWithDelegate:self title:L(@"pref_calibration_title") @@ -203,6 +207,12 @@ extern NSString * const kAlohalyticsTapEventKey; withParameters:@{kStatValue : (value ? kStatOn : kStatOff)}]; [MWMSettings setAutoDownloadEnabled:value]; } + else if (cell == self.fontScaleCell) + { + [Statistics logEvent:kStatEventName(kStatSettings, kStatToggleLargeFontSize) + withParameters:@{kStatValue : (value ? kStatOn : kStatOff)}]; + [MWMSettings setLargeFontSize:value]; + } else if (cell == self.compassCalibrationCell) { [Statistics logEvent:kStatEventName(kStatSettings, kStatToggleCompassCalibration) diff --git a/iphone/Maps/UI/Settings/Settings.storyboard b/iphone/Maps/UI/Settings/Settings.storyboard index ddf5124ab1..c510ec5c41 100644 --- a/iphone/Maps/UI/Settings/Settings.storyboard +++ b/iphone/Maps/UI/Settings/Settings.storyboard @@ -21,11 +21,11 @@ - + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - + - - + + - +