diff --git a/enzevalos_iphone/InboxViewController.swift b/enzevalos_iphone/InboxViewController.swift index 5f31fac098c9d3d5a49c410f0463e1a9d0acb7df..75123752c482cfb2e639ee3f0735832e8eb7b733 100644 --- a/enzevalos_iphone/InboxViewController.swift +++ b/enzevalos_iphone/InboxViewController.swift @@ -276,11 +276,35 @@ class InboxViewController: UITableViewController, InboxCellDelegator { */ private func _filterContentForSearchText(_ searchText: String, scope: Int = 0) { var records = [KeyRecord]() - if scope == 0 { - records += folder.records.filter({ (record: KeyRecord) -> Bool in - return containsSearchTerms(content: record.name, searchText: searchText) - }) - } + + records += folder.records.filter({ (record: KeyRecord) -> Bool in + if scope == 0 + { + return containsSearchTerms(content: record.name, searchText: searchText) + } + let mails = record.inboxMails + return mails.filter({ (mail: PersistentMail) -> Bool in + var str = "" + if scope == 1 || scope == 3 + { + str.append(contentsOf: mail.subject ?? "") + } + if scope == 2 || scope == 3 + { + if let decryptedBody = mail.decryptedBody { + str.append(decryptedBody) + } else if !mail.isEncrypted { + str.append(contentsOf: mail.body ?? "") + } + } + if scope == 3 + { + str.append(contentsOf: record.name) + } + return containsSearchTerms(content: str, searchText: searchText) + }).count > 0 + }) + /* if scope == 1 { records += folder.records.filter({ (record: KeyRecord) -> Bool in let mails = record.inboxMails @@ -320,7 +344,7 @@ class InboxViewController: UITableViewController, InboxCellDelegator { return false }).count > 0 }) - } + }*/ filteredRecords = records.unique.sorted()