add PowerOFF in Settings

This commit is contained in:
cuu 2018-12-19 19:01:39 +08:00
parent 588b89b657
commit 8ee8d42cb5
3 changed files with 106 additions and 2 deletions

View File

@ -0,0 +1,39 @@
package PowerOFF
import (
/*
"github.com/veandco/go-sdl2/ttf"
"github.com/cuu/gogame/surface"
"github.com/cuu/gogame/event"
"github.com/cuu/gogame/rect"
"github.com/cuu/gogame/color"
*/
"github.com/cuu/LauncherGoDev/sysgo/UI"
//"github.com/cuu/LauncherGoDev/sysgo/DBUS"
)
/******************************************************************************/
type PowerOFFPlugin struct {
UI.Plugin
PowerOFFPage *PowerOFFConfirmPage
}
func (self *PowerOFFPlugin) Init( main_screen *UI.MainScreen ) {
self.PowerOFFPage = NewPowerOFFConfirmPage()
self.PowerOFFPage.SetScreen( main_screen)
self.PowerOFFPage.SetName("PowerOFF")
self.PowerOFFPage.Init()
}
func (self *PowerOFFPlugin) Run( main_screen *UI.MainScreen ) {
if main_screen != nil {
main_screen.PushCurPage()
main_screen.SetCurPage(self.PowerOFFPage)
main_screen.Draw()
main_screen.SwapAndShow()
}
}
var APIOBJ PowerOFFPlugin

View File

@ -0,0 +1,64 @@
package PowerOFF
import (
"github.com/cuu/gogame/event"
"github.com/cuu/LauncherGoDev/sysgo/UI"
)
type PowerOFFConfirmPage struct {
UI.ConfirmPage
}
func NewPowerOFFConfirmPage() *PowerOFFConfirmPage {
p := &PowerOFFConfirmPage{}
p.ListFont = UI.Fonts["veramono20"]
p.ConfirmText = "Awaiting Input"
p.FootMsg = [5]string{ "Nav","Reboot","","Cancel","Shutdown" }
p.ConfirmPage.ConfirmText = p.ConfirmText
p.ConfirmPage.FootMsg = p.FootMsg
p.ConfirmPage.ListFont = p.ListFont
return p
}
func (self *PowerOFFConfirmPage) KeyDown(ev *event.Event) {
if ev.Data["Key"] == UI.CurKeys["Menu"] || ev.Data["Key"] == UI.CurKeys["A"] {
self.ReturnToUpLevelPage()
self.Screen.Draw()
self.Screen.SwapAndShow()
}
if ev.Data["Key"] == UI.CurKeys["B"] {
cmdpath := ""
if UI.CheckBattery() < 20 {
cmdpath = "feh --bg-center sysgo/gameshell/wallpaper/gameover.png;"
}else {
cmdpath = "feh --bg-center sysgo/gameshell/wallpaper/seeyou.png;"
}
cmdpath = cmdpath + "sleep 3;"
cmdpath = cmdpath + "sudo halt -p"
event.Post(UI.RUNSYS,cmdpath)
}
if ev.Data["Key"] == UI.CurKeys["X"] {
cmdpath := "feh --bg-center sysgo/gameshell/wallpaper/seeyou.png;"
cmdpath += "sleep 3;"
cmdpath += "sudo reboot"
event.Post(UI.RUNSYS,cmdpath)
}
}

View File

@ -23,6 +23,7 @@ import (
"github.com/cuu/LauncherGoDev/Menu/GameShell/10_Settings/Update"
"github.com/cuu/LauncherGoDev/Menu/GameShell/10_Settings/Storage"
"github.com/cuu/LauncherGoDev/Menu/GameShell/10_Settings/PowerOFF"
)
type SettingsPageSelector struct {
@ -99,7 +100,7 @@ func (self *SettingsPage) GenList() []*UI.UIPlugin {
&UI.UIPlugin{0,"", "Storage", "", &Storage.APIOBJ},
&UI.UIPlugin{0,"", "Update", "Update", &Update.APIOBJ},
&UI.UIPlugin{0,"", "About", "About", &About.APIOBJ},
&UI.UIPlugin{0,"", "PowerOFF", "Power off", &PowerOFF.APIOBJ},
&UI.UIPlugin{1,"", "LauncherPy", "Switch to Launcher", &LauncherPy.APIOBJ},
}