Explorar o código

add Caller in keyboard ,add OnKdbReturnBackCb on Page interface

cuu %!s(int64=5) %!d(string=hai) anos
pai
achega
4ac7debfb4

+ 3 - 0
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() {

+ 17 - 3
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 {

+ 2 - 2
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()

+ 4 - 1
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
 		
 	}

+ 5 - 0
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() {
 	
 }