Commit ed685987 authored by Felix Paul Kühne's avatar Felix Paul Kühne

Switch settings implementation to a saner approach, so the user can set most...

Switch settings implementation to a saner approach, so the user can set most options both in System Settings and in-app (using InAppSettingsKit)

TODO: re-add l10n support, fix in-app setting of subtitles text encoding (only supported in System Settings right now)
parent ec1817bb
......@@ -24,7 +24,7 @@
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSDictionary *appDefaults = @{kVLCSettingPasscodeKey : @"", kVLCSettingPasscodeOnKey : @(NO), kVLCSettingContinueAudioInBackgroundKey : @(YES), kVLCSettingStretchAudio : kVLCSettingStretchAudioDefaultValue, kVLCSettingVerboseOutput : kVLCSettingVerboseOutputDefaultValue, kVLCSettingTextEncoding : kVLCSettingTextEncodingDefaultValue};
NSDictionary *appDefaults = @{kVLCSettingPasscodeKey : @"", kVLCSettingPasscodeOnKey : @(NO), kVLCSettingContinueAudioInBackgroundKey : @(YES), kVLCSettingStretchAudio : @(NO), kVLCSettingVerboseOutput : @(NO), kVLCSettingTextEncoding : kVLCSettingTextEncodingDefaultValue};
[defaults registerDefaults:appDefaults];
}
......
......@@ -12,8 +12,10 @@
#define kVLCSettingPasscodeOnKey @"PasscodeProtection"
#define kVLCSettingContinueAudioInBackgroundKey @"BackgroundAudioPlayback"
#define kVLCSettingStretchAudio @"StretchAudio"
#define kVLCSettingStretchAudioDefaultValue @"--no-audio-time-stretch"
#define kVLCSettingStretchAudioOnValue @"--audio-time-stretch"
#define kVLCSettingStretchAudioOffValue @"--no-audio-time-stretch"
#define kVLCSettingVerboseOutput @"VerboseLogs"
#define kVLCSettingVerboseOutputDefaultValue @"--verbose=3"
#define kVLCSettingVerboseOutputOnValue @"--verbose=3"
#define kVLCSettingVerboseOutputOffValue @"--verbose=0"
#define kVLCSettingTextEncoding @"subsdec-encoding"
#define kVLCSettingTextEncodingDefaultValue @""
\ No newline at end of file
#define kVLCSettingTextEncodingDefaultValue @"Windows-1252"
\ No newline at end of file
......@@ -83,9 +83,9 @@
- (void)viewWillAppear:(BOOL)animated
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *options = @[[defaults objectForKey:kVLCSettingVerboseOutput],
[defaults objectForKey:kVLCSettingStretchAudio],
[defaults objectForKey:kVLCSettingTextEncoding]];
NSArray *options = @[[[defaults objectForKey:kVLCSettingVerboseOutput] intValue] ? kVLCSettingVerboseOutputOnValue : kVLCSettingVerboseOutputOffValue,
[[defaults objectForKey:kVLCSettingStretchAudio] intValue] ? kVLCSettingStretchAudioOnValue : kVLCSettingStretchAudioOffValue,
[NSString stringWithFormat:@"--subsdec-encoding=%@",[defaults objectForKey:kVLCSettingTextEncoding]]];
_mediaPlayer = [[VLCMediaPlayer alloc] initWithOptions:options];
[_mediaPlayer setDelegate:self];
......
......@@ -6,27 +6,15 @@
// Copyright (c) 2013 VideoLAN. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "IASKAppSettingsViewController.h"
#import "PAPasscodeViewController.h"
@interface VLCSettingsViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>
@interface VLCSettingsViewController : UIViewController <IASKSettingsDelegate, PAPasscodeViewControllerDelegate>
@property (nonatomic, strong) IBOutlet UIToolbar *topToolbar;
@property (nonatomic, strong) IBOutlet UIBarButtonItem *dismissButton;
@property (nonatomic, strong) IBOutlet UISwitch *passcodeLockSwitch;
@property (nonatomic, strong) IBOutlet UILabel *passcodeLockLabel;
@property (nonatomic, strong) IBOutlet UISwitch *audioPlaybackInBackgroundSwitch;
@property (nonatomic, strong) IBOutlet UILabel *audioPlaybackInBackgroundLabel;
@property (nonatomic, strong) IBOutlet UISwitch *audioStretchingSwitch;
@property (nonatomic, strong) IBOutlet UILabel *audioStretchingLabel;
@property (nonatomic, strong) IBOutlet UISwitch *debugOutputSwitch;
@property (nonatomic, strong) IBOutlet UILabel *debugOutputLabel;
@property (nonatomic, strong) IBOutlet UIPickerView *textEncodingPicker;
@property (nonatomic, strong) IBOutlet UILabel *textEncodingLabel;
- (IBAction)toggleSetting:(id)sender;
@property (nonatomic, retain) IBOutlet IASKAppSettingsViewController *appSettingsViewController;
- (IBAction)dismiss:(id)sender;
......
......@@ -10,14 +10,7 @@
#import "VLCPlaylistViewController.h"
#import "PAPasscodeViewController.h"
#import "VLCAppDelegate.h"
@interface VLCSettingsViewController () <PAPasscodeViewControllerDelegate>
{
NSArray *_userFacingTextEncodingNames;
NSArray *_textEncodingNames;
}
@end
#import "IASKSettingsReader.h"
@implementation VLCSettingsViewController
......@@ -27,67 +20,42 @@
return self;
}
- (void)viewDidLoad
- (void)dealloc
{
[super viewDidLoad];
self.dismissButton.title = NSLocalizedString(@"BUTTON_DONE", @"");
self.passcodeLockLabel.text = NSLocalizedString(@"PREF_PASSCODE", @"");
self.audioPlaybackInBackgroundLabel.text = NSLocalizedString(@"PREF_AUDIOBACKGROUND", @"");
self.audioStretchingLabel.text = NSLocalizedString(@"PREF_AUDIOSTRETCH", @"");
self.debugOutputLabel.text = NSLocalizedString(@"PREF_VERBOSEDEBUG", @"");
[[NSNotificationCenter defaultCenter] removeObserver:self];
}
- (void)viewWillDisappear:(BOOL)animated
{
/* save some memory */
_userFacingTextEncodingNames = nil;
_textEncodingNames = nil;
- (IASKAppSettingsViewController*)appSettingsViewController {
if (!_appSettingsViewController) {
_appSettingsViewController = [[IASKAppSettingsViewController alloc] init];
_appSettingsViewController.delegate = self;
}
return _appSettingsViewController;
}
- (void)viewWillAppear:(BOOL)animated
- (void)viewDidLoad
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
self.passcodeLockSwitch.on = [[defaults objectForKey:kVLCSettingPasscodeOnKey] boolValue];
self.audioPlaybackInBackgroundSwitch.on = [[defaults objectForKey:kVLCSettingContinueAudioInBackgroundKey] boolValue];
self.audioStretchingSwitch.on = ![[defaults objectForKey:kVLCSettingStretchAudio] isEqualToString:kVLCSettingStretchAudioDefaultValue];
self.debugOutputSwitch.on = [[defaults objectForKey:kVLCSettingVerboseOutput] isEqualToString:kVLCSettingVerboseOutputDefaultValue];
self.dismissButton.title = NSLocalizedString(@"BUTTON_DONE", @"");
_userFacingTextEncodingNames = @[@"Default (Windows-1252)", @"Universal (UTF-8)", @"Universal (UTF-16)", @"Universal (big endian UTF-16)", @"Universal (little endian UTF-16)", @"Universal, Chinese (GB18030)", @"Western European (Latin-9)", @"Western European (Windows-1252)", @"Western European (IBM 00850)", @"Eastern European (Latin-2)", @"Eastern European (Windows-1250)", @"Esperanto (Latin-3)", @"Nordic (Latin-6)", @"Cyrillic (Windows-1251)", @"Russian (KOI8-R)", @"Ukrainian (KOI8-U)", @"Arabic (ISO 8859-6)", @"Arabic (Windows-1256)", @"Greek (ISO 8859-7)", @"Greek (Windows-1253)", @"Hebrew (ISO 8859-8)", @"Hebrew (Windows-1255)", @"Turkish (ISO 8859-9)", @"Turkish (Windows-1254)", @"Thai (TIS 620-2533/ISO 8859-11)", @"Thai (Windows-874)", @"Baltic (Latin-7)", @"Baltic (Windows-1257)", @"Celtic (Latin-8)", @"South-Eastern European (Latin-10)", @"Simplified Chinese (ISO-2022-CN-EXT)", @"Simplified Chinese Unix (EUC-CN)", @"Japanese (7-bits JIS/ISO-2022-JP-2)", @"Japanese Unix (EUC-JP)", @"Japanese (Shift JIS)", @"Korean (EUC-KR/CP949)", @"Korean (ISO-2022-KR)", @"Traditional Chinese (Big5)", @"Traditional Chinese Unix (EUC-TW)", @"Hong-Kong Supplementary (HKSCS)", @"Vietnamese (VISCII)", @"Vietnamese (Windows-1258)"];
_textEncodingNames = @[@"", @"UTF-8", @"UTF-16", @"UTF-16BE", @"UTF-16LE", @"GB18030", @"ISO-8859-15", @"Windows-1252", @"IBM850", @"ISO-8859-2", @"Windows-1250", @"ISO-8859-3", @"ISO-8859-10", @"Windows-1251", @"KOI8-R", @"KOI8-U", @"ISO-8859-6", @"Windows-1256", @"ISO-8859-7", @"Windows-1253", @"ISO-8859-8", @"Windows-1255", @"ISO-8859-9", @"Windows-1254", @"ISO-8859-11", @"Windows-874", @"ISO-8859-13", @"Windows-1257", @"ISO-8859-14", @"ISO-8859-16", @"ISO-2022-CN-EXT", @"EUC-CN", @"ISO-2022-JP-2", @"EUC-JP", @"Shift_JIS", @"CP949", @"ISO-2022-KR", @"Big5", @"ISO-2022-TW", @"Big5-HKSCS", @"VISCII", @"Windows-1258"];
[self.textEncodingPicker reloadAllComponents];
[self.textEncodingPicker selectRow:[_textEncodingNames indexOfObject:[defaults objectForKey:kVLCSettingTextEncoding]] inComponent:0 animated:NO];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(settingDidChange:) name:kIASKAppSettingChanged object:nil];
[super viewWillAppear:animated];
CGRect frame = self.view.frame;
CGFloat toolbarHeight = self.topToolbar.frame.size.height;
frame.size.height = frame.size.height - toolbarHeight;
frame.origin.y = frame.origin.y + toolbarHeight;
self.appSettingsViewController.tableView.frame = frame;
[self.view addSubview:self.appSettingsViewController.tableView];
[super viewDidLoad];
}
- (IBAction)toggleSetting:(id)sender
- (void)viewWillDisappear:(BOOL)animated
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (sender == self.passcodeLockSwitch) {
if (self.passcodeLockSwitch.on) {
PAPasscodeViewController *passcodeLockController = [[PAPasscodeViewController alloc] initForAction:PasscodeActionSet];
passcodeLockController.delegate = self;
[self presentModalViewController:passcodeLockController animated:YES];
} else {
[defaults setObject:@(NO) forKey:kVLCSettingPasscodeOnKey];
}
} else if (sender == self.audioPlaybackInBackgroundSwitch) {
[defaults setObject:@(self.audioPlaybackInBackgroundSwitch.on) forKey:kVLCSettingContinueAudioInBackgroundKey];
} else if (sender == self.audioStretchingSwitch) {
if (self.audioStretchingSwitch.on)
[defaults setObject:@"--audio-time-stretch" forKey:kVLCSettingStretchAudio];
else
[defaults setObject:kVLCSettingStretchAudioDefaultValue forKey:kVLCSettingStretchAudio];
} else if (sender == self.debugOutputSwitch) {
if (self.debugOutputSwitch.on)
[defaults setObject:kVLCSettingVerboseOutputDefaultValue forKey:kVLCSettingVerboseOutput];
else
[defaults setObject:@"--verbose=0" forKey:kVLCSettingVerboseOutput];
}
}
[defaults synchronize];
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
}
- (IBAction)dismiss:(id)sender
......@@ -96,35 +64,33 @@
[appDelegate.playlistViewController.navigationController dismissModalViewControllerAnimated:YES];
}
#pragma mark - text encoding picker view delegate
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:_textEncodingNames[row] forKey:kVLCSettingTextEncoding];
[defaults synchronize];
}
#pragma mark - IASKAppSettingsViewController delegate
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
- (void)settingsViewControllerDidEnd:(IASKAppSettingsViewController*)sender
{
return _userFacingTextEncodingNames[row];
// adapt app behavior if needed
}
#pragma mark - text encoding picker view data source
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
- (void)settingDidChange:(NSNotification*)notification
{
return 1;
}
if ([notification.object isEqual:kVLCSettingPasscodeOnKey]) {
BOOL passcodeOn = (BOOL)[[notification.userInfo objectForKey:@"PasscodeProtection"] intValue];
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _textEncodingNames.count;
if (passcodeOn) {
PAPasscodeViewController *passcodeLockController = [[PAPasscodeViewController alloc] initForAction:PasscodeActionSet];
passcodeLockController.delegate = self;
[self presentModalViewController:passcodeLockController animated:YES];
}
}
}
#pragma mark - PAPasscode delegate
- (void)PAPasscodeViewControllerDidCancel:(PAPasscodeViewController *)controller
{
self.passcodeLockSwitch.on = NO;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@(NO) forKey:kVLCSettingPasscodeOnKey];
[defaults synchronize];
[controller dismissModalViewControllerAnimated:YES];
}
......@@ -136,7 +102,7 @@
[defaults synchronize];
VLCAppDelegate* appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.nextPasscodeCheckDate = [NSDate dateWithTimeIntervalSinceNow:300];
[controller dismissModalViewControllerAnimated:YES];
}
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Generic</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>NO</string>
<key>Key</key>
<string>PasscodeProtection</string>
<key>Title</key>
<string>Passcode Lock</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Video</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Titles</key>
<array>
<string>Universal (UTF-8)</string>
<string>Universal (UTF-16)</string>
<string>Universal (big endian UTF-16)</string>
<string>Universal (little endian UTF-16)</string>
<string>Universal Chinese (GB18030)</string>
<string>Western European (Latin-9)</string>
<string>Western European (Windows-1252)</string>
<string>Western European (IBM 00850)</string>
<string>Eastern European (Latin-2)</string>
<string>Eastern European (Windows-1250)</string>
<string>Esperanto (Latin-3)</string>
<string>Nordic (Latin-6)</string>
<string>Cyrillic (Windows-1251)</string>
<string>Russian (KOI8-R)</string>
<string>Ukrainian (KOI8-U)</string>
<string>Arabic (ISO 8859-6)</string>
<string>Arabic (Windows-1256)</string>
<string>Greek (ISO 8859-7)</string>
<string>Greek (Windows-1253)</string>
<string>Hebrew (ISO 8859-8)</string>
<string>Hebrew (Windows-1255)</string>
<string>Turkish (ISO 8859-9)</string>
<string>Turkish (Windows-1254)</string>
<string>Thai (TIS 620-2533/ISO 8859-11)</string>
<string>Thai (Windows-874)</string>
<string>Baltic (Latin-7)</string>
<string>Baltic (Windows-1257)</string>
<string>Celtic (Latin-8)</string>
<string>South-Eastern European (Latin-10)</string>
<string>Simplified Chinese (ISO-2022-CN-EXT)</string>
<string>Simplified Chinese Unix (EUC-CN)</string>
<string>Japanese (7-bits JIS/ISO-2022-JP-2)</string>
<string>Japanese Unix (EUC-JP)</string>
<string>Japanese (Shift JIS)</string>
<string>Korean (EUC-KR/CP949)</string>
<string>Korean (ISO-2022-KR)</string>
<string>Traditional Chinese (Big5)</string>
<string>Traditional Chinese Unix (EUC-TW)</string>
<string>Hong-Kong Supplementary (HKSCS)</string>
<string>Vietnamese (VISCII)</string>
<string>Vietnamese (Windows-1258)</string>
</array>
<key>Values</key>
<array>
<string>UTF-8</string>
<string>UTF-16</string>
<string>UTF-16BE</string>
<string>UTF-16LE</string>
<string>GB18030</string>
<string>ISO-8859-15</string>
<string>Windows-1252</string>
<string>IBM850</string>
<string>ISO-8859-2</string>
<string>Windows-1250</string>
<string>ISO-8859-3</string>
<string>ISO-8859-10</string>
<string>Windows-1251</string>
<string>KOI8-R</string>
<string>KOI8-U</string>
<string>ISO-8859-6</string>
<string>Windows-1256</string>
<string>ISO-8859-7</string>
<string>Windows-1253</string>
<string>ISO-8859-8</string>
<string>Windows-1255</string>
<string>ISO-8859-9</string>
<string>Windows-1254</string>
<string>ISO-8859-11</string>
<string>Windows-874</string>
<string>ISO-8859-13</string>
<string>Windows-1257</string>
<string>ISO-8859-14</string>
<string>ISO-8859-16</string>
<string>ISO-2022-CN-EXT</string>
<string>EUC-CN</string>
<string>ISO-2022-JP-2</string>
<string>EUC-JP</string>
<string>Shift_JIS</string>
<string>CP949</string>
<string>ISO-2022-KR</string>
<string>Big5</string>
<string>ISO-2022-TW</string>
<string>Big5-HKSCS</string>
<string>VISCII</string>
<string>Windows-1258</string>
</array>
<key>Title</key>
<string>Subtitles Text Encoding</string>
<key>Key</key>
<string>subsdec-encoding</string>
<key>DefaultValue</key>
<string>Windows-1252</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Audio</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Time-stretching audio</string>
<key>Key</key>
<string>StretchAudio</string>
<key>DefaultValue</key>
<false/>
</dict>
<dict>
<key>DefaultValue</key>
<false/>
<key>Key</key>
<string>BackgroundAudioPlayback</string>
<key>Title</key>
<string>Audio playback in background</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Advanced</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Verbose debug logs</string>
<key>Key</key>
<string>VerboseLogs</string>
<key>DefaultValue</key>
<false/>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Video</string>
</dict>
<dict>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Titles</key>
<array>
<string>Universal (UTF-8)</string>
<string>Universal (UTF-16)</string>
<string>Universal (big endian UTF-16)</string>
<string>Universal (little endian UTF-16)</string>
<string>Universal Chinese (GB18030)</string>
<string>Western European (Latin-9)</string>
<string>Western European (Windows-1252)</string>
<string>Western European (IBM 00850)</string>
<string>Eastern European (Latin-2)</string>
<string>Eastern European (Windows-1250)</string>
<string>Esperanto (Latin-3)</string>
<string>Nordic (Latin-6)</string>
<string>Cyrillic (Windows-1251)</string>
<string>Russian (KOI8-R)</string>
<string>Ukrainian (KOI8-U)</string>
<string>Arabic (ISO 8859-6)</string>
<string>Arabic (Windows-1256)</string>
<string>Greek (ISO 8859-7)</string>
<string>Greek (Windows-1253)</string>
<string>Hebrew (ISO 8859-8)</string>
<string>Hebrew (Windows-1255)</string>
<string>Turkish (ISO 8859-9)</string>
<string>Turkish (Windows-1254)</string>
<string>Thai (TIS 620-2533/ISO 8859-11)</string>
<string>Thai (Windows-874)</string>
<string>Baltic (Latin-7)</string>
<string>Baltic (Windows-1257)</string>
<string>Celtic (Latin-8)</string>
<string>South-Eastern European (Latin-10)</string>
<string>Simplified Chinese (ISO-2022-CN-EXT)</string>
<string>Simplified Chinese Unix (EUC-CN)</string>
<string>Japanese (7-bits JIS/ISO-2022-JP-2)</string>
<string>Japanese Unix (EUC-JP)</string>
<string>Japanese (Shift JIS)</string>
<string>Korean (EUC-KR/CP949)</string>
<string>Korean (ISO-2022-KR)</string>
<string>Traditional Chinese (Big5)</string>
<string>Traditional Chinese Unix (EUC-TW)</string>
<string>Hong-Kong Supplementary (HKSCS)</string>
<string>Vietnamese (VISCII)</string>
<string>Vietnamese (Windows-1258)</string>
</array>
<key>Values</key>
<array>
<string>UTF-8</string>
<string>UTF-16</string>
<string>UTF-16BE</string>
<string>UTF-16LE</string>
<string>GB18030</string>
<string>ISO-8859-15</string>
<string>Windows-1252</string>
<string>IBM850</string>
<string>ISO-8859-2</string>
<string>Windows-1250</string>
<string>ISO-8859-3</string>
<string>ISO-8859-10</string>
<string>Windows-1251</string>
<string>KOI8-R</string>
<string>KOI8-U</string>
<string>ISO-8859-6</string>
<string>Windows-1256</string>
<string>ISO-8859-7</string>
<string>Windows-1253</string>
<string>ISO-8859-8</string>
<string>Windows-1255</string>
<string>ISO-8859-9</string>
<string>Windows-1254</string>
<string>ISO-8859-11</string>
<string>Windows-874</string>
<string>ISO-8859-13</string>
<string>Windows-1257</string>
<string>ISO-8859-14</string>
<string>ISO-8859-16</string>
<string>ISO-2022-CN-EXT</string>
<string>EUC-CN</string>
<string>ISO-2022-JP-2</string>
<string>EUC-JP</string>
<string>Shift_JIS</string>
<string>CP949</string>
<string>ISO-2022-KR</string>
<string>Big5</string>
<string>ISO-2022-TW</string>
<string>Big5-HKSCS</string>
<string>VISCII</string>
<string>Windows-1258</string>
</array>
<key>Title</key>
<string>Subtitles Text Encoding</string>
<key>Key</key>
<string>subsdec-encoding</string>
<key>DefaultValue</key>
<string>Windows-1252</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Audio</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Time-stretching audio</string>
<key>Key</key>
<string>StretchAudio</string>
<key>DefaultValue</key>
<false/>
</dict>
<dict>
<key>DefaultValue</key>
<false/>
<key>Key</key>
<string>BackgroundAudioPlayback</string>
<key>Title</key>
<string>Audio playback in background</string>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
</dict>
<dict>
<key>Type</key>
<string>PSGroupSpecifier</string>
<key>Title</key>
<string>Advanced</string>
</dict>
<dict>
<key>Type</key>
<string>PSToggleSwitchSpecifier</string>
<key>Title</key>
<string>Verbose debug logs</string>
<key>Key</key>
<string>VerboseLogs</string>
<key>DefaultValue</key>
<false/>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
B/* A single strings file, whose title is specified in your preferences schema. The strings files provide the localized content to display to the user for each of your preferences. */
......@@ -13,9 +13,8 @@
<array key="IBDocument.IntegratedClassDependencies">
<string>IBProxyObject</string>
<string>IBUIBarButtonItem</string>
<string>IBUILabel</string>
<string>IBUIPickerView</string>
<string>IBUISwitch</string>
<string>IBUITableView</string>
<string>IBUITableViewController</string>
<string>IBUIToolbar</string>
<string>IBUIView</string>
</array>
......@@ -35,6 +34,57 @@
<string key="IBProxiedObjectIdentifier">IBFirstResponder</string>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
</object>
<object class="IBUITableViewController" id="321639310">
<object class="IBUITableView" key="IBUIView" id="796830225">
<reference key="NSNextResponder"/>
<int key="NSvFlags">274</int>
<array class="NSMutableArray" key="NSSubviews"/>
<string key="NSFrame">{{0, 20}, {320, 548}}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
<string key="NSReuseIdentifierKey">_NS:10</string>
<object class="NSColor" key="IBUIBackgroundColor">
<int key="NSColorSpace">1</int>
<bytes key="NSRGB">MCAwIDAgMAA</bytes>
<string key="IBUIColorCocoaTouchKeyPath">groupTableViewBackgroundColor</string>
</object>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIAlwaysBounceVertical">YES</bool>
<int key="IBUIStyle">1</int>
<int key="IBUISectionIndexMinimumDisplayRowCount">0</int>
<bool key="IBUIShowsSelectionImmediatelyOnTouchBegin">YES</bool>
<float key="IBUIRowHeight">44</float>
<float key="IBUISectionHeaderHeight">10</float>
<float key="IBUISectionFooterHeight">10</float>
</object>
<object class="IBUISimulatedStatusBarMetrics" key="IBUISimulatedStatusBarMetrics"/>
<object class="IBUISimulatedOrientationMetrics" key="IBUISimulatedOrientationMetrics">
<int key="IBUIInterfaceOrientation">1</int>
<int key="interfaceOrientation">1</int>
</object>
<object class="IBUIScreenMetrics" key="IBUISimulatedDestinationMetrics">
<string key="IBUISimulatedSizeMetricsClass">IBUIScreenMetrics</string>
<object class="NSMutableDictionary" key="IBUINormalizedOrientationToSizeMap">
<bool key="EncodedWithXMLCoder">YES</bool>
<array key="dict.sortedKeys">
<integer value="1"/>
<integer value="3"/>
</array>
<array key="dict.values">
<string>{320, 568}</string>
<string>{568, 320}</string>
</array>
</object>
<string key="IBUITargetRuntime">IBCocoaTouchFramework</string>
<string key="IBUIDisplayName">Retina 4 Full Screen</string>
<int key="IBUIType">2</int>
</object>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<bool key="IBUIHorizontal">NO</bool>
</object>
<object class="IBUIView" id="1058981638">
<reference key="NSNextResponder"/>
<int key="NSvFlags">301</int>
......@@ -45,7 +95,7 @@
<string key="NSFrameSize">{540, 44}</string>
<reference key="NSSuperview" ref="1058981638"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="890162779"/>
<reference key="NSNextKeyView"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClearsContextBeforeDrawing">NO</bool>
......@@ -69,182 +119,6 @@
<string key="IBUIColorCocoaTouchKeyPath">darkTextColor</string>
</object>
</object>
<object class="IBUILabel" id="890162779">
<reference key="NSNextResponder" ref="1058981638"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 69}, {415, 21}}</string>
<reference key="NSSuperview" ref="1058981638"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="268284080"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<string key="IBUIText">Passcode Lock</string>
<object class="NSColor" key="IBUITextColor" id="143882257">
<int key="NSColorSpace">3</int>
<bytes key="NSWhite">MC42NjY2NjY2NjY3AA</bytes>
</object>
<nil key="IBUIHighlightedColor"/>
<int key="IBUIBaselineAdjustment">0</int>
<object class="IBUIFontDescription" key="IBUIFontDescription" id="732816504">
<int key="type">1</int>
<double key="pointSize">17</double>
</object>
<object class="NSFont" key="IBUIFont" id="15938098">
<string key="NSName">Helvetica</string>
<double key="NSSize">17</double>
<int key="NSfFlags">16</int>
</object>
<bool key="IBUIAdjustsFontSizeToFit">NO</bool>
</object>
<object class="IBUISwitch" id="268284080">
<reference key="NSNextResponder" ref="1058981638"/>
<int key="NSvFlags">289</int>
<string key="NSFrame">{{428, 66}, {94, 27}}</string>
<reference key="NSSuperview" ref="1058981638"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="232517451"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>
<int key="IBUIContentHorizontalAlignment">0</int>
<int key="IBUIContentVerticalAlignment">0</int>
</object>
<object class="IBUILabel" id="796381961">
<reference key="NSNextResponder" ref="1058981638"/>
<int key="NSvFlags">292</int>
<string key="NSFrame">{{20, 154}, {415, 21}}</string>
<reference key="NSSuperview" ref="1058981638"/>
<reference key="NSWindow"/>
<reference key="NSNextKeyView" ref="115169191"/>
<string key="NSReuseIdentifierKey">_NS:9</string>
<bool key="IBUIOpaque">NO</bool>
<bool key="IBUIClipsSubviews">YES</bool>
<int key="IBUIContentMode">7</int>
<bool key="IBUIUserInteractionEnabled">NO</bool>
<string key="targetRuntimeIdentifier">IBCocoaTouchFramework</string>