Correct git signature logic
This commit is contained in:
parent
2f790d7923
commit
649d709369
6 changed files with 28 additions and 35 deletions
|
|
@ -35,11 +35,12 @@ class AdvancedSettingsTableViewController: UITableViewController {
|
|||
}
|
||||
|
||||
private func setGitSignatureText() {
|
||||
if let gitConfigUserName = Defaults[.gitConfigUserName],
|
||||
let gitConfigUserEmail = Defaults[.gitConfigUserEmail] {
|
||||
self.gitSignatureTableViewCell.detailTextLabel?.font = UIFont.systemFont(ofSize: 14)
|
||||
self.gitSignatureTableViewCell.detailTextLabel?.text = "\(gitConfigUserName) <\(gitConfigUserEmail)>"
|
||||
} else {
|
||||
let gitSignatureName = passwordStore.gitSignatureForNow.name!
|
||||
let gitSignatureEmail = passwordStore.gitSignatureForNow.email!
|
||||
self.gitSignatureTableViewCell.detailTextLabel?.font = UIFont.systemFont(ofSize: 14)
|
||||
self.gitSignatureTableViewCell.detailTextLabel?.text = "\(gitSignatureName) <\(gitSignatureEmail)>"
|
||||
if Defaults[.gitSignatureName] == nil && Defaults[.gitSignatureEmail] == nil {
|
||||
self.gitSignatureTableViewCell.detailTextLabel?.font = UIFont.systemFont(ofSize: 17)
|
||||
gitSignatureTableViewCell.detailTextLabel?.text = "Not Set"
|
||||
}
|
||||
}
|
||||
|
|
@ -92,10 +93,10 @@ class AdvancedSettingsTableViewController: UITableViewController {
|
|||
|
||||
@IBAction func saveGitConfigSetting(segue: UIStoryboardSegue) {
|
||||
if let controller = segue.source as? GitConfigSettingTableViewController {
|
||||
if let gitConfigUserName = controller.nameTextField.text,
|
||||
let gitConfigUserEmail = controller.emailTextField.text {
|
||||
Defaults[.gitConfigUserName] = gitConfigUserName
|
||||
Defaults[.gitConfigUserEmail] = gitConfigUserEmail
|
||||
if let gitSignatureName = controller.nameTextField.text,
|
||||
let gitSignatureEmail = controller.emailTextField.text {
|
||||
Defaults[.gitSignatureName] = gitSignatureName.isEmpty ? nil : gitSignatureName
|
||||
Defaults[.gitSignatureEmail] = gitSignatureEmail.isEmpty ? nil : gitSignatureEmail
|
||||
}
|
||||
setGitSignatureText()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,22 +22,16 @@ class GitConfigSettingTableViewController: UITableViewController {
|
|||
let signature = passwordStore.gitSignatureForNow
|
||||
nameTextField.placeholder = signature.name
|
||||
emailTextField.placeholder = signature.email
|
||||
|
||||
if let gitConfigUserName = Defaults[.gitConfigUserName],
|
||||
let gitConfigUserEmail = Defaults[.gitConfigUserEmail] {
|
||||
nameTextField.text = gitConfigUserName
|
||||
emailTextField.text = gitConfigUserEmail
|
||||
}
|
||||
nameTextField.text = Defaults[.gitSignatureName]
|
||||
emailTextField.text = Defaults[.gitSignatureEmail]
|
||||
}
|
||||
|
||||
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
|
||||
if identifier == "saveGitConfigSettingSegue" {
|
||||
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)
|
||||
return false
|
||||
}
|
||||
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)
|
||||
let name = nameTextField.text!.isEmpty ? Globals.gitSignatureDefaultName : nameTextField.text!
|
||||
let email = emailTextField.text!.isEmpty ? Globals.gitSignatureDefaultEmail : nameTextField.text!
|
||||
guard GTSignature(name: name, email: email, time: nil) != nil else {
|
||||
Utils.alert(title: "Error", message: "Invalid name or email.", controller: self, completion: nil)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ extension DefaultsKeys {
|
|||
static let gitSSHKeySource = DefaultsKey<String?>("gitSSHKeySource")
|
||||
static let gitSSHPublicKeyArmor = DefaultsKey<String?>("gitSSHPublicKeyArmor")
|
||||
static let gitSSHPrivateKeyArmor = DefaultsKey<String?>("gitSSHPrivateKeyArmor")
|
||||
static let gitConfigUserName = DefaultsKey<String?>("gitConfigUserName")
|
||||
static let gitConfigUserEmail = DefaultsKey<String?>("gitConfigUserEmail")
|
||||
static let gitSignatureName = DefaultsKey<String?>("gitSignatureName")
|
||||
static let gitSignatureEmail = DefaultsKey<String?>("gitSignatureEmail")
|
||||
|
||||
static let lastSyncedTime = DefaultsKey<Date?>("lastSyncedTime")
|
||||
|
||||
|
|
|
|||
|
|
@ -26,6 +26,9 @@ class Globals {
|
|||
static let passwordDefaultLength = ["Random": (min: 6, max: 24, def: 16),
|
||||
"Apple": (min: 15, max: 15, def: 15)]
|
||||
|
||||
static let gitSignatureDefaultName = "Pass for iOS"
|
||||
static let gitSignatureDefaultEmail = "user@passforios"
|
||||
|
||||
static let passwordDots = "••••••••••••"
|
||||
static let oneTimePasswordDots = "••••••"
|
||||
static let passwordFonts = "Menlo"
|
||||
|
|
|
|||
|
|
@ -84,14 +84,9 @@ class PasswordStore {
|
|||
|
||||
var gitSignatureForNow: GTSignature {
|
||||
get {
|
||||
if let gitConfigUserName = Defaults[.gitConfigUserName],
|
||||
let gitConfigUserEmail = Defaults[.gitConfigUserEmail] {
|
||||
return GTSignature(name: gitConfigUserName, email: gitConfigUserEmail, time: Date())!
|
||||
} else {
|
||||
let name = Defaults[.gitUsername] ?? "user"
|
||||
let email = (Defaults[.gitUsername] ?? "user") + "@passforios"
|
||||
return GTSignature(name: name, email: email, time: Date())!
|
||||
}
|
||||
let gitSignatureName = Defaults[.gitSignatureName] ?? Globals.gitSignatureDefaultName
|
||||
let gitSignatureEmail = Defaults[.gitSignatureEmail] ?? Globals.gitSignatureDefaultEmail
|
||||
return GTSignature(name: gitSignatureName, email: gitSignatureEmail, time: Date())!
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue