Change "save" to "clone" button, and clone the repo by default.

This commit is contained in:
Bob Sun 2017-04-26 22:04:44 -07:00
parent dd254b21d9
commit eccfeb19b5
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
3 changed files with 60 additions and 54 deletions

View file

@ -482,7 +482,7 @@
<segue destination="7K9-cE-9qq" kind="unwind" unwindAction="cancelGitServerSettingWithSegue:" id="SGr-tc-vDL"/> <segue destination="7K9-cE-9qq" kind="unwind" unwindAction="cancelGitServerSettingWithSegue:" id="SGr-tc-vDL"/>
</connections> </connections>
</barButtonItem> </barButtonItem>
<barButtonItem key="rightBarButtonItem" style="done" systemItem="save" id="sgQ-zB-rxv"> <barButtonItem key="rightBarButtonItem" title="Clone" style="done" id="sgQ-zB-rxv">
<connections> <connections>
<action selector="save:" destination="ynQ-64-MfA" id="HNL-Da-fXT"/> <action selector="save:" destination="ynQ-64-MfA" id="HNL-Da-fXT"/>
</connections> </connections>

View file

@ -107,11 +107,12 @@ class GitServerSettingTableViewController: UITableViewController {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
} }
@IBAction func save(_ sender: Any) { private func doClone() {
if authenticationMethod == "Password" { if authenticationMethod == "Password" {
let alert = UIAlertController(title: "Password", message: "Please fill in the password of your Git account.", preferredStyle: UIAlertControllerStyle.alert) let alert = UIAlertController(title: "Password", message: "Please fill in the password of your Git account.", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: {_ in alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.default, handler: {_ in
self.password = alert.textFields!.first!.text self.password = alert.textFields!.first!.text
self.passwordStore.gitPassword = self.password
if self.shouldPerformSegue(withIdentifier: "saveGitServerSettingSegue", sender: self) { if self.shouldPerformSegue(withIdentifier: "saveGitServerSettingSegue", sender: self) {
self.performSegue(withIdentifier: "saveGitServerSettingSegue", sender: self) self.performSegue(withIdentifier: "saveGitServerSettingSegue", sender: self)
} }
@ -128,6 +129,19 @@ class GitServerSettingTableViewController: UITableViewController {
} }
} }
@IBAction func save(_ sender: Any) {
if passwordStore.repositoryExisted() {
let alert = UIAlertController(title: "Erase Current Password Store Data?", message: "A cloned password store exists. This operation will erase all local data. Data on your remote server will not be affected.", preferredStyle: UIAlertControllerStyle.alert)
alert.addAction(UIAlertAction(title: "Erase", style: UIAlertActionStyle.destructive, handler: { _ in
self.doClone()
}))
alert.addAction(UIAlertAction(title: "Cancel", style: UIAlertActionStyle.cancel, handler: nil))
self.present(alert, animated: true, completion: nil)
} else {
doClone()
}
}
private func gitSSHKeyExists() -> Bool { private func gitSSHKeyExists() -> Bool {
return FileManager.default.fileExists(atPath: Globals.gitSSHPublicKeyPath) && return FileManager.default.fileExists(atPath: Globals.gitSSHPublicKeyPath) &&
FileManager.default.fileExists(atPath: Globals.gitSSHPrivateKeyPath) FileManager.default.fileExists(atPath: Globals.gitSSHPrivateKeyPath)

View file

@ -101,13 +101,6 @@ class SettingsTableViewController: UITableViewController {
let password = controller.password let password = controller.password
let auth = controller.authenticationMethod let auth = controller.authenticationMethod
if Defaults[.gitURL] == nil ||
Defaults[.gitURL]!.absoluteString != gitRepostiroyURL ||
auth != Defaults[.gitAuthenticationMethod] ||
username != Defaults[.gitUsername] ||
password != self.passwordStore.gitPassword ||
self.passwordStore.repositoryExisted() == false {
SVProgressHUD.setDefaultMaskType(.black) SVProgressHUD.setDefaultMaskType(.black)
SVProgressHUD.setDefaultStyle(.light) SVProgressHUD.setDefaultStyle(.light)
SVProgressHUD.show(withStatus: "Prepare Repository") SVProgressHUD.show(withStatus: "Prepare Repository")
@ -158,7 +151,6 @@ class SettingsTableViewController: UITableViewController {
} }
} }
} }
}
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()