diff --git a/pkg/mining/settings_manager.go b/pkg/mining/settings_manager.go index fc9fd64..3b0028f 100644 --- a/pkg/mining/settings_manager.go +++ b/pkg/mining/settings_manager.go @@ -86,15 +86,15 @@ func DefaultSettings() *AppSettings { } } -// sm, err := NewSettingsManager() -// settings := sm.Get() +// settingsManager, err := NewSettingsManager() +// settings := settingsManager.Get() type SettingsManager struct { mu sync.RWMutex settings *AppSettings settingsPath string } -// sm, err := NewSettingsManager() +// settingsManager, err := NewSettingsManager() // if err != nil { return err } func NewSettingsManager() (*SettingsManager, error) { settingsPath, err := xdg.ConfigFile(filepath.Join("lethean-desktop", settingsFileName)) @@ -102,15 +102,15 @@ func NewSettingsManager() (*SettingsManager, error) { return nil, fmt.Errorf("could not resolve settings path: %w", err) } - sm := &SettingsManager{ + settingsManager := &SettingsManager{ settings: DefaultSettings(), settingsPath: settingsPath, } - if err := sm.Load(); err != nil { + if err := settingsManager.Load(); err != nil { // If file doesn't exist, use defaults and save them if os.IsNotExist(err) { - if saveErr := sm.Save(); saveErr != nil { + if saveErr := settingsManager.Save(); saveErr != nil { return nil, fmt.Errorf("could not save default settings: %w", saveErr) } } else { @@ -118,15 +118,15 @@ func NewSettingsManager() (*SettingsManager, error) { } } - return sm, nil + return settingsManager, nil } -// if err := sm.Load(); err != nil && !os.IsNotExist(err) { return err } -func (sm *SettingsManager) Load() error { - sm.mu.Lock() - defer sm.mu.Unlock() +// if err := settingsManager.Load(); err != nil && !os.IsNotExist(err) { return err } +func (settingsManager *SettingsManager) Load() error { + settingsManager.mu.Lock() + defer settingsManager.mu.Unlock() - data, err := os.ReadFile(sm.settingsPath) + data, err := os.ReadFile(settingsManager.settingsPath) if err != nil { return err } @@ -136,52 +136,52 @@ func (sm *SettingsManager) Load() error { return err } - sm.settings = &settings + settingsManager.settings = &settings return nil } -// if err := sm.Save(); err != nil { log.Fatal("could not persist settings") } -func (sm *SettingsManager) Save() error { - sm.mu.Lock() - defer sm.mu.Unlock() +// if err := settingsManager.Save(); err != nil { return err } +func (settingsManager *SettingsManager) Save() error { + settingsManager.mu.Lock() + defer settingsManager.mu.Unlock() - data, err := json.MarshalIndent(sm.settings, "", " ") + data, err := json.MarshalIndent(settingsManager.settings, "", " ") if err != nil { return err } - return os.WriteFile(sm.settingsPath, data, 0600) + return os.WriteFile(settingsManager.settingsPath, data, 0600) } -// settings := sm.Get() +// settings := settingsManager.Get() // if settings.Theme == "dark" { ... } -func (sm *SettingsManager) Get() *AppSettings { - sm.mu.RLock() - defer sm.mu.RUnlock() +func (settingsManager *SettingsManager) Get() *AppSettings { + settingsManager.mu.RLock() + defer settingsManager.mu.RUnlock() // Return a copy to prevent concurrent modification - settingsCopy := *sm.settings + settingsCopy := *settingsManager.settings return &settingsCopy } -// sm.Update(func(s *AppSettings) { s.Theme = "dark" }) -func (sm *SettingsManager) Update(fn func(*AppSettings)) error { - sm.mu.Lock() - defer sm.mu.Unlock() +// settingsManager.Update(func(s *AppSettings) { s.Theme = "dark" }) +func (settingsManager *SettingsManager) Update(fn func(*AppSettings)) error { + settingsManager.mu.Lock() + defer settingsManager.mu.Unlock() - fn(sm.settings) + fn(settingsManager.settings) - data, err := json.MarshalIndent(sm.settings, "", " ") + data, err := json.MarshalIndent(settingsManager.settings, "", " ") if err != nil { return err } - return os.WriteFile(sm.settingsPath, data, 0600) + return os.WriteFile(settingsManager.settingsPath, data, 0600) } -// sm.UpdateWindowState(100, 200, 1400, 900, false) -func (sm *SettingsManager) UpdateWindowState(x, y, width, height int, maximized bool) error { - return sm.Update(func(s *AppSettings) { +// settingsManager.UpdateWindowState(100, 200, 1400, 900, false) +func (settingsManager *SettingsManager) UpdateWindowState(x, y, width, height int, maximized bool) error { + return settingsManager.Update(func(s *AppSettings) { s.Window.X = x s.Window.Y = y s.Window.Width = width @@ -190,31 +190,31 @@ func (sm *SettingsManager) UpdateWindowState(x, y, width, height int, maximized }) } -// state := sm.GetWindowState() +// state := settingsManager.GetWindowState() // if state.Maximized { ... } -func (sm *SettingsManager) GetWindowState() WindowState { - sm.mu.RLock() - defer sm.mu.RUnlock() - return sm.settings.Window +func (settingsManager *SettingsManager) GetWindowState() WindowState { + settingsManager.mu.RLock() + defer settingsManager.mu.RUnlock() + return settingsManager.settings.Window } -// if err := sm.SetStartOnBoot(true); err != nil { return err } -func (sm *SettingsManager) SetStartOnBoot(enabled bool) error { - return sm.Update(func(s *AppSettings) { +// if err := settingsManager.SetStartOnBoot(true); err != nil { return err } +func (settingsManager *SettingsManager) SetStartOnBoot(enabled bool) error { + return settingsManager.Update(func(s *AppSettings) { s.StartOnBoot = enabled }) } -// if err := sm.SetAutostartMiners(true); err != nil { return err } -func (sm *SettingsManager) SetAutostartMiners(enabled bool) error { - return sm.Update(func(s *AppSettings) { +// if err := settingsManager.SetAutostartMiners(true); err != nil { return err } +func (settingsManager *SettingsManager) SetAutostartMiners(enabled bool) error { + return settingsManager.Update(func(s *AppSettings) { s.AutostartMiners = enabled }) } -// if err := sm.SetCPUThrottle(true, 70); err != nil { return err } -func (sm *SettingsManager) SetCPUThrottle(enabled bool, percent int) error { - return sm.Update(func(s *AppSettings) { +// if err := settingsManager.SetCPUThrottle(true, 70); err != nil { return err } +func (settingsManager *SettingsManager) SetCPUThrottle(enabled bool, percent int) error { + return settingsManager.Update(func(s *AppSettings) { s.EnableCPUThrottle = enabled if percent > 0 && percent <= 100 { s.CPUThrottlePercent = percent @@ -222,9 +222,9 @@ func (sm *SettingsManager) SetCPUThrottle(enabled bool, percent int) error { }) } -// sm.SetMinerDefaults(MinerDefaults{DefaultPool: "pool.minexmr.com:4444", CPUMaxThreadsHint: 50}) -func (sm *SettingsManager) SetMinerDefaults(defaults MinerDefaults) error { - return sm.Update(func(s *AppSettings) { +// settingsManager.SetMinerDefaults(MinerDefaults{DefaultPool: "pool.minexmr.com:4444", CPUMaxThreadsHint: 50}) +func (settingsManager *SettingsManager) SetMinerDefaults(defaults MinerDefaults) error { + return settingsManager.Update(func(s *AppSettings) { s.MinerDefaults = defaults }) }