mirror of
https://github.com/clockworkpi/LauncherGoDev.git
synced 2026-03-19 10:22:41 +01:00
try to remove wicd related commponent
This commit is contained in:
@@ -3,17 +3,16 @@ package Wifi
|
||||
import (
|
||||
"fmt"
|
||||
"strconv"
|
||||
"strings"
|
||||
//"strings"
|
||||
|
||||
"github.com/veandco/go-sdl2/sdl"
|
||||
"github.com/veandco/go-sdl2/ttf"
|
||||
"github.com/veandco/go-sdl2/sdl"
|
||||
"github.com/veandco/go-sdl2/ttf"
|
||||
"github.com/cuu/gogame/color"
|
||||
"github.com/cuu/gogame/draw"
|
||||
"github.com/cuu/gogame/rect"
|
||||
"github.com/cuu/gogame/surface"
|
||||
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
|
||||
"github.com/cuu/gogame/draw"
|
||||
"github.com/cuu/gogame/rect"
|
||||
"github.com/cuu/gogame/surface"
|
||||
"github.com/clockworkpi/LauncherGoDev/sysgo/UI"
|
||||
|
||||
"github.com/clockworkpi/LauncherGoDev/sysgo/DBUS"
|
||||
|
||||
)
|
||||
var NetItemDefaultHeight = 30
|
||||
@@ -25,14 +24,14 @@ type NetItemMultiIcon struct {
|
||||
}
|
||||
|
||||
func NewNetItemMultiIcon() *NetItemMultiIcon{
|
||||
p := &NetItemMultiIcon{}
|
||||
p.IconIndex = 0
|
||||
p.IconWidth = 18
|
||||
p.IconHeight = 18
|
||||
p := &NetItemMultiIcon{}
|
||||
p.IconIndex = 0
|
||||
p.IconWidth = 18
|
||||
p.IconHeight = 18
|
||||
|
||||
p.Width = 18
|
||||
p.Height = 18
|
||||
return p
|
||||
return p
|
||||
}
|
||||
|
||||
func (self *NetItemMultiIcon) Draw() {
|
||||
@@ -72,44 +71,24 @@ type NetItem struct {
|
||||
Bssid string //eg: 50:3A:A0:51:18:3C
|
||||
Essid string //eg: MERCURY_EB88
|
||||
|
||||
dhcphostname string //"GameShell"
|
||||
ip string
|
||||
dns_domain string
|
||||
gateway string
|
||||
use_global_dns int // eg 0==False,1 == True
|
||||
netmask string
|
||||
usedhcphostname int
|
||||
bitrate string //"auto"
|
||||
dns3 string
|
||||
dns2 string
|
||||
dns1 string
|
||||
use_settings_globally int // 0
|
||||
use_static_dns int //eg: 1== True
|
||||
search_domain string
|
||||
|
||||
Encrypt string // WPA2
|
||||
Channel string //'10'
|
||||
Stren string // 19%
|
||||
NetId int
|
||||
Signal string // -67
|
||||
Mode string // Master or AdHoc
|
||||
Parent *WifiList
|
||||
IsActive bool
|
||||
|
||||
Password string
|
||||
Labels map[string]UI.LabelInterface
|
||||
Icons map[string]UI.IconItemInterface
|
||||
Fonts map[string]*ttf.Font
|
||||
FontObj *ttf.Font
|
||||
|
||||
Wireless *DBUS.DbusInterface
|
||||
Daemon *DBUS.DbusInterface
|
||||
|
||||
}
|
||||
|
||||
func NewNetItem() *NetItem {
|
||||
p := &NetItem{}
|
||||
p.NetId = 0
|
||||
p.bitrate = "auto"
|
||||
p.dhcphostname = "GameShell"
|
||||
|
||||
p.Height = NetItemDefaultHeight
|
||||
|
||||
@@ -124,165 +103,145 @@ func (self *NetItem) SetActive( act bool) {
|
||||
self.IsActive = act
|
||||
}
|
||||
|
||||
func (self *NetItem) UpdateStrenLabel( strenstr string) { // ## strenstr should be 'number',eg:'90'
|
||||
|
||||
self.Stren = strenstr
|
||||
func (self *NetItem) UpdateStrenLabel( sig_str string) { // ## sig_str should be 'number',eg:'-70'
|
||||
|
||||
self.Signal = sig_str
|
||||
|
||||
if _, ok := self.Labels["stren"]; ok {
|
||||
self.Labels["stren"].SetText(self.Stren)
|
||||
self.Labels["stren"].SetText( fmt.Sprintf("%d",self.CalcWifiQuality()) )
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func (self *NetItem) Init(i int,is_active bool) {
|
||||
func (self *NetItem) Init(is_active bool) {
|
||||
|
||||
var sig_display_type int
|
||||
strenstr := "quality"
|
||||
gap := 4
|
||||
//strenstr := "quality"
|
||||
//gap := 7
|
||||
|
||||
the_main_screen := self.Parent.GetScreen()
|
||||
|
||||
self.Wireless = self.Parent.Wireless
|
||||
self.Daemon = self.Parent.Daemon
|
||||
|
||||
self.Daemon.Get( self.Daemon.Method("GetSignalDisplayType"), &sig_display_type )
|
||||
|
||||
if sig_display_type == 0 {
|
||||
strenstr = "quality"
|
||||
gap = 4 // Allow for 100%
|
||||
}else {
|
||||
strenstr = "strength"
|
||||
gap = 7 // -XX dbm = 7
|
||||
}
|
||||
|
||||
self.NetId = i
|
||||
|
||||
tmp := 0
|
||||
self.Wireless.Get(self.Wireless.Method("GetWirelessProperty",self.NetId, strenstr),&tmp)
|
||||
tmp2 := ""
|
||||
self.Daemon.Get( self.Daemon.Method("FormatSignalForPrinting",tmp), &tmp2)
|
||||
|
||||
self.Stren = tmp2
|
||||
if is_active {
|
||||
self.SetActive(is_active)
|
||||
}
|
||||
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"essid"),&self.Essid)
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"bssid"),&self.Bssid)
|
||||
|
||||
check_enc := false
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"encryption"),&check_enc)
|
||||
essid_label := UI.NewLabel()
|
||||
essid_label.PosX = 36
|
||||
essid_label.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
|
||||
if check_enc == true {
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"encryption_method"),&self.Encrypt)
|
||||
}else {
|
||||
self.Encrypt = "Unsecured"
|
||||
}
|
||||
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"mode"),&self.Mode)
|
||||
|
||||
self.Wireless.Get( self.Wireless.Method("GetWirelessProperty",self.NetId,"channel"),&self.Channel)
|
||||
|
||||
theString := fmt.Sprintf(" %-*s %25s %9s %17s %6s %4s",gap,self.Stren,self.Essid,self.Encrypt,self.Bssid,self.Mode,
|
||||
self.Channel)
|
||||
|
||||
|
||||
if is_active {
|
||||
theString = ">> " + theString[1:]
|
||||
self.SetActive(is_active)
|
||||
}
|
||||
|
||||
//fmt.Println(theString)
|
||||
|
||||
essid_label := UI.NewLabel()
|
||||
essid_label.PosX = 36
|
||||
essid_label.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
|
||||
essid_ := ""
|
||||
essid_ := ""
|
||||
|
||||
if len(self.Essid) > 19 {
|
||||
essid_ = self.Essid[:20]
|
||||
}else {
|
||||
essid_ = self.Essid
|
||||
}
|
||||
if len(self.Essid) > 19 {
|
||||
essid_ = self.Essid[:20]
|
||||
}else {
|
||||
essid_ = self.Essid
|
||||
}
|
||||
|
||||
essid_label.Init(essid_, self.FontObj,nil)
|
||||
essid_label.Init(essid_, self.FontObj,nil)
|
||||
|
||||
self.Labels["essid"] = essid_label
|
||||
self.Labels["essid"] = essid_label
|
||||
|
||||
stren_label := UI.NewLabel()
|
||||
stren_label.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
stren_label := UI.NewLabel()
|
||||
stren_label.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
|
||||
stren_label.Init(self.Stren, self.FontObj,nil)
|
||||
stren_label.PosX = self.Width - 23 - stren_label.Width-2
|
||||
stren_label.Init(self.Signal, self.FontObj,nil)
|
||||
stren_label.PosX = self.Width - 23 - stren_label.Width-2
|
||||
|
||||
self.Labels["stren"] = stren_label
|
||||
self.Labels["stren"] = stren_label
|
||||
|
||||
lock_icon := NewNetItemIcon()
|
||||
lock_icon.ImgSurf = UI.MyIconPool.GetImgSurf("lock")
|
||||
lock_icon.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
lock_icon.Parent = self // WidgetInterface
|
||||
self.Icons["lock"] = lock_icon
|
||||
lock_icon := NewNetItemIcon()
|
||||
lock_icon.ImgSurf = UI.MyIconPool.GetImgSurf("lock")
|
||||
lock_icon.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
lock_icon.Parent = self // WidgetInterface
|
||||
self.Icons["lock"] = lock_icon
|
||||
|
||||
done_icon := NewNetItemIcon()
|
||||
done_icon.ImgSurf = UI.MyIconPool.GetImgSurf("done")
|
||||
done_icon.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
done_icon.Parent = self
|
||||
done_icon := NewNetItemIcon()
|
||||
done_icon.ImgSurf = UI.MyIconPool.GetImgSurf("done")
|
||||
done_icon.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
done_icon.Parent = self
|
||||
|
||||
self.Icons["done"] = done_icon
|
||||
self.Icons["done"] = done_icon
|
||||
|
||||
nimt := NewNetItemMultiIcon()
|
||||
nimt.ImgSurf = the_main_screen.TitleBar.Icons["wifistatus"].GetImgSurf()
|
||||
nimt.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
nimt.Parent = self // WidgetInterface
|
||||
nimt := NewNetItemMultiIcon()
|
||||
nimt.ImgSurf = the_main_screen.TitleBar.Icons["wifistatus"].GetImgSurf()
|
||||
nimt.CanvasHWND = self.Parent.GetCanvasHWND()
|
||||
nimt.Parent = self // WidgetInterface
|
||||
|
||||
self.Icons["wifistatus"] = nimt
|
||||
|
||||
|
||||
|
||||
self.Icons["wifistatus"] = nimt
|
||||
}
|
||||
|
||||
|
||||
func (self *NetItem) Connect() {
|
||||
|
||||
self.Wireless.Method("ConnectWireless",self.NetId)
|
||||
|
||||
}
|
||||
|
||||
func (self *NetItem) Draw() {
|
||||
for i,v := range self.Labels {
|
||||
x_,_ := v.Coord()
|
||||
_,h_ := v.Size()
|
||||
self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2)
|
||||
self.Labels[i].Draw()
|
||||
}
|
||||
func (self *NetItem) CalcWifiQuality() int {
|
||||
|
||||
if self.IsActive == true {
|
||||
self.Icons["done"].NewCoord(14,self.PosY)
|
||||
self.Icons["done"].Draw()
|
||||
}
|
||||
|
||||
if self.Encrypt != "Unsecured" {
|
||||
w_,_ := self.Labels["stren"].Size()
|
||||
self.Icons["lock"].NewCoord(self.Width -23 - w_ -2 - 18, self.PosY)
|
||||
self.Icons["lock"].Draw()
|
||||
}
|
||||
|
||||
stren_int,err := strconv.ParseInt(strings.Replace(self.Stren,"%","",-1),10,64)
|
||||
if err == nil {
|
||||
the_main_screen := self.Parent.GetScreen()
|
||||
ge := the_main_screen.TitleBar.GetWifiStrength(int(stren_int))
|
||||
if ge > 0 {
|
||||
self.Icons["wifistatus"].SetIconIndex(ge)
|
||||
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
|
||||
self.Icons["wifistatus"].Draw()
|
||||
}else {
|
||||
self.Icons["wifistatus"].SetIconIndex(0)
|
||||
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
|
||||
self.Icons["wifistatus"].Draw()
|
||||
}
|
||||
}
|
||||
|
||||
draw.Line(self.Parent.GetCanvasHWND(),
|
||||
&color.Color{169,169,169,255},
|
||||
self.PosX,self.PosY+self.Height-1,
|
||||
self.PosX+self.Width,self.PosY+self.Height-1,
|
||||
1)
|
||||
qua := 0
|
||||
stren,err := strconv.ParseInt(self.Signal, 10, 0)
|
||||
if err == nil {
|
||||
qua = 2 * (int(stren) + 100)
|
||||
}
|
||||
|
||||
return qua
|
||||
}
|
||||
|
||||
func (self *NetItem) CalcWifiStrength() int {
|
||||
|
||||
segs := [][]int{ []int{-2,-1}, []int{0,25}, []int{25,50}, []int{50,75},[]int{75,100}}
|
||||
stren_number := self.CalcWifiQuality()
|
||||
ge := 0
|
||||
if stren_number == 0 {
|
||||
return ge
|
||||
}
|
||||
|
||||
for i,v := range segs {
|
||||
if stren_number >= v[0] && stren_number <= v[1] {
|
||||
ge = i
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return ge
|
||||
|
||||
}
|
||||
|
||||
func (self *NetItem) Draw() {
|
||||
for i,v := range self.Labels {
|
||||
x_,_ := v.Coord()
|
||||
_,h_ := v.Size()
|
||||
self.Labels[i].NewCoord(x_,self.PosY+(self.Height - h_)/2)
|
||||
self.Labels[i].Draw()
|
||||
}
|
||||
|
||||
if self.IsActive == true {
|
||||
self.Icons["done"].NewCoord(14,self.PosY)
|
||||
self.Icons["done"].Draw()
|
||||
}
|
||||
|
||||
/*
|
||||
if self.Encrypt != "Unsecured" {
|
||||
w_,_ := self.Labels["stren"].Size()
|
||||
self.Icons["lock"].NewCoord(self.Width -23 - w_ -2 - 18, self.PosY)
|
||||
self.Icons["lock"].Draw()
|
||||
}
|
||||
*/
|
||||
//the_main_screen := self.Parent.GetScreen()
|
||||
ge := self.CalcWifiStrength()
|
||||
if ge > 0 {
|
||||
self.Icons["wifistatus"].SetIconIndex(ge)
|
||||
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
|
||||
self.Icons["wifistatus"].Draw()
|
||||
}else {
|
||||
self.Icons["wifistatus"].SetIconIndex(0)
|
||||
self.Icons["wifistatus"].NewCoord(self.Width-23,self.PosY)
|
||||
self.Icons["wifistatus"].Draw()
|
||||
}
|
||||
|
||||
draw.Line(self.Parent.GetCanvasHWND(),
|
||||
&color.Color{169,169,169,255},
|
||||
self.PosX,self.PosY+self.Height-1,
|
||||
self.PosX+self.Width,self.PosY+self.Height-1,
|
||||
1)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package Wifi
|
||||
|
||||
import (
|
||||
gotime "time"
|
||||
//gotime "time"
|
||||
/*
|
||||
"github.com/veandco/go-sdl2/ttf"
|
||||
|
||||
@@ -31,8 +31,6 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
|
||||
|
||||
self.ScanPage = NewWifiList()
|
||||
self.ScanPage.Name = "Scan wifi"
|
||||
self.ScanPage.Wireless = main_screen.DBusManager.Wifi
|
||||
self.ScanPage.Daemon = main_screen.DBusManager.Daemon
|
||||
|
||||
self.ScanPage.Screen = main_screen
|
||||
|
||||
@@ -40,33 +38,15 @@ func (self *WifiPlugin) Init( main_screen *UI.MainScreen ) {
|
||||
|
||||
self.ScanPage.Init()
|
||||
|
||||
go func() {
|
||||
gotime.Sleep(2000 * gotime.Millisecond)
|
||||
|
||||
if self.ScanPage.Daemon != nil {
|
||||
|
||||
self.ScanPage.Daemon.EnableSignal("StatusChanged")
|
||||
self.ScanPage.Daemon.EnableSignal("ConnectResultsSent")
|
||||
self.ScanPage.Wireless.EnableSignal("SendStartScanSignal")
|
||||
self.ScanPage.Wireless.EnableSignal("SendEndScanSignal")
|
||||
|
||||
self.ScanPage.Daemon.SigFuncs["StatusChanged"] = self.ScanPage.DbusDaemonStatusChangedSig
|
||||
self.ScanPage.Daemon.SigFuncs["ConnectResultSent"] = self.ScanPage.DbusConnectResultsSent
|
||||
|
||||
self.ScanPage.Wireless.SigFuncs["SendStartScanSignal"] = self.ScanPage.WifiDbusScanStarted
|
||||
self.ScanPage.Wireless.SigFuncs["SendEndScanSignal"] = self.ScanPage.WifiDbusScanFinishedSig
|
||||
}
|
||||
}()
|
||||
|
||||
}
|
||||
|
||||
func (self *WifiPlugin) Run( main_screen *UI.MainScreen ) {
|
||||
if main_screen != nil {
|
||||
if main_screen != nil {
|
||||
main_screen.PushCurPage()
|
||||
main_screen.SetCurPage(self.ScanPage)
|
||||
main_screen.Draw()
|
||||
main_screen.SwapAndShow()
|
||||
}
|
||||
main_screen.Draw()
|
||||
main_screen.SwapAndShow()
|
||||
}
|
||||
}
|
||||
|
||||
var APIOBJ WifiPlugin
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user