ClashX.Meta/ClashX/Managers/ConfigManager.swift

64 lines
1.6 KiB
Swift
Raw Normal View History

2018-06-13 10:44:30 +08:00
//
// ConfigManager.swift
// ClashX
//
// Created by on 2018/6/12.
// Copyright © 2018 west2online. All rights reserved.
//
import Foundation
import Cocoa
import RxSwift
2018-06-13 10:44:30 +08:00
class ConfigManager {
static let shared = ConfigManager()
2018-06-13 10:44:30 +08:00
var currentConfig:ClashConfig?{
get {
return currentConfigVariable.value
2018-06-13 10:44:30 +08:00
}
2018-06-13 10:44:30 +08:00
set {
currentConfigVariable.value = newValue
2018-06-13 10:44:30 +08:00
}
}
var currentConfigVariable = Variable<ClashConfig?>(nil)
2018-06-13 10:44:30 +08:00
var proxyPortAutoSet:Bool {
2018-06-13 10:44:30 +08:00
get{
return UserDefaults.standard.bool(forKey: "proxyPortAutoSet")
2018-06-13 10:44:30 +08:00
}
set {
UserDefaults.standard.set(newValue, forKey: "proxyPortAutoSet")
2018-06-13 10:44:30 +08:00
}
}
let proxyPortAutoSetObservable = UserDefaults.standard.rx.observe(Bool.self, "proxyPortAutoSet")
2018-07-30 15:55:10 +08:00
var showNetSpeedIndicator:Bool {
get{
return UserDefaults.standard.bool(forKey: "showNetSpeedIndicator")
}
set {
UserDefaults.standard.set(newValue, forKey: "showNetSpeedIndicator")
}
}
let showNetSpeedIndicatorObservable = UserDefaults.standard.rx.observe(Bool.self, "showNetSpeedIndicator")
2018-07-30 15:55:10 +08:00
static var apiUrl:String{
get {
return "http://127.0.0.1:8080"
}
}
2018-08-04 14:33:47 +08:00
static var selectedProxyMap:[String:String] {
get{
return UserDefaults.standard.dictionary(forKey: "selectedProxyMap") as? [String:String] ?? ["Proxy":"ProxyAuto"]
}
set {
UserDefaults.standard.set(newValue, forKey: "selectedProxyMap")
}
}
2018-06-13 10:44:30 +08:00
}