diff --git a/Menu/GameShell/10_Settings/Wifi/plugin_init.go b/Menu/GameShell/10_Settings/Wifi/plugin_init.go index 418240b..26c2cc0 100644 --- a/Menu/GameShell/10_Settings/Wifi/plugin_init.go +++ b/Menu/GameShell/10_Settings/Wifi/plugin_init.go @@ -23,6 +23,7 @@ type WifiPlugin struct { func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) { + self.PasswordPage = UI.NewKeyboard() self.PasswordPage.Name = "Enter wifi password" self.PasswordPage.Screen= main_screen @@ -35,6 +36,8 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) { self.ScanPage.Screen = main_screen + self.PasswordPage.Caller = self.ScanPage + self.ScanPage.Init() go func() { diff --git a/Menu/GameShell/10_Settings/Wifi/wifi.go b/Menu/GameShell/10_Settings/Wifi/wifi.go index dd74a3e..2a4212b 100644 --- a/Menu/GameShell/10_Settings/Wifi/wifi.go +++ b/Menu/GameShell/10_Settings/Wifi/wifi.go @@ -42,13 +42,15 @@ func NewWifiDisconnectConfirmPage() *WifiDisconnectConfirmPage { func (self *WifiDisconnectConfirmPage) KeyDown(ev *event.Event ) { + if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] { self.ReturnToUpLevelPage() self.Screen.Draw() self.Screen.SwapAndShow() } - if ev.Data["key"] == UI.CurKeys["B"] { + if ev.Data["Key"] == UI.CurKeys["B"] { + fmt.Println("Disconnecting..") self.SnapMsg("Disconnecting...") self.Screen.Draw() self.Screen.SwapAndShow() @@ -248,6 +250,7 @@ func (self *WifiInfoPage) TryDisconnect() { self.Screen.Draw() self.Screen.SwapAndShow() }else { + fmt.Println("WifiInfoPage TryDisconnect cur_network_id != self.NetworkId ") return } } @@ -605,7 +608,14 @@ func (self *WifiList) UpdateNetList(state int,info []string ,force_check bool,fi if len(info) > 3 { _id,_ := strconv.Atoi(info[3]) if _id < len(self.MyList) { - self.MyList[_id].UpdateStrenLabel(info[2]) + var strength_str string + strength,err := strconv.Atoi(info[2]) + if err == nil { + self.Daemon.Get(self.Daemon.Method("FormatSignalForPrinting",strength),&strength_str) + self.MyList[_id].UpdateStrenLabel(strength_str) + }else { + fmt.Println(err) + } } } } @@ -900,13 +910,17 @@ func (self *WifiList) AbortedAndReturnToUpLevel() { self.Screen.SwapAndShow() } -func (self *WifiList) OnReturnBackCb() { +func (self *WifiList) OnKbdReturnBackCb() { password_inputed := strings.Join(APIOBJ.PasswordPage.Textarea.MyWords,"") if self.Screen.DBusManager.IsWifiConnectedNow() == false { self.ConfigWireless(password_inputed) } } +func (self *WifiList) OnReturnBackCb() { + +} + func (self *WifiList) KeyDown( ev *event.Event ) { if ev.Data["Key"] == UI.CurKeys["A"] || ev.Data["Key"] == UI.CurKeys["Menu"] { if self.Wireless != nil { diff --git a/sysgo/UI/confirm_page.go b/sysgo/UI/confirm_page.go index f936ad9..1a2e897 100644 --- a/sysgo/UI/confirm_page.go +++ b/sysgo/UI/confirm_page.go @@ -1,7 +1,7 @@ package UI import ( - + //"fmt" "github.com/veandco/go-sdl2/ttf" // "github.com/cuu/gogame/surface" @@ -144,7 +144,7 @@ func (self *ConfirmPage) Init() { func (self *ConfirmPage) KeyDown( ev *event.Event ) { - + if ev.Data["Key"] == CurKeys["A"] || ev.Data["Key"] == CurKeys["Menu"] { self.ReturnToUpLevelPage() self.Screen.Draw() diff --git a/sysgo/UI/keyboard.go b/sysgo/UI/keyboard.go index eae0cb8..b0cfb51 100644 --- a/sysgo/UI/keyboard.go +++ b/sysgo/UI/keyboard.go @@ -89,7 +89,7 @@ type Keyboard struct { Textarea *Textarea Selector *KeyboardSelector - + Caller PageInterface } func NewKeyboard() *Keyboard { @@ -466,6 +466,9 @@ func (self *Keyboard) KeyDown( ev *event.Event) { fmt.Println(strings.Join(self.Textarea.MyWords,"")) self.ReturnToUpLevelPage() self.Screen.SwapAndShow() + if self.Caller != nil { + self.Caller.OnKbdReturnBackCb() + } //Uplevel/Parent page invoke OnReturnBackCb,eg: ConfigWireless } diff --git a/sysgo/UI/page.go b/sysgo/UI/page.go index 15c2e92..d447c93 100644 --- a/sysgo/UI/page.go +++ b/sysgo/UI/page.go @@ -207,6 +207,7 @@ type PageInterface interface { OnLoadCb() OnReturnBackCb() + OnKbdReturnBackCb() OnExitCb() // IconClick() @@ -921,6 +922,10 @@ func (self *Page) OnLoadCb() { } +func (self *Page) OnKbdReturnBackCb() { + +} + func (self *Page) OnReturnBackCb() { }