main_screen

remove all DBUS handler,and in related plugins

wifi
use wpa-connect to do the connecting / scanning , use wpa_cli to do disconnect
This commit is contained in:
cuu
2021-10-10 00:20:47 +08:00
parent 0461450ea9
commit d463dd10ec
14 changed files with 274 additions and 195 deletions

View File

@@ -199,7 +199,7 @@ func (self *DownloadProcessPage) DoneAndReturnUpLevel() {
func (self *DownloadProcessPage) StartDownload(_url,dst_dir string) {
if self.Screen.DBusManager.IsWifiConnectedNow() == false {
if self.Screen.IsWifiConnectedNow() == false {
return
}
@@ -245,7 +245,7 @@ func (self *DownloadProcessPage) Draw() {
self.ClearCanvas()
if self.Screen.DBusManager.IsWifiConnectedNow() == false {
if self.Screen.IsWifiConnectedNow() == false {
self.Icons["needwifi_bg"].NewCoord(self.Width/2,self.Height/2)
self.Icons["needwifi_bg"].Draw()
return

View File

@@ -109,7 +109,9 @@ func (self *Label) DrawCenter(bold bool) { // default bold is false
func (self *Label) Draw() {
font.SetBold(self.FontObj,self.Bold) // avoing same font tangling set_bold to others
if len(self.Text) == 0 {
return
}
my_text := font.Render(self.FontObj,self.Text, true, self.Color, nil)
rect_ := rect.Rect(self.PosX,self.PosY,self.Width,self.Height)

View File

@@ -1,7 +1,7 @@
package UI
import (
//"fmt"
"fmt"
"io/ioutil"
"strings"
"log"
@@ -21,9 +21,7 @@ import (
"github.com/cuu/gogame/event"
"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
"github.com/clockworkpi/LauncherGoDev/sysgo"
)
//eg: MainScreen
type ScreenInterface interface {
@@ -44,6 +42,7 @@ type ScreenInterface interface {
RunEXE( cmdpath string)
SetCurPage( pg PageInterface)
SwapAndShow()
IsWifiConnectedNow()
}
type PluginConfig struct {
@@ -175,7 +174,7 @@ type MainScreen struct {
MsgBoxFont *ttf.Font
IconFont *ttf.Font
SkinManager *SkinManager
DBusManager *DBUS.DBus
CounterScreen *CounterScreen
Closed bool
@@ -210,8 +209,6 @@ func (self *MainScreen) Init() {
self.SkinManager = NewSkinManager()
self.SkinManager.Init()
self.DBusManager = DBUS.DBusHandler
self.CounterScreen = NewCounterScreen()
self.CounterScreen.HWND = self.HWND
self.CounterScreen.Init()
@@ -354,6 +351,27 @@ func (self *MainScreen) IsEmulatorPackage(dirname string ) bool {
return ret
}
func (self *MainScreen) IsWifiConnectedNow() bool {
cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev)
out := System(cli)
if len(out)<6 {
return false
}
return true
}
func (self *MainScreen) GetWirelessIP() string {
cli := fmt.Sprintf( "ip -4 addr show %s | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}'",sysgo.WifiDev)
out := System(cli)
if len(out) > 5 {
out = strings.TrimSuffix(out,"\n")
}
return out
}
func (self *MainScreen) RunEXE( cmdpath string) {
self.DrawRun()
self.SwapAndShow()

View File

@@ -826,7 +826,7 @@ func (self *Page) ReturnToUpLevelPage() {
if pop_page != nil {
page_ := pop_page.(PageInterface)
page_.Draw()
self.Screen.SetCurPage(page_)
self.Screen.CurrentPage = page_
self.Screen.CurrentPage.OnReturnBackCb()
}else {

View File

@@ -194,10 +194,13 @@ func (t *TitleBar) GetWifiStrength() int {
out := System(cli)
if(len(out) > 2) {
if strings.Contains(out,"No") == false {
out = strings.TrimSuffix(out, "\n")
stren,err := strconv.ParseInt(out, 10, 0)
if err == nil {
qua = 2 * (int(stren) + 100)
}
}else {
fmt.Println(err)
}
}
}
@@ -513,6 +516,7 @@ func (self *TitleBar) Draw(title string) {
self.Icons["wifistatus"].Draw()
}else {
self.Icons["wifistatus"].SetIconIndex(0)
self.Icons["wifistatus"].NewCoord(start_x+self.IconWidth+5, self.IconHeight/2+(self.BarHeight-self.IconHeight)/2 )
self.Icons["wifistatus"].Draw()
}
}else {