新增: Bing壁纸历史导航+极光流体主题+重启菜单
This commit is contained in:
53
systray.go
53
systray.go
@@ -4,6 +4,7 @@ import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"sync/atomic"
|
||||
@@ -26,6 +27,8 @@ var themeNames = []struct {
|
||||
{ThemeStar, "星空"},
|
||||
{ThemeGradient, "渐变"},
|
||||
{ThemeParticle, "粒子"},
|
||||
{ThemeFractal, "极光流体"},
|
||||
{ThemeText, "文字"},
|
||||
}
|
||||
|
||||
func onSystrayReady() {
|
||||
@@ -47,7 +50,11 @@ func onSystrayReady() {
|
||||
themeItems = append(themeItems, item)
|
||||
}
|
||||
mLocalImage := systray.AddMenuItem("本地图片", "选择本地图片作为壁纸")
|
||||
mBingDaily := systray.AddMenuItem("Bing 每日壁纸", "使用 Bing 每日壁纸")
|
||||
mBingMenu := systray.AddMenuItem("Bing 每日壁纸", "")
|
||||
mBingEnable := mBingMenu.AddSubMenuItem("启用 Bing 壁纸", "")
|
||||
mBingPrev := mBingMenu.AddSubMenuItem("◀ 上一个", "")
|
||||
mBingNext := mBingMenu.AddSubMenuItem("下一个 ▶", "")
|
||||
mBingFav := mBingMenu.AddSubMenuItem("★ 收藏当前壁纸", "")
|
||||
mSolidColor := systray.AddMenuItem("纯色壁纸", "选择纯色壁纸")
|
||||
mGradientColor := systray.AddMenuItem("渐变壁纸", "选择渐变壁纸")
|
||||
|
||||
@@ -82,6 +89,7 @@ func onSystrayReady() {
|
||||
}
|
||||
|
||||
systray.AddSeparator()
|
||||
mRestart := systray.AddMenuItem("重启", "重启程序")
|
||||
mQuit := systray.AddMenuItem("退出", "退出程序")
|
||||
|
||||
// 主题切换监听
|
||||
@@ -123,10 +131,10 @@ func onSystrayReady() {
|
||||
}
|
||||
}()
|
||||
|
||||
// Bing 每日
|
||||
// Bing 启用
|
||||
go func() {
|
||||
for {
|
||||
<-mBingDaily.ClickedCh
|
||||
<-mBingEnable.ClickedCh
|
||||
cfg := loadConfig()
|
||||
cfg.WallpaperType = WPBing
|
||||
saveConfig(cfg)
|
||||
@@ -134,7 +142,34 @@ func onSystrayReady() {
|
||||
it.Uncheck()
|
||||
}
|
||||
log.Println("切换 Bing 壁纸")
|
||||
go fetchBingWallpaper()
|
||||
go fetchBingHistory()
|
||||
}
|
||||
}()
|
||||
|
||||
// Bing 上一个
|
||||
go func() {
|
||||
for {
|
||||
<-mBingPrev.ClickedCh
|
||||
bingPrev()
|
||||
}
|
||||
}()
|
||||
|
||||
// Bing 下一个
|
||||
go func() {
|
||||
for {
|
||||
<-mBingNext.ClickedCh
|
||||
bingNext()
|
||||
}
|
||||
}()
|
||||
|
||||
// Bing 收藏
|
||||
go func() {
|
||||
for {
|
||||
<-mBingFav.ClickedCh
|
||||
title := bingToggleFavorite()
|
||||
if title != "" {
|
||||
mBingFav.SetTitle(title)
|
||||
}
|
||||
}
|
||||
}()
|
||||
|
||||
@@ -243,6 +278,16 @@ func onSystrayReady() {
|
||||
os.Exit(0)
|
||||
}()
|
||||
|
||||
// 重启
|
||||
go func() {
|
||||
for {
|
||||
<-mRestart.ClickedCh
|
||||
exe, _ := os.Executable()
|
||||
exec.Command(exe).Start()
|
||||
os.Exit(0)
|
||||
}
|
||||
}()
|
||||
|
||||
go startWebView()
|
||||
go weatherLoop()
|
||||
go bingWallpaperLoop()
|
||||
|
||||
Reference in New Issue
Block a user