forked from AgoraIO/API-Examples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSettingsController.swift
More file actions
88 lines (71 loc) · 3.79 KB
/
SettingsController.swift
File metadata and controls
88 lines (71 loc) · 3.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
//
// SettingsController.swift
// APIExample
//
// Created by XC on 2020/12/15.
// Copyright © 2020 Agora Corp. All rights reserved.
//
import Cocoa
class SettingsController: BaseViewController {
@IBOutlet weak var resolutionLabel: NSTextField!
@IBOutlet weak var resolutionPicker: NSPopUpButton!
@IBOutlet weak var fpsLabel: NSTextField!
@IBOutlet weak var fpsPicker: NSPopUpButton!
@IBOutlet weak var sdkVersionLabel: NSTextField!
@IBOutlet weak var sdkVersion: NSTextField!
@IBOutlet weak var proxyLabel: NSTextField!
@IBOutlet weak var proxyPicker: NSPopUpButton!
@IBOutlet weak var ipTextField: NSTextField!
@IBOutlet weak var logReportSwitch: NSSwitch!
@IBOutlet weak var logServerDomainTextField: NSTextField!
@IBOutlet weak var logServerPortTextField: NSTextField!
@IBOutlet weak var logServerPathTextField: NSTextField!
@IBOutlet weak var useHttpsSwitch: NSSwitch!
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
self.resolutionLabel.cell?.title = "Resolution".localized
self.resolutionPicker.addItems(withTitles: GlobalSettings.shared.resolutionSetting.options.map { $0.label })
self.resolutionPicker.selectItem(at: GlobalSettings.shared.resolutionSetting.selected)
self.fpsLabel.cell?.title = "Frame Rate".localized
self.fpsPicker.addItems(withTitles: GlobalSettings.shared.fpsSetting.options.map { $0.label })
self.fpsPicker.selectItem(at: GlobalSettings.shared.fpsSetting.selected)
self.proxyLabel.cell?.title = "Enable Cloud Proxy".localized
self.proxyPicker.addItems(withTitles: GlobalSettings.shared.proxySetting.options.map { $0.label })
self.proxyPicker.selectItem(at: GlobalSettings.shared.proxySetting.selected)
self.sdkVersion.cell?.title = "v\(AgoraRtcEngineKit.getSdkVersion())"
ipTextField.stringValue = GlobalSettings.shared.getCache(key: "ip")
logReportSwitch.state = GlobalSettings.shared.getCache(key: "report") == true ? .on : .off
logServerDomainTextField.stringValue = GlobalSettings.shared.getCache(key: "log_server_domain")
logServerPortTextField.stringValue = GlobalSettings.shared.getCache(key: "log_server_port")
logServerPathTextField.stringValue = GlobalSettings.shared.getCache(key: "log_server_path")
useHttpsSwitch.state = GlobalSettings.shared.getCache(key: "log_server_https") == true ? .on : .off
}
@IBAction func onResolutionChanged(_ sender: NSPopUpButton) {
GlobalSettings.shared.resolutionSetting.selected = sender.indexOfSelectedItem
}
@IBAction func onFpsChanged(_ sender: NSPopUpButton) {
GlobalSettings.shared.fpsSetting.selected = sender.indexOfSelectedItem
}
@IBAction func onProxyChanged(_ sender: NSPopUpButton) {
GlobalSettings.shared.proxySetting.selected = sender.indexOfSelectedItem
}
@IBAction func OnIPAddressChanged(_ sender: NSTextField) {
GlobalSettings.shared.cache["ip"] = sender.stringValue
}
@IBAction func onLogReportChanged(_ sender: NSSwitch) {
GlobalSettings.shared.cache["report"] = sender.state == .on
}
@IBAction func onLogServerDomainChanged(_ sender: NSTextField) {
GlobalSettings.shared.cache["log_server_domain"] = sender.stringValue
}
@IBAction func onLogServerPortChanged(_ sender: NSTextField) {
GlobalSettings.shared.cache["log_server_port"] = sender.stringValue
}
@IBAction func onLogServerPathChanged(_ sender: NSTextField) {
GlobalSettings.shared.cache["log_server_path"] = sender.stringValue
}
@IBAction func onUseHttpsChanged(_ sender: NSSwitch) {
GlobalSettings.shared.cache["log_server_https"] = sender.state == .on
}
}