新增: 相册展示模块(左侧幻灯片+进度条+目录选择)
- 左侧固定卡片展示照片幻灯片,淡入淡出切换 - 进度条动画显示当前照片剩余时间 - 设置窗口支持选择图片目录和切换间隔(5/10/15/20/30/60秒) - Win32 SHBrowseForFolderW 目录选择对话框 - Go 端管理幻灯片状态,按间隔推送照片 data URI
This commit is contained in:
36
settings.go
36
settings.go
@@ -138,6 +138,8 @@ func openSettingsWindow() {
|
||||
"imagePath": cfg.ImagePath,
|
||||
"showSeconds": cfg.ShowSeconds,
|
||||
"ainewsCard": !cfg.HideAINews,
|
||||
"photoDir": cfg.PhotoDir,
|
||||
"photoInterval": cfg.PhotoInterval,
|
||||
})
|
||||
return string(data)
|
||||
})
|
||||
@@ -364,6 +366,40 @@ func openSettingsWindow() {
|
||||
return ""
|
||||
})
|
||||
|
||||
w.Bind("pickPhotoDir", func() string {
|
||||
hwnd := uintptr(w.Window())
|
||||
dir := browseForFolderDialog(hwnd)
|
||||
if dir == "" {
|
||||
return ""
|
||||
}
|
||||
cfg := loadConfig()
|
||||
cfg.PhotoDir = dir
|
||||
if cfg.PhotoInterval <= 0 {
|
||||
cfg.PhotoInterval = 15
|
||||
}
|
||||
saveConfig(cfg)
|
||||
restartPhotoLoop()
|
||||
return dir
|
||||
})
|
||||
|
||||
w.Bind("clearPhotoDir", func() string {
|
||||
cfg := loadConfig()
|
||||
cfg.PhotoDir = ""
|
||||
saveConfig(cfg)
|
||||
restartPhotoLoop()
|
||||
return ""
|
||||
})
|
||||
|
||||
w.Bind("savePhotoInterval", func(val int) string {
|
||||
cfg := loadConfig()
|
||||
cfg.PhotoInterval = val
|
||||
saveConfig(cfg)
|
||||
if cfg.PhotoDir != "" {
|
||||
restartPhotoLoop()
|
||||
}
|
||||
return ""
|
||||
})
|
||||
|
||||
w.SetHtml(settingsHTML)
|
||||
|
||||
hwnd := uintptr(w.Window())
|
||||
|
||||
Reference in New Issue
Block a user