Skip to content

Commit

Permalink
route option
Browse files Browse the repository at this point in the history
  • Loading branch information
clowwindy committed Aug 10, 2015
1 parent 87fbbe6 commit 355b2ee
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 21 deletions.
12 changes: 6 additions & 6 deletions ShadowVPN.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
620A5B881B5A9F1E00F98476 /* crypto_secretbox_salsa208poly1305.c in Sources */ = {isa = PBXBuildFile; fileRef = 620A5B841B5A9F1E00F98476 /* crypto_secretbox_salsa208poly1305.c */; };
620A5B891B5A9F1E00F98476 /* crypto.c in Sources */ = {isa = PBXBuildFile; fileRef = 620A5B861B5A9F1E00F98476 /* crypto.c */; };
620A5B901B5AA85800F98476 /* SVCrypto.m in Sources */ = {isa = PBXBuildFile; fileRef = 620A5B8F1B5AA85800F98476 /* SVCrypto.m */; };
623DE1E61B78AAB200B1440F /* SimpleTableViewSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 623DE1E51B78AAB200B1440F /* SimpleTableViewSource.m */; };
623DE1E61B78AAB200B1440F /* SimpleTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 623DE1E51B78AAB200B1440F /* SimpleTableViewController.m */; };
625E05051B73D3C30041A9D6 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 625E05031B73D3C30041A9D6 /* [email protected] */; };
625E05061B73D3C30041A9D6 /* [email protected] in Resources */ = {isa = PBXBuildFile; fileRef = 625E05041B73D3C30041A9D6 /* [email protected] */; };
626520C21B73AB890064F653 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 626520C11B73AB890064F653 /* MainViewController.swift */; };
Expand Down Expand Up @@ -70,8 +70,8 @@
620A5B8E1B5AA85800F98476 /* SVCrypto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVCrypto.h; sourceTree = "<group>"; };
620A5B8F1B5AA85800F98476 /* SVCrypto.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SVCrypto.m; sourceTree = "<group>"; };
623DE1E31B78AAB100B1440F /* ShadowVPN-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "ShadowVPN-Bridging-Header.h"; sourceTree = "<group>"; };
623DE1E41B78AAB200B1440F /* SimpleTableViewSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleTableViewSource.h; sourceTree = "<group>"; };
623DE1E51B78AAB200B1440F /* SimpleTableViewSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SimpleTableViewSource.m; sourceTree = "<group>"; };
623DE1E41B78AAB200B1440F /* SimpleTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SimpleTableViewController.h; sourceTree = "<group>"; };
623DE1E51B78AAB200B1440F /* SimpleTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SimpleTableViewController.m; sourceTree = "<group>"; };
625E05031B73D3C30041A9D6 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
625E05041B73D3C30041A9D6 /* [email protected] */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "[email protected]"; sourceTree = "<group>"; };
626520C11B73AB890064F653 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -209,8 +209,8 @@
62D48D7E1B739528003E4FEE /* UI */ = {
isa = PBXGroup;
children = (
623DE1E41B78AAB200B1440F /* SimpleTableViewSource.h */,
623DE1E51B78AAB200B1440F /* SimpleTableViewSource.m */,
623DE1E41B78AAB200B1440F /* SimpleTableViewController.h */,
623DE1E51B78AAB200B1440F /* SimpleTableViewController.m */,
626520C11B73AB890064F653 /* MainViewController.swift */,
626520C31B73ABA10064F653 /* ConfigurationViewController.swift */,
62D8D2681B76286F009FA6FE /* ConfigurationTextCell.swift */,
Expand Down Expand Up @@ -424,7 +424,7 @@
files = (
620629BD1B789DE50034179B /* NSData+Hex.swift in Sources */,
62D8D2691B76286F009FA6FE /* ConfigurationTextCell.swift in Sources */,
623DE1E61B78AAB200B1440F /* SimpleTableViewSource.m in Sources */,
623DE1E61B78AAB200B1440F /* SimpleTableViewController.m in Sources */,
62A427511B5A3C9700BB4AD9 /* AppDelegate.swift in Sources */,
626520C41B73ABA10064F653 /* ConfigurationViewController.swift in Sources */,
620629BC1B789A320034179B /* ConfigurationValidator.swift in Sources */,
Expand Down
18 changes: 8 additions & 10 deletions ShadowVPN/ConfigurationViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ class ConfigurationViewController: UITableViewController {
for (k, v) in self.bindMap {
self.configuration[k] = v.text
}
self.configuration["route"] = "chnroutes"
// self.configuration["route"] = "chnroutes"
}

func save() {
Expand Down Expand Up @@ -65,7 +65,7 @@ class ConfigurationViewController: UITableViewController {
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
switch section {
case 0:
return 9
return 10
case 1:
return 1
default:
Expand Down Expand Up @@ -144,9 +144,12 @@ class ConfigurationViewController: UITableViewController {
cell.textField.keyboardType = .NumberPad
bindData(cell.textField, property: "mtu")
case 9:
let cell = UITableViewCell(style: .Value1, reuseIdentifier: "value1")
cell.textLabel?.text = "Route"
cell.detailTextLabel?.text = self.configuration["chnroutes"] as? String
cell.textField.text = "chnroutes"
cell.textField.enabled = false
cell.accessoryType = .DisclosureIndicator
cell.selectionStyle = .Default
bindData(cell.textField, property: "route")
return cell
default:
break
Expand All @@ -166,17 +169,12 @@ class ConfigurationViewController: UITableViewController {
tableView.deselectRowAtIndexPath(indexPath, animated: true)
if (indexPath.section == 0) {
if (indexPath.row == 9) {
let dataSource = SimpleTableViewSource(labels: ["Default", "CHNRoutes"], values: ["default", "chnroutes"], initialValue: "chnroutes", selectionBlock: { (result) -> Void in
let controller = SimpleTableViewController(labels: ["Default", "CHNRoutes"], values: ["default", "chnroutes"], initialValue: self.configuration["route"] as? String, selectionBlock: { (result) -> Void in
// else we'll lost unsaved modifications
self.updateConfiguration()
self.configuration["route"] = result
self.tableView.reloadData()
})
let controller = UIViewController()
let tableView = UITableView(frame: controller.view.frame, style: .Grouped)
tableView.dataSource = dataSource
tableView.delegate = dataSource
controller.view = tableView
self.navigationController?.pushViewController(controller, animated: true)
}
} else if (indexPath.section == 1) {
Expand Down
2 changes: 1 addition & 1 deletion ShadowVPN/ShadowVPN-Bridging-Header.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
// Use this file to import your target's public headers that you would like to expose to Swift.
//

#import "SimpleTableViewSource.h"
#import "SimpleTableViewController.h"
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

typedef void (^SimpleTableViewSourceSelectionBlock)(NSObject *value);

@interface SimpleTableViewSource : NSObject<UITableViewDataSource, UITableViewDelegate>
@interface SimpleTableViewController : UITableViewController

-(id)initWithLabels:(NSArray *)labels values:(NSArray *)values initialValue:(NSObject *)value selectionBlock:(SimpleTableViewSourceSelectionBlock)block;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,18 +6,18 @@
//


#import "SimpleTableViewSource.h"
#import "SimpleTableViewController.h"


@implementation SimpleTableViewSource {
@implementation SimpleTableViewController {
NSArray *_labels;
NSArray *_values;
NSObject *_value;
SimpleTableViewSourceSelectionBlock _selectionBlock;
}

- (id)initWithLabels:(NSArray *)labels values:(NSArray *)values initialValue:(NSObject *)value selectionBlock:(SimpleTableViewSourceSelectionBlock)block {
self = [super init];
self = [super initWithStyle:UITableViewStyleGrouped];
if (self) {
_labels = labels;
_values = values;
Expand Down

0 comments on commit 355b2ee

Please sign in to comment.