Show default git signature in its setting

- Fix a small bug of getting gitSignatureForNow
- Polish gitSignatureForNow
This commit is contained in:
Yishi Lin 2017-04-27 23:40:33 +08:00
parent 034f43220b
commit f37efd24a4
2 changed files with 10 additions and 4 deletions

View file

@ -10,6 +10,7 @@ import UIKit
import SwiftyUserDefaults import SwiftyUserDefaults
class GitConfigSettingTableViewController: UITableViewController { class GitConfigSettingTableViewController: UITableViewController {
let passwordStore = PasswordStore.shared
@IBOutlet weak var nameTextField: UITextField! @IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var emailTextField: UITextField! @IBOutlet weak var emailTextField: UITextField!
@ -17,17 +18,22 @@ class GitConfigSettingTableViewController: UITableViewController {
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
tableView.rowHeight = UITableViewAutomaticDimension tableView.rowHeight = UITableViewAutomaticDimension
let signature = passwordStore.gitSignatureForNow
nameTextField.placeholder = signature.name
emailTextField.placeholder = signature.email
nameTextField.text = Defaults[.gitName] nameTextField.text = Defaults[.gitName]
emailTextField.text = Defaults[.gitEmail] emailTextField.text = Defaults[.gitEmail]
} }
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool { override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
if identifier == "saveGitConfigSettingSegue" { if identifier == "saveGitConfigSettingSegue" {
guard let name = nameTextField.text, !name.isEmpty else { guard let name = nameTextField.text?.trimmingCharacters(in: .whitespaces), !name.isEmpty else {
Utils.alert(title: "Cannot Save", message: "Please set name first.", controller: self, completion: nil) Utils.alert(title: "Cannot Save", message: "Please set name first.", controller: self, completion: nil)
return false return false
} }
guard let email = emailTextField.text, !email.isEmpty else { guard let email = emailTextField.text?.trimmingCharacters(in: .whitespaces), !email.isEmpty else {
Utils.alert(title: "Cannot Save", message: "Please set email first.", controller: self, completion: nil) Utils.alert(title: "Cannot Save", message: "Please set email first.", controller: self, completion: nil)
return false return false
} }

View file

@ -84,8 +84,8 @@ class PasswordStore {
var gitSignatureForNow: GTSignature { var gitSignatureForNow: GTSignature {
get { get {
let name = Defaults[.gitName] ?? Defaults[.gitUsername] ?? "" let name = Defaults[.gitName] ?? Defaults[.gitUsername] ?? "user"
let email = Defaults[.gitEmail] ?? (Defaults[.gitUsername] ?? "" + "@passforios") let email = Defaults[.gitEmail] ?? ((Defaults[.gitUsername] ?? "user") + "@passforios")
return GTSignature(name: name, email: email, time: Date())! return GTSignature(name: name, email: email, time: Date())!
} }
} }