mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-15 00:34:08 +09:00
feat: moved all modules to the new way of reader mode with a small refactoring
This commit is contained in:
@@ -84,7 +84,7 @@ public class GPU: Module {
|
||||
|
||||
public init() {
|
||||
self.popupView = Popup()
|
||||
self.settingsView = Settings("GPU")
|
||||
self.settingsView = Settings(.GPU)
|
||||
self.portalView = Portal(.GPU)
|
||||
self.notificationsView = Notifications(.GPU)
|
||||
|
||||
@@ -96,15 +96,10 @@ public class GPU: Module {
|
||||
)
|
||||
guard self.available else { return }
|
||||
|
||||
self.infoReader = InfoReader(.GPU)
|
||||
self.selectedGPU = Store.shared.string(key: "\(self.config.name)_gpu", defaultValue: self.selectedGPU)
|
||||
|
||||
self.infoReader?.callbackHandler = { [weak self] value in
|
||||
self.infoReader = InfoReader(.GPU) { [weak self] value in
|
||||
self?.infoCallback(value)
|
||||
}
|
||||
self.infoReader?.readyCallback = { [weak self] in
|
||||
self?.readyHandler()
|
||||
}
|
||||
self.selectedGPU = Store.shared.string(key: "\(self.config.name)_gpu", defaultValue: self.selectedGPU)
|
||||
|
||||
self.settingsView.selectedGPUHandler = { [weak self] value in
|
||||
self?.selectedGPU = value
|
||||
@@ -117,9 +112,7 @@ public class GPU: Module {
|
||||
self?.infoReader?.read()
|
||||
}
|
||||
|
||||
if let reader = self.infoReader {
|
||||
self.addReader(reader)
|
||||
}
|
||||
self.setReaders([self.infoReader])
|
||||
}
|
||||
|
||||
private func infoCallback(_ raw: GPUs?) {
|
||||
|
||||
@@ -26,8 +26,8 @@ internal class Settings: NSStackView, Settings_v {
|
||||
private var hyperthreadView: NSView? = nil
|
||||
private var button: NSPopUpButton?
|
||||
|
||||
public init(_ title: String) {
|
||||
self.title = title
|
||||
public init(_ module: ModuleType) {
|
||||
self.title = module.rawValue
|
||||
self.selectedGPU = Store.shared.string(key: "\(self.title)_gpu", defaultValue: "")
|
||||
self.updateIntervalValue = Store.shared.int(key: "\(self.title)_updateInterval", defaultValue: self.updateIntervalValue)
|
||||
self.showTypeValue = Store.shared.bool(key: "\(self.title)_showType", defaultValue: self.showTypeValue)
|
||||
|
||||
Reference in New Issue
Block a user