Files
comaps/iphone/Maps/UI/Settings/MWMNightModeController.m
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

59 lines
1.9 KiB
Objective-C

#import "MWMNightModeController.h"
#import "MWMSettings.h"
#import "SwiftBridge.h"
@interface MWMNightModeController ()
@property(weak, nonatomic) IBOutlet SettingsTableViewSelectableCell * autoSwitch;
@property(weak, nonatomic) IBOutlet SettingsTableViewSelectableCell * on;
@property(weak, nonatomic) IBOutlet SettingsTableViewSelectableCell * off;
@property(weak, nonatomic) SettingsTableViewSelectableCell * selectedCell;
@end
@implementation MWMNightModeController
- (void)viewDidLoad
{
[super viewDidLoad];
self.title = L(@"pref_appearance_title");
SettingsTableViewSelectableCell * selectedCell = nil;
switch ([MWMSettings theme])
{
case MWMThemeVehicleDay: NSAssert(false, @"Invalid case");
case MWMThemeDay: selectedCell = self.off; break;
case MWMThemeVehicleNight: NSAssert(false, @"Invalid case");
case MWMThemeNight: selectedCell = self.on; break;
case MWMThemeAuto: selectedCell = self.autoSwitch; break;
}
selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
self.selectedCell = selectedCell;
}
- (void)setSelectedCell:(SettingsTableViewSelectableCell *)cell
{
if ([_selectedCell isEqual:cell])
return;
_selectedCell = cell;
if ([cell isEqual:self.on])
[MWMSettings setTheme:MWMThemeNight];
else if ([cell isEqual:self.off])
[MWMSettings setTheme:MWMThemeDay];
else if ([cell isEqual:self.autoSwitch])
[MWMSettings setTheme:MWMThemeAuto];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
SettingsTableViewSelectableCell * selectedCell = self.selectedCell;
selectedCell.accessoryType = UITableViewCellAccessoryNone;
selectedCell = [tableView cellForRowAtIndexPath:indexPath];
selectedCell.accessoryType = UITableViewCellAccessoryCheckmark;
selectedCell.selected = NO;
self.selectedCell = selectedCell;
[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
@end