* Remove superfluous method arguments in method references
* Use 'Self' for internal static access
* Convert static to instance field in singleton class
* Remove class name prefix in references to local methods
* Remove nested frameworks in all extensions and frameworks
Previously, 'openLink' has chosen the first URL field contained in the
password file. Since the action "Copy & Open" is performed on a specific
field, only its content should be considered.
- in Password.swift: allow get otpType
- in PasswordDetailTableVC.swift: make many things private
- in LabelTableViewCell: remove password and password entity
- in Globals: add password dots and fonts
- define notification names
- move "post notification" to PasswordStore (todo: move "search" and the one for "show folder switch")
- "erase" and "reset" also post the "passwordStoreUpdated" notification
- Update logic: Only fields otp_secret and otp_type are required for TOTP. Only fields otp_secret, otp_type and otp_counter are required for HOTP. Other fields (i.e., otp_algorithm, otp_digits, otp_period) are optional.
- Support HOTP: (1) passwords are initially concealed; (2) "tap->next" generates a new password and commits the updated password file automatically