|
Packit Service |
fa4841 |
/*
|
|
Packit Service |
fa4841 |
Controller to edit advanced bookmark settings
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
|
Packit Service |
b1ea74 |
If a copy of the MPL was not distributed with this file, You can obtain one at
|
|
Packit Service |
b1ea74 |
http://mozilla.org/MPL/2.0/.
|
|
Packit Service |
fa4841 |
*/
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#import "AdvancedBookmarkEditorController.h"
|
|
Packit Service |
fa4841 |
#import "Bookmark.h"
|
|
Packit Service |
fa4841 |
#import "Utils.h"
|
|
Packit Service |
fa4841 |
#import "EditorSelectionController.h"
|
|
Packit Service |
fa4841 |
#import "ScreenSelectionController.h"
|
|
Packit Service |
fa4841 |
#import "PerformanceEditorController.h"
|
|
Packit Service |
fa4841 |
#import "BookmarkGatewaySettingsController.h"
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@interface AdvancedBookmarkEditorController ()
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@end
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#define SECTION_ADVANCED_SETTINGS 0
|
|
Packit Service |
fa4841 |
#define SECTION_COUNT 1
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@implementation AdvancedBookmarkEditorController
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
- (id)initWithBookmark:(ComputerBookmark *)bookmark
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
if ((self = [super initWithStyle:UITableViewStyleGrouped]))
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
// set additional settings state according to bookmark data
|
|
Packit Service |
fa4841 |
_bookmark = [bookmark retain];
|
|
Packit Service |
b1ea74 |
_params = [bookmark params];
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
return self;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (void)viewDidLoad
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
[super viewDidLoad];
|
|
Packit Service |
b1ea74 |
[self setTitle:NSLocalizedString(@"Advanced Settings", @"Advanced Settings title")];
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (void)viewWillAppear:(BOOL)animated
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
[super viewWillAppear:animated];
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
// we need to reload the table view data here to have up-to-date data for the
|
|
Packit Service |
b1ea74 |
// advanced settings accessory items (like for resolution/color mode settings)
|
|
Packit Service |
b1ea74 |
[[self tableView] reloadData];
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
return YES;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#pragma mark -
|
|
Packit Service |
fa4841 |
#pragma mark Table view data source
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
// Return the number of sections.
|
|
Packit Service |
b1ea74 |
return SECTION_COUNT;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
// Return the number of rows in the section.
|
|
Packit Service |
fa4841 |
switch (section)
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
case SECTION_ADVANCED_SETTINGS: // advanced settings
|
|
Packit Service |
fa4841 |
return 9;
|
|
Packit Service |
fa4841 |
default:
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
return 0;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
bb5c11 |
|
|
Packit Service |
fa4841 |
// set section headers
|
|
Packit Service |
fa4841 |
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
switch (section)
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
case SECTION_ADVANCED_SETTINGS:
|
|
Packit Service |
fa4841 |
return NSLocalizedString(@"Advanced", @"'Advanced': advanced settings header");
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
return @"unknown";
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
bb5c11 |
// Customize the appearance of table view cells.
|
|
Packit Service |
b1ea74 |
- (UITableViewCell *)tableView:(UITableView *)tableView
|
|
Packit Service |
b1ea74 |
cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
// determine the required cell type
|
|
Packit Service |
b1ea74 |
NSString *cellType = nil;
|
|
Packit Service |
b1ea74 |
switch ([indexPath section])
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
case SECTION_ADVANCED_SETTINGS: // advanced settings
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
switch ([indexPath row])
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
case 0: // Enable/Disable TSG Settings
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierYesNo;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 1: // TS Gateway Settings
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierSubEditor;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 2: // 3G Settings
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierYesNo;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 3: // 3G screen/color depth
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierSelection;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 4: // 3G performance settings
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierSubEditor;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 5: // security mode
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierSelection;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 6: // remote program
|
|
Packit Service |
b1ea74 |
case 7: // work dir
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierText;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 8: // console mode
|
|
Packit Service |
b1ea74 |
cellType = TableCellIdentifierYesNo;
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
default:
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
NSAssert(cellType != nil, @"Couldn't determine cell type");
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
// get the table view cell
|
|
Packit Service |
fa4841 |
UITableViewCell *cell = [self tableViewCellFromIdentifier:cellType];
|
|
Packit Service |
b1ea74 |
NSAssert(cell, @"Invalid cell");
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
// set cell values
|
|
Packit Service |
b1ea74 |
switch ([indexPath section])
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
// advanced settings
|
|
Packit Service |
fa4841 |
case SECTION_ADVANCED_SETTINGS:
|
|
Packit Service |
fa4841 |
[self initAdvancedSettings:indexPath cell:cell];
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
default:
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
return cell;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
// updates advanced settings in the UI
|
|
Packit Service |
b1ea74 |
- (void)initAdvancedSettings:(NSIndexPath *)indexPath cell:(UITableViewCell *)cell
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
BOOL enable_3G_settings = [_params boolForKey:@"enable_3g_settings"];
|
|
Packit Service |
b1ea74 |
switch (indexPath.row)
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
case 0:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditFlagTableViewCell *flagCell = (EditFlagTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[flagCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"Enable TS Gateway",
|
|
Packit Service |
b1ea74 |
@"'Enable TS Gateway': Bookmark enable TSG settings")];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setTag:GET_TAG_FROM_PATH(indexPath)];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setOn:[_params boolForKey:@"enable_tsg_settings"]];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] addTarget:self
|
|
Packit Service |
b1ea74 |
action:@selector(toggleSettingValue:)
|
|
Packit Service |
b1ea74 |
forControlEvents:UIControlEventValueChanged];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
case 1:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
BOOL enable_tsg_settings = [_params boolForKey:@"enable_tsg_settings"];
|
|
Packit Service |
b1ea74 |
EditSubEditTableViewCell *editCell = (EditSubEditTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[editCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"TS Gateway Settings",
|
|
Packit Service |
b1ea74 |
@"'TS Gateway Settings': Bookmark TS Gateway Settings")];
|
|
Packit Service |
b1ea74 |
[[editCell label] setEnabled:enable_tsg_settings];
|
|
Packit Service |
b1ea74 |
[editCell setSelectionStyle:enable_tsg_settings ? UITableViewCellSelectionStyleBlue
|
|
Packit Service |
b1ea74 |
: UITableViewCellSelectionStyleNone];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 2:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditFlagTableViewCell *flagCell = (EditFlagTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[flagCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"3G Settings",
|
|
Packit Service |
b1ea74 |
@"'3G Settings': Bookmark enable 3G settings")];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setTag:GET_TAG_FROM_PATH(indexPath)];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setOn:[_params boolForKey:@"enable_3g_settings"]];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] addTarget:self
|
|
Packit Service |
b1ea74 |
action:@selector(toggleSettingValue:)
|
|
Packit Service |
b1ea74 |
forControlEvents:UIControlEventValueChanged];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 3:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditSelectionTableViewCell *selCell = (EditSelectionTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[selCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"3G Screen",
|
|
Packit Service |
b1ea74 |
@"'3G Screen': Bookmark 3G Screen settings")];
|
|
Packit Service |
b1ea74 |
NSString *resolution = ScreenResolutionDescription(
|
|
Packit Service |
b1ea74 |
[_params intForKeyPath:@"settings_3g.screen_resolution_type"],
|
|
Packit Service |
b1ea74 |
[_params intForKeyPath:@"settings_3g.width"],
|
|
Packit Service |
b1ea74 |
[_params intForKeyPath:@"settings_3g.height"]);
|
|
Packit Service |
b1ea74 |
int colorBits = [_params intForKeyPath:@"settings_3g.colors"];
|
|
Packit Service |
b1ea74 |
[[selCell selection]
|
|
Packit Service |
b1ea74 |
setText:[NSString stringWithFormat:@"%@@%d", resolution, colorBits]];
|
|
Packit Service |
b1ea74 |
[[selCell label] setEnabled:enable_3G_settings];
|
|
Packit Service |
b1ea74 |
[[selCell selection] setEnabled:enable_3G_settings];
|
|
Packit Service |
b1ea74 |
[selCell setSelectionStyle:enable_3G_settings ? UITableViewCellSelectionStyleBlue
|
|
Packit Service |
b1ea74 |
: UITableViewCellSelectionStyleNone];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 4:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditSubEditTableViewCell *editCell = (EditSubEditTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[editCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"3G Performance",
|
|
Packit Service |
b1ea74 |
@"'3G Performance': Bookmark 3G Performance Settings")];
|
|
Packit Service |
b1ea74 |
[[editCell label] setEnabled:enable_3G_settings];
|
|
Packit Service |
b1ea74 |
[editCell setSelectionStyle:enable_3G_settings ? UITableViewCellSelectionStyleBlue
|
|
Packit Service |
b1ea74 |
: UITableViewCellSelectionStyleNone];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 5:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditSelectionTableViewCell *selCell = (EditSelectionTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[selCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"Security",
|
|
Packit Service |
b1ea74 |
@"'Security': Bookmark protocl security settings")];
|
|
Packit Service |
b1ea74 |
[[selCell selection]
|
|
Packit Service |
b1ea74 |
setText:ProtocolSecurityDescription([_params intForKey:@"security"])];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 6:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditTextTableViewCell *textCell = (EditTextTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[textCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"Remote Program",
|
|
Packit Service |
b1ea74 |
@"'Remote Program': Bookmark remote program settings")];
|
|
Packit Service |
b1ea74 |
[[textCell textfield] setText:[_params StringForKey:@"remote_program"]];
|
|
Packit Service |
b1ea74 |
[[textCell textfield] setTag:GET_TAG_FROM_PATH(indexPath)];
|
|
Packit Service |
b1ea74 |
[[textCell textfield]
|
|
Packit Service |
b1ea74 |
setPlaceholder:NSLocalizedString(@"not set", @"not set placeholder")];
|
|
Packit Service |
b1ea74 |
[self adjustEditTextTableViewCell:textCell];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 7:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditTextTableViewCell *textCell = (EditTextTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[textCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(
|
|
Packit Service |
b1ea74 |
@"Working Directory",
|
|
Packit Service |
b1ea74 |
@"'Working Directory': Bookmark working directory settings")];
|
|
Packit Service |
b1ea74 |
[[textCell textfield] setText:[_params StringForKey:@"working_dir"]];
|
|
Packit Service |
b1ea74 |
[[textCell textfield] setTag:GET_TAG_FROM_PATH(indexPath)];
|
|
Packit Service |
b1ea74 |
[[textCell textfield]
|
|
Packit Service |
b1ea74 |
setPlaceholder:NSLocalizedString(@"not set", @"not set placeholder")];
|
|
Packit Service |
b1ea74 |
[self adjustEditTextTableViewCell:textCell];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
case 8:
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
EditFlagTableViewCell *flagCell = (EditFlagTableViewCell *)cell;
|
|
Packit Service |
b1ea74 |
[[flagCell label]
|
|
Packit Service |
b1ea74 |
setText:NSLocalizedString(@"Console Mode",
|
|
Packit Service |
b1ea74 |
@"'Console Mode': Bookmark console mode settings")];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setTag:GET_TAG_FROM_PATH(indexPath)];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] setOn:[_params boolForKey:@"console"]];
|
|
Packit Service |
b1ea74 |
[[flagCell toggle] addTarget:self
|
|
Packit Service |
b1ea74 |
action:@selector(toggleSettingValue:)
|
|
Packit Service |
b1ea74 |
forControlEvents:UIControlEventValueChanged];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
default:
|
|
Packit Service |
fa4841 |
NSLog(@"Invalid row index in settings table!");
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#pragma mark -
|
|
Packit Service |
fa4841 |
#pragma mark Table view delegate
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
UIViewController *viewCtrl = nil;
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
// determine view
|
|
Packit Service |
b1ea74 |
switch ([indexPath row])
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
case 1:
|
|
Packit Service |
b1ea74 |
if ([_params boolForKey:@"enable_tsg_settings"])
|
|
Packit Service |
b1ea74 |
viewCtrl = [[[BookmarkGatewaySettingsController alloc] initWithBookmark:_bookmark]
|
|
Packit Service |
b1ea74 |
autorelease];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 3:
|
|
Packit Service |
b1ea74 |
if ([_params boolForKey:@"enable_3g_settings"])
|
|
Packit Service |
b1ea74 |
viewCtrl = [[[ScreenSelectionController alloc]
|
|
Packit Service |
b1ea74 |
initWithConnectionParams:_params
|
|
Packit Service |
b1ea74 |
keyPath:@"settings_3g"] autorelease];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 4:
|
|
Packit Service |
b1ea74 |
if ([_params boolForKey:@"enable_3g_settings"])
|
|
Packit Service |
b1ea74 |
viewCtrl = [[[PerformanceEditorController alloc]
|
|
Packit Service |
b1ea74 |
initWithConnectionParams:_params
|
|
Packit Service |
b1ea74 |
keyPath:@"settings_3g"] autorelease];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
case 5:
|
|
Packit Service |
b1ea74 |
viewCtrl = [[[EditorSelectionController alloc]
|
|
Packit Service |
b1ea74 |
initWithConnectionParams:_params
|
|
Packit Service |
b1ea74 |
entries:[NSArray arrayWithObject:@"security"]
|
|
Packit Service |
b1ea74 |
selections:[NSArray arrayWithObject:SelectionForSecuritySetting()]]
|
|
Packit Service |
b1ea74 |
autorelease];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
default:
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
// display view
|
|
Packit Service |
b1ea74 |
if (viewCtrl)
|
|
Packit Service |
b1ea74 |
[[self navigationController] pushViewController:viewCtrl animated:YES];
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
bb5c11 |
|
|
Packit Service |
fa4841 |
#pragma mark -
|
|
Packit Service |
fa4841 |
#pragma mark Text Field delegate
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
b1ea74 |
- (BOOL)textFieldShouldReturn:(UITextField *)textField
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
fa4841 |
[textField resignFirstResponder];
|
|
Packit Service |
fa4841 |
return NO;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
switch (textField.tag)
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
// update remote program/work dir settings
|
|
Packit Service |
b1ea74 |
case GET_TAG(SECTION_ADVANCED_SETTINGS, 6):
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
[_params setValue:[textField text] forKey:@"remote_program"];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
case GET_TAG(SECTION_ADVANCED_SETTINGS, 7):
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
[_params setValue:[textField text] forKey:@"working_dir"];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
fa4841 |
default:
|
|
Packit Service |
fa4841 |
break;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
return YES;
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#pragma mark - Action handlers
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (void)toggleSettingValue:(id)sender
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
b1ea74 |
UISwitch *valueSwitch = (UISwitch *)sender;
|
|
Packit Service |
b1ea74 |
switch (valueSwitch.tag)
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
case GET_TAG(SECTION_ADVANCED_SETTINGS, 0):
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
[_params setBool:[valueSwitch isOn] forKey:@"enable_tsg_settings"];
|
|
Packit Service |
b1ea74 |
NSArray *indexPaths =
|
|
Packit Service |
b1ea74 |
[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:1
|
|
Packit Service |
b1ea74 |
inSection:SECTION_ADVANCED_SETTINGS],
|
|
Packit Service |
b1ea74 |
[NSIndexPath indexPathForRow:2
|
|
Packit Service |
b1ea74 |
inSection:SECTION_ADVANCED_SETTINGS],
|
|
Packit Service |
b1ea74 |
nil];
|
|
Packit Service |
b1ea74 |
[[self tableView] reloadRowsAtIndexPaths:indexPaths
|
|
Packit Service |
b1ea74 |
withRowAnimation:UITableViewRowAnimationNone];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
case GET_TAG(SECTION_ADVANCED_SETTINGS, 2):
|
|
Packit Service |
b1ea74 |
{
|
|
Packit Service |
b1ea74 |
[_params setBool:[valueSwitch isOn] forKey:@"enable_3g_settings"];
|
|
Packit Service |
b1ea74 |
NSArray *indexPaths =
|
|
Packit Service |
b1ea74 |
[NSArray arrayWithObjects:[NSIndexPath indexPathForRow:3
|
|
Packit Service |
b1ea74 |
inSection:SECTION_ADVANCED_SETTINGS],
|
|
Packit Service |
b1ea74 |
[NSIndexPath indexPathForRow:2
|
|
Packit Service |
b1ea74 |
inSection:SECTION_ADVANCED_SETTINGS],
|
|
Packit Service |
b1ea74 |
nil];
|
|
Packit Service |
b1ea74 |
[[self tableView] reloadRowsAtIndexPaths:indexPaths
|
|
Packit Service |
b1ea74 |
withRowAnimation:UITableViewRowAnimationNone];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
case GET_TAG(SECTION_ADVANCED_SETTINGS, 8):
|
|
Packit Service |
b1ea74 |
[_params setBool:[valueSwitch isOn] forKey:@"console"];
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
|
|
Packit Service |
b1ea74 |
default:
|
|
Packit Service |
b1ea74 |
break;
|
|
Packit Service |
b1ea74 |
}
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@end
|