Allow setting git signature

This commit is contained in:
Yishi Lin 2017-04-10 23:02:42 +08:00
parent 91230ac008
commit 30c73841c6
6 changed files with 233 additions and 16 deletions

View file

@ -13,6 +13,7 @@ import SwiftyUserDefaults
class AdvancedSettingsTableViewController: UITableViewController {
@IBOutlet weak var encryptInASCIIArmoredTableViewCell: UITableViewCell!
@IBOutlet weak var gitSignatureTableViewCell: UITableViewCell!
@IBOutlet weak var eraseDataTableViewCell: UITableViewCell!
@IBOutlet weak var discardChangesTableViewCell: UITableViewCell!
let passwordStore = PasswordStore.shared
@ -30,6 +31,11 @@ class AdvancedSettingsTableViewController: UITableViewController {
encryptInASCIIArmoredSwitch.isOn = Defaults[.encryptInArmored]
encryptInASCIIArmoredTableViewCell.accessoryView = encryptInASCIIArmoredSwitch
encryptInASCIIArmoredTableViewCell.selectionStyle = .none
if Defaults[.gitName]?.isEmpty == false && Defaults[.gitEmail]?.isEmpty == false {
gitSignatureTableViewCell.detailTextLabel?.text = "Set"
} else {
gitSignatureTableViewCell.detailTextLabel?.text = "Not Set"
}
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
@ -78,5 +84,18 @@ class AdvancedSettingsTableViewController: UITableViewController {
func encryptInASCIIArmoredAction(_ sender: Any?) {
Defaults[.encryptInArmored] = encryptInASCIIArmoredSwitch.isOn
}
@IBAction func cancelGitConfigSetting(segue: UIStoryboardSegue) {
}
@IBAction func saveGitConfigSetting(segue: UIStoryboardSegue) {
if let controller = segue.source as? GitConfigSettingTableViewController {
Defaults[.gitName] = controller.nameTextField.text
Defaults[.gitEmail] = controller.emailTextField.text
DispatchQueue.main.async {
self.gitSignatureTableViewCell.detailTextLabel?.text = "Set"
}
}
}
}

View file

@ -0,0 +1,39 @@
//
// GitConfigSettingTableViewController.swift
// pass
//
// Created by Yishi Lin on 10/4/17.
// Copyright © 2017 Yishi Lin. All rights reserved.
//
import UIKit
import SwiftyUserDefaults
class GitConfigSettingTableViewController: UITableViewController {
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var emailTextField: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension
nameTextField.text = Defaults[.gitName]
emailTextField.text = Defaults[.gitEmail]
}
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
print("test should perform \(identifier)")
if identifier == "saveGitConfigSettingSegue" {
guard let name = nameTextField.text, !name.isEmpty else {
Utils.alert(title: "Cannot Save", message: "Please set name first.", controller: self, completion: nil)
return false
}
guard let email = emailTextField.text, !email.isEmpty else {
Utils.alert(title: "Cannot Save", message: "Please set email first.", controller: self, completion: nil)
return false
}
}
return true
}
}