Polish logic of setting git signature
This commit is contained in:
parent
8d0553a417
commit
b429a6baf1
4 changed files with 28 additions and 13 deletions
|
|
@ -31,8 +31,14 @@ class AdvancedSettingsTableViewController: UITableViewController {
|
||||||
encryptInASCIIArmoredSwitch.isOn = Defaults[.encryptInArmored]
|
encryptInASCIIArmoredSwitch.isOn = Defaults[.encryptInArmored]
|
||||||
encryptInASCIIArmoredTableViewCell.accessoryView = encryptInASCIIArmoredSwitch
|
encryptInASCIIArmoredTableViewCell.accessoryView = encryptInASCIIArmoredSwitch
|
||||||
encryptInASCIIArmoredTableViewCell.selectionStyle = .none
|
encryptInASCIIArmoredTableViewCell.selectionStyle = .none
|
||||||
if Defaults[.gitName]?.isEmpty == false && Defaults[.gitEmail]?.isEmpty == false {
|
setGitSignatureText()
|
||||||
gitSignatureTableViewCell.detailTextLabel?.text = "Set"
|
}
|
||||||
|
|
||||||
|
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 {
|
} else {
|
||||||
gitSignatureTableViewCell.detailTextLabel?.text = "Not Set"
|
gitSignatureTableViewCell.detailTextLabel?.text = "Not Set"
|
||||||
}
|
}
|
||||||
|
|
@ -90,11 +96,12 @@ class AdvancedSettingsTableViewController: UITableViewController {
|
||||||
|
|
||||||
@IBAction func saveGitConfigSetting(segue: UIStoryboardSegue) {
|
@IBAction func saveGitConfigSetting(segue: UIStoryboardSegue) {
|
||||||
if let controller = segue.source as? GitConfigSettingTableViewController {
|
if let controller = segue.source as? GitConfigSettingTableViewController {
|
||||||
Defaults[.gitName] = controller.nameTextField.text
|
if let gitConfigUserName = controller.nameTextField.text,
|
||||||
Defaults[.gitEmail] = controller.emailTextField.text
|
let gitConfigUserEmail = controller.emailTextField.text {
|
||||||
DispatchQueue.main.async {
|
Defaults[.gitConfigUserName] = gitConfigUserName
|
||||||
self.gitSignatureTableViewCell.detailTextLabel?.text = "Set"
|
Defaults[.gitConfigUserEmail] = gitConfigUserEmail
|
||||||
}
|
}
|
||||||
|
setGitSignatureText()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,11 @@ class GitConfigSettingTableViewController: UITableViewController {
|
||||||
nameTextField.placeholder = signature.name
|
nameTextField.placeholder = signature.name
|
||||||
emailTextField.placeholder = signature.email
|
emailTextField.placeholder = signature.email
|
||||||
|
|
||||||
nameTextField.text = Defaults[.gitName]
|
if let gitConfigUserName = Defaults[.gitConfigUserName],
|
||||||
emailTextField.text = Defaults[.gitEmail]
|
let gitConfigUserEmail = Defaults[.gitConfigUserEmail] {
|
||||||
|
nameTextField.text = gitConfigUserName
|
||||||
|
emailTextField.text = gitConfigUserEmail
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
|
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ extension DefaultsKeys {
|
||||||
static let gitSSHKeySource = DefaultsKey<String?>("gitSSHKeySource")
|
static let gitSSHKeySource = DefaultsKey<String?>("gitSSHKeySource")
|
||||||
static let gitSSHPublicKeyArmor = DefaultsKey<String?>("gitSSHPublicKeyArmor")
|
static let gitSSHPublicKeyArmor = DefaultsKey<String?>("gitSSHPublicKeyArmor")
|
||||||
static let gitSSHPrivateKeyArmor = DefaultsKey<String?>("gitSSHPrivateKeyArmor")
|
static let gitSSHPrivateKeyArmor = DefaultsKey<String?>("gitSSHPrivateKeyArmor")
|
||||||
static let gitName = DefaultsKey<String?>("gitName")
|
static let gitConfigUserName = DefaultsKey<String?>("gitConfigUserName")
|
||||||
static let gitEmail = DefaultsKey<String?>("gitEmail")
|
static let gitConfigUserEmail = DefaultsKey<String?>("gitConfigUserEmail")
|
||||||
|
|
||||||
static let lastSyncedTime = DefaultsKey<Date?>("lastSyncedTime")
|
static let lastSyncedTime = DefaultsKey<Date?>("lastSyncedTime")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,11 +84,16 @@ class PasswordStore {
|
||||||
|
|
||||||
var gitSignatureForNow: GTSignature {
|
var gitSignatureForNow: GTSignature {
|
||||||
get {
|
get {
|
||||||
let name = Defaults[.gitName] ?? Defaults[.gitUsername] ?? "user"
|
if let gitConfigUserName = Defaults[.gitConfigUserName],
|
||||||
let email = Defaults[.gitEmail] ?? ((Defaults[.gitUsername] ?? "user") + "@passforios")
|
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())!
|
return GTSignature(name: name, email: email, time: Date())!
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let pgp: ObjectivePGP = ObjectivePGP()
|
let pgp: ObjectivePGP = ObjectivePGP()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue