diff --git a/pass/Controllers/GeneralSettingsTableViewController.swift b/pass/Controllers/GeneralSettingsTableViewController.swift index 9d83de8..df1bede 100644 --- a/pass/Controllers/GeneralSettingsTableViewController.swift +++ b/pass/Controllers/GeneralSettingsTableViewController.swift @@ -169,10 +169,12 @@ class GeneralSettingsTableViewController: BasicStaticTableViewController { func hideUnknownSwitchAction(_ sender: Any?) { Defaults[.isHideUnknownOn] = hideUnknownSwitch.isOn + NotificationCenter.default.post(name: .passwordDetailDisplaySettingChanged, object: nil) } func hideOTPSwitchAction(_ sender: Any?) { Defaults[.isHideOTPOn] = hideOTPSwitch.isOn + NotificationCenter.default.post(name: .passwordDetailDisplaySettingChanged, object: nil) } func rememberPassphraseSwitchAction(_ sender: Any?) { @@ -184,7 +186,7 @@ class GeneralSettingsTableViewController: BasicStaticTableViewController { func showFolderSwitchAction(_ sender: Any?) { Defaults[.isShowFolderOn] = showFolderSwitch.isOn - NotificationCenter.default.post(name: .passwordStoreUpdated, object: nil) + NotificationCenter.default.post(name: .passwordDisplaySettingChanged, object: nil) } } diff --git a/pass/Controllers/PasswordDetailTableViewController.swift b/pass/Controllers/PasswordDetailTableViewController.swift index c68940a..078474c 100644 --- a/pass/Controllers/PasswordDetailTableViewController.swift +++ b/pass/Controllers/PasswordDetailTableViewController.swift @@ -96,8 +96,14 @@ class PasswordDetailTableViewController: UITableViewController, UIGestureRecogni self.setupOneTimePasswordAutoRefresh() + // pop the current view because this password might be "discarded" NotificationCenter.default.addObserver(self, selector: #selector(setShouldPopCurrentView), name: .passwordStoreChangeDiscarded, object: nil) + + // reset the data table if some password (maybe another one) has been updated NotificationCenter.default.addObserver(self, selector: #selector(showPassword), name: .passwordStoreUpdated, object: nil) + + // reset the data table if the disaply settings have been changed + NotificationCenter.default.addObserver(self, selector: #selector(showPassword), name: .passwordDetailDisplaySettingChanged, object: nil) } override func viewDidAppear(_ animated: Bool) { diff --git a/pass/Controllers/PasswordsViewController.swift b/pass/Controllers/PasswordsViewController.swift index 1155b35..1171224 100644 --- a/pass/Controllers/PasswordsViewController.swift +++ b/pass/Controllers/PasswordsViewController.swift @@ -161,7 +161,12 @@ class PasswordsViewController: UIViewController, UITableViewDataSource, UITableV } private func addNotificationObservers() { + // reset the data table if some password (maybe another one) has been updated NotificationCenter.default.addObserver(self, selector: #selector(PasswordsViewController.actOnPasswordStoreUpdatedNotification), name: .passwordStoreUpdated, object: nil) + + // reset the data table if the disaply settings have been changed + NotificationCenter.default.addObserver(self, selector: #selector(actOnPasswordStoreUpdatedNotification), name: .passwordDisplaySettingChanged, object: nil) + NotificationCenter.default.addObserver(self, selector: #selector(PasswordsViewController.actOnSearchNotification), name: .passwordSearch, object: nil) } diff --git a/pass/Helpers/NotificationNames.swift b/pass/Helpers/NotificationNames.swift index e4bf3d8..e59f843 100644 --- a/pass/Helpers/NotificationNames.swift +++ b/pass/Helpers/NotificationNames.swift @@ -13,4 +13,7 @@ extension Notification.Name { static let passwordStoreErased = Notification.Name("passwordStoreErased") static let passwordStoreChangeDiscarded = Notification.Name("passwordStoreChangeDiscarded") static let passwordSearch = Notification.Name("passwordSearch") + + static let passwordDisplaySettingChanged = Notification.Name("passwordDisplaySettingChanged") + static let passwordDetailDisplaySettingChanged = Notification.Name("passwordDetailDisplaySettingChanged") }