123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- package tray
- import (
- // "launcher/setting"
- "launcher/icon"
- "github.com/energye/energy/v2/cef"
- "github.com/getlantern/systray"
- )
- func StartSysTray() error {
- systray.Run(onReady, nil)
- return nil
- }
- func StopSysTray() {
- }
- var MenuAddr *systray.MenuItem
- func onReady() {
- // We can manipulate the systray in other goroutines
- systray.SetIcon(icon.Data)
- systray.SetTitle("Queen3d")
- systray.SetTooltip("QueenCloud工具链")
- // ipInfo := systray.AddMenuItem(fmt.Sprintf("ip信息: %s:%d", conf.AppConfig.LocalNatsHosts[0], conf.AppConfig.LocalNatsPort), "ip info")
- // if len(conf.AppConfig.LocalNatsHosts) > 0 {
- // for i, ip := range conf.AppConfig.LocalNatsHosts {
- // if i != 0 {
- // ipInfo.AddSubMenuItem(fmt.Sprintf("ip: %s:%d", ip, conf.AppConfig.LocalNatsPort), "ip info")
- // }
- // }
- // }
- //history
- systray.AddMenuItem("spu3d", "包装设计软件")
- systray.AddSeparator()
- MenuInput := systray.AddMenuItem("录入", "录入相关应用")
- MenuInput.AddSubMenuItem("Queenter", "面料扫描设备")
- MenuSave := systray.AddMenuItem("存储", "存储相关应用")
- MenuSave.AddSubMenuItem("Queentree(本机)", "本机的存储库")
- MenuSave.AddSubMenuItem("Queentree(云端)", "云端的存储库")
- MenuEditor := systray.AddMenuItem("编辑", "编辑相关应用")
- MenuEditor.AddSubMenuItem("spu3d", "包装设计软件")
- MenuEditor.AddSubMenuItem("sku3d", "鞋类在线设计软件")
- MenuOutput := systray.AddMenuItem("输出", "输出相关应用")
- MenuOutput.AddSubMenuItem("queen5", "在线推广编辑器")
- // MenuAddr = systray.AddMenuItem(fmt.Sprintf("地址: (%d/%d)", setting.CurrSystemConfig.WsPort, setting.CurrSystemConfig.NatsPort), "启动中/就绪/渲染中/暂停/异常")
- systray.AddSeparator()
- // systray.AddMenuItem("最近渲染 2023/1/31 14:30:00", "clean cache")
- // systray.AddMenuItem("渲染次数 19/20 ", "clean cache")
- // systray.AddMenuItem("渲染时间 19s/20s/90s ", "clean cache")
- // systray.AddMenuItem("清除缓存", "clean cache")
- // systray.AddMenuItem("打开缓存目录", "open cache dir")
- // mHistory := systray.AddMenuItem("历史渲染", "open cache dir")
- mSetting := systray.AddMenuItem("管理面板", "open cache dir")
- // mVersionCheck := systray.AddMenuItem("版本检查", "check last version is ready")
- // mOpen := systray.AddMenuItem("打开", "open special tool")
- mQuit := systray.AddMenuItem("退出", "退出")
- // mChecked := systray.AddMenuItemCheckbox("Unchecked", "Check Me", true)
- // mEnabled := systray.AddMenuItem("Enabled", "Enabled")
- // Sets the icon of a menu item. Only available on Mac.
- // mEnabled.SetTemplateIcon(icon.Data, icon.Data)
- // systray.AddMenuItem("Ignored", "Ignored")
- // subMenuTop := systray.AddMenuItem("SubMenuTop", "SubMenu Test (top)")
- // subMenuMiddle := subMenuTop.AddSubMenuItem("SubMenuMiddle", "SubMenu Test (middle)")
- // subMenuBottom := subMenuMiddle.AddSubMenuItemCheckbox("SubMenuBottom - Toggle Panic!", "SubMenu Test (bottom) - Hide/Show Panic!", false)
- // subMenuBottom2 := subMenuMiddle.AddSubMenuItem("SubMenuBottom - Panic!", "SubMenu Test (bottom)")
- // mUrl := systray.AddMenuItem("关于鲲擎", "官方网站")
- // Sets the icon of a menu item. Only available on Mac.
- mQuit.SetIcon(icon.Data)
- // mToggle := systray.AddMenuItem("toggle", "Toggle the Quit button")
- //shown := true
- // toggle := func() {
- // if shown {
- // // subMenuBottom.Check()
- // // subMenuBottom2.Hide()
- // // mQuitOrig.Hide()
- // // mEnabled.Hide()
- // shown = false
- // } else {
- // // subMenuBottom.Uncheck()
- // // subMenuBottom2.Show()
- // // mQuitOrig.Show()
- // // mEnabled.Show()
- // shown = true
- // }
- //}
- // var getPrefixQuery = func() string {
- // return url.QueryEscape(fmt.Sprintf("prefix=http://localhost:%d/queengine&host=ws://localhost:%d", setting.CurrSystemConfig.HttpPort, setting.CurrSystemConfig.WsPort))
- // }
- for {
- select {
- // case <-MenuAddr.ClickedCh:
- // // clipboard.WriteAll(fmt.Sprintf("localhost:%d", setting.CurrSystemConfig.WsPort))
- // println("hello")
- // go utils.OpenWebView(&utils.OpenWebReq{
- // Url: "history.html?" + getPrefixQuery(),
- // Width: utils.FloatPtr(800),
- // Height: utils.FloatPtr(600),
- // })
- case <-mSetting.ClickedCh:
- window := cef.BrowserWindow.MainWindow()
- if window.IsLCL() {
- bw := window.AsLCLBrowserWindow().BrowserWindow()
- window.RunOnMainThread(func() {
- bw.Show()
- bw.SetFocus()
- })
- } else if window.IsViewsFramework() {
- window.RunOnMainThread(func() {
- window.Show() //显示窗口
- })
- }
- // case <-mChecked.ClickedCh:
- // if mChecked.Checked() {
- // mChecked.Uncheck()
- // mChecked.SetTitle("Unchecked")
- // } else {
- // mChecked.Check()
- // mChecked.SetTitle("Checked")
- // }
- // case <-mEnabled.ClickedCh:
- // mEnabled.SetTitle("Disabled")
- // mEnabled.Disable()
- // case <-mUrl.ClickedCh:
- // open.Run("https://www.3dqueen.cloud")
- // case <-subMenuBottom2.ClickedCh:
- // panic("panic button pressed")
- // case <-subMenuBottom.ClickedCh:
- // toggle()
- // case <-mToggle.ClickedCh:
- // toggle()
- case <-mQuit.ClickedCh:
- // app.GApp.QuitApp(0)
- return
- }
- }
- }
|