Replaced bbolt-based database handling with Fyne built-in preferences for storing application settings. Deleted migration logic, database initialization, and error handling related to bbolt, simplifying the codebase and reducing external dependencies.
29 lines
639 B
Go
29 lines
639 B
Go
package theme
|
|
|
|
import "git.kor-elf.net/kor-elf/gui-for-ffmpeg/setting"
|
|
|
|
type RepositoryContract interface {
|
|
GetCode() string
|
|
Save(code string) setting.Setting
|
|
}
|
|
|
|
type Repository struct {
|
|
settingRepository setting.RepositoryContract
|
|
}
|
|
|
|
func NewRepository(settingRepository setting.RepositoryContract) *Repository {
|
|
return &Repository{settingRepository: settingRepository}
|
|
}
|
|
|
|
func (r Repository) GetCode() string {
|
|
name := r.settingRepository.GetValue("theme")
|
|
if len(name) == 0 {
|
|
return "default"
|
|
}
|
|
return name
|
|
}
|
|
|
|
func (r Repository) Save(code string) setting.Setting {
|
|
return r.settingRepository.CreateOrUpdate("theme", code)
|
|
}
|