mirror of
https://github.com/meshtastic/Meshtastic-Apple.git
synced 2026-04-20 22:13:56 +00:00
Default to hybridFlyover Use short name for node annotation title, add long name to annotation detail Add map settings section to app settings
65 lines
2.1 KiB
Swift
65 lines
2.1 KiB
Swift
//
|
|
// UserSettings.swift
|
|
// MeshtasticApple
|
|
//
|
|
// Created by Garth Vander Houwen on 6/9/22.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
class UserSettings: ObservableObject {
|
|
@Published var meshtasticUsername: String {
|
|
didSet {
|
|
UserDefaults.standard.set(meshtasticUsername, forKey: "meshtasticusername")
|
|
}
|
|
}
|
|
@Published var preferredPeripheralId: String {
|
|
didSet {
|
|
UserDefaults.standard.set(preferredPeripheralId, forKey: "preferredPeripheralId")
|
|
UserDefaults.standard.synchronize()
|
|
}
|
|
}
|
|
@Published var preferredNodeNum: Int64 {
|
|
didSet {
|
|
UserDefaults.standard.set(preferredNodeNum, forKey: "preferredNodeNum")
|
|
UserDefaults.standard.synchronize()
|
|
}
|
|
}
|
|
@Published var provideLocation: Bool {
|
|
didSet {
|
|
UserDefaults.standard.set(provideLocation, forKey: "provideLocation")
|
|
}
|
|
}
|
|
@Published var provideLocationInterval: Int {
|
|
didSet {
|
|
UserDefaults.standard.set(provideLocationInterval, forKey: "provideLocationInterval")
|
|
}
|
|
}
|
|
@Published var keyboardType: Int {
|
|
didSet {
|
|
UserDefaults.standard.set(keyboardType, forKey: "keyboardType")
|
|
}
|
|
}
|
|
@Published var meshMapType: String {
|
|
didSet {
|
|
UserDefaults.standard.set(meshMapType, forKey: "meshMapType")
|
|
}
|
|
}
|
|
@Published var meshMapCustomTileServer: String {
|
|
didSet {
|
|
UserDefaults.standard.set(meshMapCustomTileServer, forKey: "meshMapCustomTileServer")
|
|
}
|
|
}
|
|
|
|
init() {
|
|
|
|
self.meshtasticUsername = UserDefaults.standard.object(forKey: "meshtasticusername") as? String ?? ""
|
|
self.preferredPeripheralId = UserDefaults.standard.object(forKey: "preferredPeripheralId") as? String ?? ""
|
|
self.preferredNodeNum = UserDefaults.standard.object(forKey: "preferredNodeNum") as? Int64 ?? 0
|
|
self.provideLocation = UserDefaults.standard.object(forKey: "provideLocation") as? Bool ?? false
|
|
self.provideLocationInterval = UserDefaults.standard.object(forKey: "provideLocationInterval") as? Int ?? 900
|
|
self.keyboardType = UserDefaults.standard.object(forKey: "keyboardType") as? Int ?? 0
|
|
self.meshMapType = UserDefaults.standard.string(forKey: "meshMapType") ?? "hybridFlyover"
|
|
self.meshMapCustomTileServer = UserDefaults.standard.string(forKey: "meshMapCustomTileServer") ?? ""
|
|
}
|
|
}
|