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.
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package convertor
|
|
|
|
import (
|
|
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/setting"
|
|
)
|
|
|
|
type RepositoryContract interface {
|
|
GetPathFfmpeg() string
|
|
SavePathFfmpeg(code string) setting.Setting
|
|
GetPathFfprobe() string
|
|
SavePathFfprobe(code string) setting.Setting
|
|
GetPathFfplay() string
|
|
SavePathFfplay(code string) setting.Setting
|
|
}
|
|
|
|
type Repository struct {
|
|
settingRepository setting.RepositoryContract
|
|
}
|
|
|
|
func NewRepository(settingRepository setting.RepositoryContract) *Repository {
|
|
return &Repository{settingRepository: settingRepository}
|
|
}
|
|
|
|
func (r Repository) GetPathFfmpeg() string {
|
|
return r.settingRepository.GetValue("ffmpeg")
|
|
}
|
|
|
|
func (r Repository) SavePathFfmpeg(path string) setting.Setting {
|
|
return r.settingRepository.CreateOrUpdate("ffmpeg", path)
|
|
}
|
|
|
|
func (r Repository) GetPathFfprobe() string {
|
|
return r.settingRepository.GetValue("ffprobe")
|
|
}
|
|
|
|
func (r Repository) SavePathFfprobe(path string) setting.Setting {
|
|
return r.settingRepository.CreateOrUpdate("ffprobe", path)
|
|
}
|
|
|
|
func (r Repository) GetPathFfplay() string {
|
|
return r.settingRepository.GetValue("ffplay")
|
|
}
|
|
|
|
func (r Repository) SavePathFfplay(path string) setting.Setting {
|
|
return r.settingRepository.CreateOrUpdate("ffplay", path)
|
|
}
|