Skip to content
Snippets Groups Projects
Commit cfd0b3e8 authored by cruxfilm's avatar cruxfilm
Browse files

Solved merge conflicts in AddressRecord.

parent ef809a14
No related branches found
No related tags found
1 merge request!74Integration of new ComposeView
......@@ -7,12 +7,13 @@
//
/* TODO: usedKeys -> associted?
*/
*/
import Contacts
import SwiftUI
import CoreData
extension AddressRecord {
/// Enum defining which key to to sort contacts by (name, recency).
enum SortBy: String {
case name = "displayname"
case recency = "last" // still unavailable
......@@ -22,6 +23,13 @@ extension AddressRecord {
return [NSSortDescriptor(key: "email", ascending: true)]
}
var mcoAddress: MCOAddress {
get {
let name = displayname ?? email
return MCOAddress.init(displayName: name, mailbox: email)
}
}
static func lookForPrefix(prefix: String) -> NSFetchRequest<AddressRecord> {
let freq = NSFetchRequest<AddressRecord>(entityName: AddressRecord.entityName)
freq.sortDescriptors = sorting
......@@ -76,7 +84,6 @@ extension AddressRecord {
get {
if let contact = self.phoneBookID {
// TODO Look up cn contact name!
}
if let displayname = self.displayname {
return displayname
......@@ -113,59 +120,11 @@ extension AddressRecord {
}
}
extension AddressRecord: MailAddress {
public var mailAddress: String {
get {
return email
}
}
public var label: CNLabeledValue<NSString> {
return CNLabeledValue.init(label: CNLabelWork, value: (email) as NSString) // TODO
}
public var isUser: Bool {
if let user = UserManager.loadUserValue(.userAddr) as? String {
return user == email
}
return false
}
public var publicKeys: Set<PublicKeyRecord> {
if let set = usedPublicKeys, let keys = set as? Set<PublicKeyRecord> {
return keys
}
return Set<PublicKeyRecord> ()
}
public var contact: Contact? {
return nil // TODO
}
}
extension AddressRecord: Contact {
public var cnContact: CNContact? {
// TODO FIX!
return nil
}
public func getMailAddresses() -> [MailAddress] {
var addresses = [AddressRecord] ()
addresses.append(self)
for key in self.publicKeys {
if let set = key.usedAddress as? Set<AddressRecord> {
addresses.append(contentsOf: set)
}
}
return addresses
}
}
extension AddressRecord: DisplayContact {
typealias C = AddressRecord
var avatar: Image {
return Image(uiImage: getImageOrDefault())
return ContactHandler.getImageOrDefault(addr: self)
}
var isInContactBook: Bool {
......@@ -173,7 +132,18 @@ extension AddressRecord: DisplayContact {
}
var otherAddresses: [C] {
return getMailAddresses() as! [AddressRecord]
get{
var addresses = [AddressRecord] ()
addresses.append(self)
if let keys = self.usedPublicKeys as? Set<PublicKeyRecord> {
for key in keys {
if let set = key.usedAddress as? Set<AddressRecord> {
addresses.append(contentsOf: set)
}
}
}
return addresses
}
}
var keyIDs: [String] {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment