diff --git a/Menu/GameShell/10_Settings/About/about.go b/Menu/GameShell/10_Settings/About/about.go index 2ac9070..dbad840 100644 --- a/Menu/GameShell/10_Settings/About/about.go +++ b/Menu/GameShell/10_Settings/About/about.go @@ -1,6 +1,9 @@ package main import ( + "fmt" + "strconv" + "strings" "os/exec" @@ -88,7 +91,7 @@ type AboutPage struct { Scroller *UI.ListScroller MyList []*InfoPageListItem - Icons map[string]IconItemInterface + Icons map[string]UI.IconItemInterface } func NewAboutPage() *AboutPage { @@ -108,7 +111,7 @@ func NewAboutPage() *AboutPage { p.Index = 0 - p.Icons = make(map[string]IconItemInterface) + p.Icons = make(map[string]UI.IconItemInterface) return p } @@ -138,11 +141,11 @@ func (self *AboutPage) Uname() { func (self *AboutPage) CpuMhz() { - lines, err := readLines("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq") + lines, err := UI.ReadLines("/sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq") UI.ShowErr(err) - - mhz ,_ := strconv.ParseInt(lines[0], 10, 0)) - + + mhz ,err := strconv.ParseInt(lines[0], 10, 64) + UI.ShowErr(err) mhz_float := float64(mhz)/1000.0 out := make(map[string]string) @@ -159,7 +162,7 @@ func (self *AboutPage) CpuInfo() { } func (self *AboutPage) MemInfo() { - lines, err := readLines("/proc/meminfo") + lines, err := UI.ReadLines("/proc/meminfo") UI.ShowErr(err) for _,line := range lines { @@ -188,7 +191,7 @@ func (self *AboutPage) GenList() { start_y := 10 last_height := 0 - for i,u := range ( []string{"processor","armcores","cpuscalemhz","features","memory","uname"} ) { + for _,u := range ( []string{"processor","armcores","cpuscalemhz","features","memory","uname"} ) { if val, ok := self.AList[u]; ok { li := NewInfoPageListItem() @@ -207,7 +210,8 @@ func (self *AboutPage) GenList() { li.Flag = val["key"] li.SetSmallText(val["value"]) - + last_height += li.Height + self.MyList = append(self.MyList,li) } @@ -228,7 +232,7 @@ func (self *AboutPage) Init() { self.Width = self.Screen.Width self.Height = self.Screen.Height - bgpng := NewIconItem() + bgpng := UI.NewIconItem() bgpng.ImgSurf = UI.MyIconPool.GetImgSurf("about_bg") bgpng.MyType = UI.ICON_TYPES["STAT"] bgpng.Parent = self @@ -240,7 +244,7 @@ func (self *AboutPage) Init() { self.CpuInfo() self.MemInfo() self.CpuMhz() - self.Uname() + self.Uname() self.GenList() diff --git a/Menu/GameShell/10_Settings/About/about.so b/Menu/GameShell/10_Settings/About/about.so new file mode 100644 index 0000000..146b4a0 Binary files /dev/null and b/Menu/GameShell/10_Settings/About/about.so differ diff --git a/Menu/GameShell/10_Settings/Settings.go b/Menu/GameShell/10_Settings/Settings.go index 8dcf6d1..1bb8af7 100644 --- a/Menu/GameShell/10_Settings/Settings.go +++ b/Menu/GameShell/10_Settings/Settings.go @@ -85,7 +85,7 @@ func (self *SettingsPage) Init() { self.CanvasHWND = self.Screen.CanvasHWND - ps := &SettingsPageSelector{} + ps := NewSettingsPageSelector() ps.Parent = self self.Ps = ps self.PsIndex = 0 @@ -142,7 +142,18 @@ func (self *SettingsPage) ScrollDown() { } func (self *SettingsPage) Click() { + if len(self.MyList) == 0 { + return + } + cur_li := self.MyList[self.PsIndex] + + lk_obj := cur_li.GetLinkObj() + + if lk_obj != nil { + lk_obj.Run(self.Screen) + } + } func (self *SettingsPage) KeyDown( ev *event.Event) { diff --git a/Menu/GameShell/10_Settings/Settings.so b/Menu/GameShell/10_Settings/Settings.so index c77ffff..e551da2 100644 Binary files a/Menu/GameShell/10_Settings/Settings.so and b/Menu/GameShell/10_Settings/Settings.so differ diff --git a/Menu/GameShell/HelloWorld/HelloWorld.so b/Menu/GameShell/HelloWorld/HelloWorld.so index 2dc72b5..406c9a2 100644 Binary files a/Menu/GameShell/HelloWorld/HelloWorld.so and b/Menu/GameShell/HelloWorld/HelloWorld.so differ diff --git a/build.sh b/build.sh index 448704a..bfddeca 100755 --- a/build.sh +++ b/build.sh @@ -12,3 +12,8 @@ cd Menu/GameShell/10_Settings go build -o Settings.so -buildmode=plugin cd - +cd Menu/GameShell/10_Settings/About +go build -o about.so -buildmode=plugin +cd - + + diff --git a/sysgo/UI/icon_item.go b/sysgo/UI/icon_item.go index ed0b154..0b127a8 100644 --- a/sysgo/UI/icon_item.go +++ b/sysgo/UI/icon_item.go @@ -80,11 +80,7 @@ func NewIconItem() *IconItem { i.MyType = ICON_TYPES["EXE"] i.Align = ALIGN["VCenter"] - - l := NewLabel() - - i.Label = l - + return i } diff --git a/sysgo/UI/keys_def.go b/sysgo/UI/keys_def.go index 20be97d..5685a32 100644 --- a/sysgo/UI/keys_def.go +++ b/sysgo/UI/keys_def.go @@ -12,7 +12,7 @@ var PC map[string]string func DefinePC() { - PC["UP"] = "Up" + PC["Up"] = "Up" PC["Down"] = "Down" PC["Left"] = "Left" PC["Right"] = "Right" @@ -30,7 +30,7 @@ func DefinePC() { } func DefineGameShell() { - GameShell["UP"] = "Up" + GameShell["Up"] = "Up" GameShell["Down"] = "Down" GameShell["Left"] = "Left" GameShell["Right"] = "Right" diff --git a/sysgo/UI/list_item.go b/sysgo/UI/list_item.go index 5d54663..1a8b68b 100644 --- a/sysgo/UI/list_item.go +++ b/sysgo/UI/list_item.go @@ -11,11 +11,15 @@ import ( type ListItemInterface interface { Init(text string) + Size() (int,int) NewSize(w,h int) Coord() (int,int) NewCoord(x,y int) + + GetLinkObj() PluginInterface Draw() + } type ListItem struct { @@ -61,10 +65,13 @@ func (self *ListItem) Size() (int,int) { } +func (self *ListItem) GetLinkObj() PluginInterface { + return self.LinkObj +} func (self *ListItem) Draw() { x_,_ := self.Labels["Text"].Coord() - h_,_ := self.Labels["Text"].Size() + _,h_ := self.Labels["Text"].Size() self.Labels["Text"].NewCoord(x_, self.PosY+(self.Height - h_)/2) self.Labels["Text"].Draw() diff --git a/sysgo/UI/page.go b/sysgo/UI/page.go index 00f0440..f8cfc78 100644 --- a/sysgo/UI/page.go +++ b/sysgo/UI/page.go @@ -751,7 +751,7 @@ func (self *Page) ResetPageSelector() { func (self *Page) DrawPageSelector() { if self.Ps.GetOnShow() == true { - fmt.Println("DrawPageSelector") +// fmt.Println("DrawPageSelector") self.Ps.Draw() } } diff --git a/sysgo/UI/util_funcs.go b/sysgo/UI/util_funcs.go index 9f6023d..edcf451 100644 --- a/sysgo/UI/util_funcs.go +++ b/sysgo/UI/util_funcs.go @@ -8,7 +8,8 @@ import ( "fmt" "bufio" "bytes" - + "io" + "github.com/cuu/gogame/display" "github.com/cuu/LauncherGo/sysgo" @@ -122,33 +123,34 @@ func SwapAndShow() { } func ReadLines(path string)(lines [] string,err error){ - var ( - file *os.File - part [] byte - prefix bool - ) - - if file, err = os.Open(path); err != nil { - return - } - - reader := bufio.NewReader(file) - buffer := bytes.NewBuffer(make([]byte,1024)) - - for { - if part, prefix, err = reader.ReadLine();err != nil { - break - } - buffer.Write(part) - if !prefix { - lines = append(lines,buffer.String()) - buffer.Reset() - } - } - if err == io.EOF { - err = nil - } - return + var ( + file *os.File + part [] byte + prefix bool + ) + + if file, err = os.Open(path); err != nil { + return + } + + reader := bufio.NewReader(file) + buffer := bytes.NewBuffer(make([]byte,0)) + + for { + if part, prefix, err = reader.ReadLine();err != nil { + break + } + buffer.Write(part) + if !prefix { + lines = append(lines,buffer.String()) + buffer.Reset() + } + } + + if err == io.EOF { + err = nil + } + return } func WriteLines(lines [] string,path string)(err error){