Improve edit password to make it consistent with Pass

This commit is contained in:
Bob Sun 2017-04-25 13:01:17 -07:00
parent 86cb8a84cd
commit 055ea243a3
No known key found for this signature in database
GPG key ID: 1F86BA2052FED3B4
6 changed files with 136 additions and 103 deletions

View file

@ -16,9 +16,15 @@ struct AdditionField {
var content: String
}
enum PasswordChange: Int {
case path = 0x01
case content = 0x02
case none = 0x00
}
class Password {
static let otpKeywords = ["otp_secret", "otp_type", "otp_algorithm", "otp_period", "otp_digits", "otp_counter", "otpauth"]
var name = ""
var url: URL?
var namePath: String {
@ -32,7 +38,7 @@ class Password {
var password = ""
var additions = [String: String]()
var additionKeys = [String]()
var changed = false
var changed: Int = 0
var plainText = ""
private var firstLineIsOTPField = false
@ -62,8 +68,13 @@ class Password {
func updatePassword(name: String, url: URL?, plainText: String) {
if self.plainText != plainText || self.url != url {
if self.plainText != plainText {
changed = changed|PasswordChange.content.rawValue
}
if self.url != url {
changed = changed|PasswordChange.path.rawValue
}
self.initEverything(name: name, url: url, plainText: plainText)
changed = true
}
}