diff options
Diffstat (limited to 'Hotline/Models/Preferences.swift')
| -rw-r--r-- | Hotline/Models/Preferences.swift | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/Hotline/Models/Preferences.swift b/Hotline/Models/Preferences.swift deleted file mode 100644 index 207ce91..0000000 --- a/Hotline/Models/Preferences.swift +++ /dev/null @@ -1,134 +0,0 @@ -import SwiftUI - -enum PrefsKeys: String { - case username = "username" - case userIconID = "user icon id" - case refusePrivateMessages = "refuse private messages" - case refusePrivateChat = "refuse private chat" - case enableAutomaticMessage = "enable automatic message" - case automaticMessage = "automatic message" - case playSounds = "play sounds" - case playChatSound = "play chat sound" - case playFileTransferCompleteSound = "play file transfer complete sound" - case playPrivateMessageSound = "play private message sound" - case playJoinSound = "play join sound" - case playLeaveSound = "play leave sound" - case playLoggedInSound = "play logged in sound" - case playErrorSound = "play error sound" - case playChatInvitationSound = "play chat invitation sound" - case showBannerToolbar = "show banner toolbar" - case showJoinLeaveMessages = "show join leave messages" -} - -@Observable -class Prefs { - init() { - UserDefaults.standard.register(defaults:[ - PrefsKeys.username.rawValue: "guest", - PrefsKeys.userIconID.rawValue: 191, - PrefsKeys.refusePrivateMessages.rawValue: false, - PrefsKeys.refusePrivateChat.rawValue: false, - PrefsKeys.enableAutomaticMessage.rawValue: false, - PrefsKeys.automaticMessage.rawValue: "", - PrefsKeys.playSounds.rawValue: true, - PrefsKeys.playChatSound.rawValue: true, - PrefsKeys.playFileTransferCompleteSound.rawValue: true, - PrefsKeys.playPrivateMessageSound.rawValue: true, - PrefsKeys.playJoinSound.rawValue: true, - PrefsKeys.playLeaveSound.rawValue: true, - PrefsKeys.playLoggedInSound.rawValue: true, - PrefsKeys.playErrorSound.rawValue: true, - PrefsKeys.playChatInvitationSound.rawValue: true, - PrefsKeys.showBannerToolbar.rawValue: true, - PrefsKeys.showJoinLeaveMessages.rawValue: true, - ]) - - self.username = UserDefaults.standard.string(forKey: PrefsKeys.username.rawValue)! - self.userIconID = UserDefaults.standard.integer(forKey: PrefsKeys.userIconID.rawValue) - self.refusePrivateMessages = UserDefaults.standard.bool(forKey: PrefsKeys.refusePrivateMessages.rawValue) - self.refusePrivateChat = UserDefaults.standard.bool(forKey: PrefsKeys.refusePrivateChat.rawValue) - self.enableAutomaticMessage = UserDefaults.standard.bool(forKey: PrefsKeys.enableAutomaticMessage.rawValue) - self.automaticMessage = UserDefaults.standard.string(forKey: PrefsKeys.automaticMessage.rawValue)! - self.playSounds = UserDefaults.standard.bool(forKey: PrefsKeys.playSounds.rawValue) - self.playChatSound = UserDefaults.standard.bool(forKey: PrefsKeys.playChatSound.rawValue) - self.playFileTransferCompleteSound = UserDefaults.standard.bool(forKey: PrefsKeys.playFileTransferCompleteSound.rawValue) - self.playPrivateMessageSound = UserDefaults.standard.bool(forKey: PrefsKeys.playPrivateMessageSound.rawValue) - self.playJoinSound = UserDefaults.standard.bool(forKey: PrefsKeys.playJoinSound.rawValue) - self.playLeaveSound = UserDefaults.standard.bool(forKey: PrefsKeys.playLeaveSound.rawValue) - self.playLoggedInSound = UserDefaults.standard.bool(forKey: PrefsKeys.playLoggedInSound.rawValue) - self.playErrorSound = UserDefaults.standard.bool(forKey: PrefsKeys.playErrorSound.rawValue) - self.playChatInvitationSound = UserDefaults.standard.bool(forKey: PrefsKeys.playChatInvitationSound.rawValue) - self.showBannerToolbar = UserDefaults.standard.bool(forKey: PrefsKeys.showBannerToolbar.rawValue) - self.showJoinLeaveMessages = UserDefaults.standard.bool(forKey: PrefsKeys.showJoinLeaveMessages.rawValue) - } - - public static let shared = Prefs() - - var username: String { - didSet { UserDefaults.standard.set(self.username, forKey: PrefsKeys.username.rawValue) } - } - - var userIconID: Int { - didSet { UserDefaults.standard.set(self.userIconID, forKey: PrefsKeys.userIconID.rawValue) } - } - - var refusePrivateMessages: Bool { - didSet { UserDefaults.standard.set(self.refusePrivateMessages, forKey: PrefsKeys.refusePrivateMessages.rawValue) } - } - - var playSounds: Bool { - didSet { UserDefaults.standard.set(self.playSounds, forKey: PrefsKeys.playSounds.rawValue) } - } - - var playChatSound: Bool { - didSet { UserDefaults.standard.set(self.playChatSound, forKey: PrefsKeys.playChatSound.rawValue) } - } - - var playFileTransferCompleteSound: Bool { - didSet { UserDefaults.standard.set(self.playFileTransferCompleteSound, forKey: PrefsKeys.playFileTransferCompleteSound.rawValue) } - } - - var playPrivateMessageSound: Bool { - didSet { UserDefaults.standard.set(self.playPrivateMessageSound, forKey: PrefsKeys.playPrivateMessageSound.rawValue) } - } - - var playJoinSound: Bool { - didSet { UserDefaults.standard.set(self.playJoinSound, forKey: PrefsKeys.playJoinSound.rawValue) } - } - - var playLeaveSound: Bool { - didSet { UserDefaults.standard.set(self.playLeaveSound, forKey: PrefsKeys.playLeaveSound.rawValue) } - } - - var playLoggedInSound: Bool { - didSet { UserDefaults.standard.set(self.playLoggedInSound, forKey: PrefsKeys.playLoggedInSound.rawValue) } - } - - var playErrorSound: Bool { - didSet { UserDefaults.standard.set(self.playErrorSound, forKey: PrefsKeys.playErrorSound.rawValue) } - } - - var playChatInvitationSound: Bool { - didSet { UserDefaults.standard.set(self.playChatInvitationSound, forKey: PrefsKeys.playChatInvitationSound.rawValue) } - } - - var refusePrivateChat: Bool { - didSet { UserDefaults.standard.set(self.refusePrivateChat, forKey: PrefsKeys.refusePrivateChat.rawValue) } - } - - var enableAutomaticMessage: Bool { - didSet { UserDefaults.standard.set(self.enableAutomaticMessage, forKey: PrefsKeys.enableAutomaticMessage.rawValue) } - } - - var automaticMessage: String { - didSet { UserDefaults.standard.set(self.automaticMessage, forKey: PrefsKeys.automaticMessage.rawValue) } - } - - var showBannerToolbar: Bool { - didSet { UserDefaults.standard.set(self.showBannerToolbar, forKey: PrefsKeys.showBannerToolbar.rawValue) } - } - - var showJoinLeaveMessages: Bool { - didSet { UserDefaults.standard.set(self.showJoinLeaveMessages, forKey: PrefsKeys.showJoinLeaveMessages.rawValue) } - } -} |