|
@@ -1,21 +1,24 @@
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
|
-import gobject
|
|
|
-import myvars
|
|
|
import pygame
|
|
|
-from UI.confirm_page import ConfirmPage
|
|
|
-## local UI import
|
|
|
-from UI.constants import Width
|
|
|
-from UI.fonts import fonts
|
|
|
-from UI.keys_def import CurKeys
|
|
|
-from UI.label import Label
|
|
|
-from UI.page import Page, PageSelector
|
|
|
-from UI.scroller import ListScroller
|
|
|
-from UI.util_funcs import SwapAndShow
|
|
|
+
|
|
|
from beeprint import pp
|
|
|
from libs.roundrects import aa_round_rect
|
|
|
+import gobject
|
|
|
+from wicd import misc
|
|
|
+## local UI import
|
|
|
+from UI.constants import Width,Height
|
|
|
+from UI.page import Page,PageSelector
|
|
|
+from UI.label import Label
|
|
|
+from UI.fonts import fonts
|
|
|
+from UI.util_funcs import midRect,SwapAndShow
|
|
|
+from UI.keys_def import CurKeys
|
|
|
+from UI.scroller import ListScroller
|
|
|
+from UI.confirm_page import ConfirmPage
|
|
|
+
|
|
|
from net_item import NetItem
|
|
|
-from wicd import misc
|
|
|
+
|
|
|
+import myvars
|
|
|
|
|
|
|
|
|
class InfoPageListItem(object):
|
|
@@ -25,160 +28,163 @@ class InfoPageListItem(object):
|
|
|
_Height = 30
|
|
|
|
|
|
_Labels = {}
|
|
|
- _Icons = {}
|
|
|
- _Fonts = {}
|
|
|
+ _Icons = {}
|
|
|
+ _Fonts = {}
|
|
|
|
|
|
_LinkObj = None
|
|
|
-
|
|
|
+
|
|
|
def __init__(self):
|
|
|
self._Labels = {}
|
|
|
- self._Icons = {}
|
|
|
- self._Fonts = {}
|
|
|
+ self._Icons = {}
|
|
|
+ self._Fonts = {}
|
|
|
|
|
|
- def SetSmallText(self, text):
|
|
|
+ def SetSmallText(self,text):
|
|
|
+
|
|
|
l = Label()
|
|
|
l._PosX = 40
|
|
|
l.SetCanvasHWND(self._Parent._CanvasHWND)
|
|
|
- l.Init(text, self._Fonts["small"])
|
|
|
+ l.Init(text,self._Fonts["small"])
|
|
|
self._Labels["Small"] = l
|
|
|
+
|
|
|
+ def Init(self,text):
|
|
|
|
|
|
- def Init(self, text):
|
|
|
- # self._Fonts["normal"] = fonts["veramono12"]
|
|
|
-
|
|
|
+ #self._Fonts["normal"] = fonts["veramono12"]
|
|
|
+
|
|
|
l = Label()
|
|
|
l._PosX = 10
|
|
|
l.SetCanvasHWND(self._Parent._CanvasHWND)
|
|
|
|
|
|
- l.Init(text, self._Fonts["normal"])
|
|
|
+ l.Init(text,self._Fonts["normal"])
|
|
|
self._Labels["Text"] = l
|
|
|
|
|
|
def Draw(self):
|
|
|
- self._Labels["Text"]._PosY = self._PosY + (self._Height - self._Labels["Text"]._Height) / 2
|
|
|
+
|
|
|
+ self._Labels["Text"]._PosY = self._PosY + (self._Height - self._Labels["Text"]._Height)/2
|
|
|
self._Labels["Text"].Draw()
|
|
|
|
|
|
if "Small" in self._Labels:
|
|
|
- self._Labels["Small"]._PosX = self._Width - self._Labels["Small"]._Width - 5
|
|
|
-
|
|
|
- self._Labels["Small"]._PosY = self._PosY + (self._Height - self._Labels["Small"]._Height) / 2
|
|
|
+ self._Labels["Small"]._PosX = self._Width - self._Labels["Small"]._Width-5
|
|
|
+
|
|
|
+ self._Labels["Small"]._PosY = self._PosY + (self._Height - self._Labels["Small"]._Height)/2
|
|
|
self._Labels["Small"].Draw()
|
|
|
-
|
|
|
- pygame.draw.line(self._Parent._CanvasHWND, (169, 169, 169), (self._PosX, self._PosY + self._Height - 1),
|
|
|
- (self._PosX + self._Width, self._PosY + self._Height - 1), 1)
|
|
|
+
|
|
|
+ pygame.draw.line(self._Parent._CanvasHWND,(169,169,169),(self._PosX,self._PosY+self._Height-1),(self._PosX+self._Width,self._PosY+self._Height-1),1)
|
|
|
+
|
|
|
|
|
|
|
|
|
class WifiDisconnectConfirmPage(ConfirmPage):
|
|
|
- _ConfirmText = "Confirm Disconnect?"
|
|
|
|
|
|
- def KeyDown(self, event):
|
|
|
+ _ConfirmText = "Confirm Disconnect?"
|
|
|
+
|
|
|
+ def KeyDown(self,event):
|
|
|
if event.key == CurKeys["Menu"] or event.key == CurKeys["A"]:
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
if event.key == CurKeys["B"]:
|
|
|
self.SnapMsg("Disconnecting...")
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
self._Parent._Daemon.Disconnect()
|
|
|
-
|
|
|
+
|
|
|
pygame.time.delay(400)
|
|
|
-
|
|
|
+
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
def Draw(self):
|
|
|
- # self.ClearCanvas()
|
|
|
+ #self.ClearCanvas()
|
|
|
self.DrawBG()
|
|
|
for i in self._MyList:
|
|
|
i.Draw()
|
|
|
-
|
|
|
+
|
|
|
self.Reset()
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
class WifiInfoPageSelector(PageSelector):
|
|
|
- _BackgroundColor = pygame.Color(131, 199, 219)
|
|
|
+ _BackgroundColor = pygame.Color(131,199,219)
|
|
|
|
|
|
def __init__(self):
|
|
|
self._PosX = 0
|
|
|
self._PosY = 0
|
|
|
self._Height = 0
|
|
|
- self._Width = Width
|
|
|
+ self._Width = Width
|
|
|
|
|
|
- def AnimateDraw(self, x2, y2):
|
|
|
+ def AnimateDraw(self,x2,y2):
|
|
|
pass
|
|
|
|
|
|
def Draw(self):
|
|
|
idx = self._Parent._PsIndex
|
|
|
if idx < len(self._Parent._MyList):
|
|
|
x = 2
|
|
|
- y = self._Parent._MyList[idx]._PosY + 1
|
|
|
- h = self._Parent._MyList[idx]._Height - 3
|
|
|
-
|
|
|
+ y = self._Parent._MyList[idx]._PosY+1
|
|
|
+ h = self._Parent._MyList[idx]._Height -3
|
|
|
+
|
|
|
self._PosX = x
|
|
|
self._PosY = y
|
|
|
self._Height = h
|
|
|
-
|
|
|
- aa_round_rect(self._Parent._CanvasHWND,
|
|
|
- (x, y, self._Width - 4, h), self._BackgroundColor, 4, 0, self._BackgroundColor)
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ aa_round_rect(self._Parent._CanvasHWND,
|
|
|
+ (x,y,self._Width-4,h),self._BackgroundColor,4,0,self._BackgroundColor)
|
|
|
+
|
|
|
class WifiInfoPage(Page):
|
|
|
- _FootMsg = ["Nav.", "Disconnect", "", "Back", ""]
|
|
|
+ _FootMsg = ["Nav.","Disconnect","","Back",""]
|
|
|
_MyList = []
|
|
|
_ListFontObj = fonts["varela15"]
|
|
|
|
|
|
_Wireless = None
|
|
|
- _Daemon = None
|
|
|
-
|
|
|
+ _Daemon = None
|
|
|
+
|
|
|
_AList = {}
|
|
|
_NetworkId = -1
|
|
|
-
|
|
|
+
|
|
|
def GenList(self):
|
|
|
-
|
|
|
+
|
|
|
self._MyList = []
|
|
|
if self._NetworkId != -1:
|
|
|
self._AList["ip"]["value"] = "Not Connected"
|
|
|
-
|
|
|
+
|
|
|
if self._Wireless.GetCurrentNetworkID(self._Wireless.GetIwconfig()) == self._NetworkId:
|
|
|
ip = self._Wireless.GetWirelessIP('')
|
|
|
-
|
|
|
+
|
|
|
if ip is not None:
|
|
|
self._AList["ip"]["value"] = ip
|
|
|
-
|
|
|
- self._AList["bssid"]["value"] = self._Wireless.GetWirelessProperty(self._NetworkId, "bssid")
|
|
|
-
|
|
|
- start_x = 0
|
|
|
- start_y = 0
|
|
|
-
|
|
|
- for i, v in enumerate(self._AList):
|
|
|
+
|
|
|
+ self._AList["bssid"]["value"] = self._Wireless.GetWirelessProperty(self._NetworkId,"bssid")
|
|
|
+
|
|
|
+ start_x = 0
|
|
|
+ start_y = 0
|
|
|
+
|
|
|
+ for i,v in enumerate( self._AList):
|
|
|
li = InfoPageListItem()
|
|
|
li._Parent = self
|
|
|
- li._PosX = start_x
|
|
|
- li._PosY = start_y + i * InfoPageListItem._Height
|
|
|
- li._Width = Width
|
|
|
+ li._PosX = start_x
|
|
|
+ li._PosY = start_y + i*InfoPageListItem._Height
|
|
|
+ li._Width = Width
|
|
|
li._Fonts["normal"] = self._ListFontObj
|
|
|
li._Fonts["small"] = fonts["varela12"]
|
|
|
-
|
|
|
+
|
|
|
if self._AList[v]["label"] != "":
|
|
|
- li.Init(self._AList[v]["label"])
|
|
|
+ li.Init( self._AList[v]["label"] )
|
|
|
else:
|
|
|
- li.Init(self._AList[v]["key"])
|
|
|
+ li.Init( self._AList[v]["key"] )
|
|
|
|
|
|
li._Flag = self._AList[v]["key"]
|
|
|
|
|
|
- li.SetSmallText(self._AList[v]["value"])
|
|
|
-
|
|
|
+ li.SetSmallText( self._AList[v]["value"] )
|
|
|
+
|
|
|
self._MyList.append(li)
|
|
|
-
|
|
|
+
|
|
|
def Init(self):
|
|
|
if self._Screen != None:
|
|
|
if self._Screen._CanvasHWND != None and self._CanvasHWND == None:
|
|
|
self._CanvasHWND = self._Screen._CanvasHWND
|
|
|
|
|
|
- self._PosX = self._Index * self._Screen._Width
|
|
|
- self._Width = self._Screen._Width ## equal to screen width
|
|
|
+ self._PosX = self._Index*self._Screen._Width
|
|
|
+ self._Width = self._Screen._Width ## equal to screen width
|
|
|
self._Height = self._Screen._Height
|
|
|
|
|
|
ps = WifiInfoPageSelector()
|
|
@@ -190,23 +196,23 @@ class WifiInfoPage(Page):
|
|
|
ip["key"] = "ip"
|
|
|
ip["label"] = "IP"
|
|
|
ip["value"] = "Not Connected"
|
|
|
-
|
|
|
+
|
|
|
bssid = {}
|
|
|
bssid["key"] = "bssid"
|
|
|
bssid["label"] = "BSSID"
|
|
|
bssid["value"] = ""
|
|
|
-
|
|
|
+
|
|
|
self._AList["ip"] = ip
|
|
|
self._AList["bssid"] = bssid
|
|
|
-
|
|
|
+
|
|
|
self.GenList()
|
|
|
|
|
|
self._DisconnectConfirmPage = WifiDisconnectConfirmPage()
|
|
|
self._DisconnectConfirmPage._Screen = self._Screen
|
|
|
- self._DisconnectConfirmPage._Name = "Confirm Disconnect"
|
|
|
+ self._DisconnectConfirmPage._Name = "Confirm Disconnect"
|
|
|
self._DisconnectConfirmPage._Parent = self
|
|
|
self._DisconnectConfirmPage.Init()
|
|
|
-
|
|
|
+
|
|
|
def ScrollUp(self):
|
|
|
if len(self._MyList) == 0:
|
|
|
return
|
|
@@ -217,38 +223,39 @@ class WifiInfoPage(Page):
|
|
|
if cur_li._PosY < 0:
|
|
|
for i in range(0, len(self._MyList)):
|
|
|
self._MyList[i]._PosY += self._MyList[i]._Height
|
|
|
+
|
|
|
|
|
|
def ScrollDown(self):
|
|
|
if len(self._MyList) == 0:
|
|
|
return
|
|
|
- self._PsIndex += 1
|
|
|
+ self._PsIndex +=1
|
|
|
if self._PsIndex >= len(self._MyList):
|
|
|
- self._PsIndex = len(self._MyList) - 1
|
|
|
+ self._PsIndex = len(self._MyList) -1
|
|
|
|
|
|
cur_li = self._MyList[self._PsIndex]
|
|
|
- if cur_li._PosY + cur_li._Height > self._Height:
|
|
|
- for i in range(0, len(self._MyList)):
|
|
|
+ if cur_li._PosY +cur_li._Height > self._Height:
|
|
|
+ for i in range(0,len(self._MyList)):
|
|
|
self._MyList[i]._PosY -= self._MyList[i]._Height
|
|
|
|
|
|
def Click(self):
|
|
|
cur_li = self._MyList[self._PsIndex]
|
|
|
- print(cur_li._Flag)
|
|
|
+ print(cur_li._Flag)
|
|
|
|
|
|
def TryDisconnect(self):
|
|
|
if self._Wireless.GetCurrentNetworkID(self._Wireless.GetIwconfig()) == self._NetworkId \
|
|
|
- and self._Wireless.GetWirelessIP('') is not None:
|
|
|
+ and self._Wireless.GetWirelessIP('') is not None:
|
|
|
self._Screen.PushPage(self._DisconnectConfirmPage)
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
else:
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
def OnLoadCb(self):
|
|
|
if self._Wireless.GetCurrentNetworkID(self._Wireless.GetIwconfig()) == self._NetworkId \
|
|
|
- and self._Wireless.GetWirelessIP('') is not None:
|
|
|
+ and self._Wireless.GetWirelessIP('') is not None:
|
|
|
self._FootMsg[1] = "Disconnect"
|
|
|
else:
|
|
|
- self._FootMsg[1] = ""
|
|
|
+ self._FootMsg[1] = ""
|
|
|
|
|
|
self.GenList()
|
|
|
|
|
@@ -256,13 +263,13 @@ class WifiInfoPage(Page):
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
- def KeyDown(self, event):
|
|
|
+
|
|
|
+ def KeyDown(self,event):
|
|
|
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
if event.key == CurKeys["Up"]:
|
|
|
self.ScrollUp()
|
|
|
self._Screen.Draw()
|
|
@@ -271,13 +278,14 @@ class WifiInfoPage(Page):
|
|
|
self.ScrollDown()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
+
|
|
|
|
|
|
if event.key == CurKeys["Enter"]:
|
|
|
self.Click()
|
|
|
|
|
|
if event.key == CurKeys["X"]:
|
|
|
self.TryDisconnect()
|
|
|
-
|
|
|
+
|
|
|
def Draw(self):
|
|
|
self.ClearCanvas()
|
|
|
self._Ps.Draw()
|
|
@@ -286,90 +294,91 @@ class WifiInfoPage(Page):
|
|
|
i.Draw()
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
class WifiListSelector(PageSelector):
|
|
|
- _BackgroundColor = pygame.Color(131, 199, 219)
|
|
|
+ _BackgroundColor = pygame.Color(131,199,219)
|
|
|
|
|
|
def __init__(self):
|
|
|
self._PosX = 0
|
|
|
self._PosY = 0
|
|
|
self._Height = 0
|
|
|
|
|
|
- def AnimateDraw(self, x2, y2):
|
|
|
- pass
|
|
|
+ def AnimateDraw(self,x2,y2):
|
|
|
+ pass
|
|
|
+
|
|
|
|
|
|
def Draw(self):
|
|
|
idx = self._Parent._PsIndex
|
|
|
- if idx < len(self._Parent._WirelessList):
|
|
|
- x = self._Parent._WirelessList[idx]._PosX + 11
|
|
|
- y = self._Parent._WirelessList[idx]._PosY + 1
|
|
|
- h = self._Parent._WirelessList[idx]._Height - 3
|
|
|
-
|
|
|
+ if idx < len( self._Parent._WirelessList):
|
|
|
+ x = self._Parent._WirelessList[idx]._PosX+11
|
|
|
+ y = self._Parent._WirelessList[idx]._PosY+1
|
|
|
+ h = self._Parent._WirelessList[idx]._Height -3
|
|
|
+
|
|
|
self._PosX = x
|
|
|
self._PosY = y
|
|
|
self._Height = h
|
|
|
|
|
|
- aa_round_rect(self._Parent._CanvasHWND,
|
|
|
- (x, y, self._Width, h), self._BackgroundColor, 4, 0, self._BackgroundColor)
|
|
|
+ aa_round_rect(self._Parent._CanvasHWND,
|
|
|
+ (x,y,self._Width,h),self._BackgroundColor,4,0,self._BackgroundColor)
|
|
|
|
|
|
|
|
|
class WifiListMessageBox(Label):
|
|
|
_Parent = None
|
|
|
|
|
|
def Draw(self):
|
|
|
- my_text = self._FontObj.render(self._Text, True, self._Color)
|
|
|
- w = my_text.get_width()
|
|
|
- h = my_text.get_height()
|
|
|
- x = (self._Parent._Width - w) / 2
|
|
|
- y = (self._Parent._Height - h) / 2
|
|
|
- padding = 10
|
|
|
- pygame.draw.rect(self._CanvasHWND, (255, 255, 255),
|
|
|
- (x - padding, y - padding, w + padding * 2, h + padding * 2))
|
|
|
-
|
|
|
- pygame.draw.rect(self._CanvasHWND, (0, 0, 0), (x - padding, y - padding, w + padding * 2, h + padding * 2), 1)
|
|
|
+ my_text = self._FontObj.render( self._Text,True,self._Color)
|
|
|
+ w = my_text.get_width()
|
|
|
+ h = my_text.get_height()
|
|
|
+ x = (self._Parent._Width - w)/2
|
|
|
+ y = (self._Parent._Height - h)/2
|
|
|
+ padding = 10
|
|
|
+ pygame.draw.rect(self._CanvasHWND,(255,255,255),(x-padding,y-padding, w+padding*2,h+padding*2))
|
|
|
|
|
|
- self._CanvasHWND.blit(my_text, (x, y, w, h))
|
|
|
+ pygame.draw.rect(self._CanvasHWND,(0,0,0),(x-padding,y-padding, w+padding*2,h+padding*2),1)
|
|
|
|
|
|
+ self._CanvasHWND.blit(my_text,(x,y,w,h))
|
|
|
|
|
|
class WifiList(Page):
|
|
|
_WirelessList = []
|
|
|
- # Wicd dbus part
|
|
|
+ #Wicd dbus part
|
|
|
_Wireless = None
|
|
|
- _Daemon = None
|
|
|
- _Dbus = None
|
|
|
+ _Daemon = None
|
|
|
+ _Dbus = None
|
|
|
_WifiPassword = ""
|
|
|
_Connecting = False
|
|
|
- _Scanning = False
|
|
|
-
|
|
|
+ _Scanning = False
|
|
|
+
|
|
|
_PrevWicdState = None
|
|
|
-
|
|
|
+
|
|
|
_Selector = None
|
|
|
-
|
|
|
- _ShowingMessageBox = False
|
|
|
- _MsgBox = None
|
|
|
- _ConnectTry = 0
|
|
|
- _BlockingUI = False
|
|
|
- _BlockCb = None
|
|
|
-
|
|
|
- _LastStatusMsg = ""
|
|
|
- _FootMsg = ["Nav.", "Scan", "Info", "Back", "Enter"]
|
|
|
- _EncMethods = None
|
|
|
- _Scroller = None
|
|
|
- _ListFontObj = fonts["notosanscjk15"]
|
|
|
-
|
|
|
- _InfoPage = None
|
|
|
-
|
|
|
+
|
|
|
+ _ShowingMessageBox = False
|
|
|
+ _MsgBox = None
|
|
|
+ _ConnectTry = 0
|
|
|
+ _BlockingUI = False
|
|
|
+ _BlockCb = None
|
|
|
+
|
|
|
+ _LastStatusMsg = ""
|
|
|
+ _FootMsg = ["Nav.","Scan","Info","Back","Enter"]
|
|
|
+ _EncMethods = None
|
|
|
+ _Scroller = None
|
|
|
+ _ListFontObj = fonts["notosanscjk15"]
|
|
|
+
|
|
|
+ _InfoPage = None
|
|
|
+
|
|
|
def __init__(self):
|
|
|
Page.__init__(self)
|
|
|
self._WirelessList = []
|
|
|
self._CanvasHWND = None
|
|
|
-
|
|
|
- def ShowBox(self, msg):
|
|
|
+
|
|
|
+ def ShowBox(self,msg):
|
|
|
self._MsgBox._Text = msg
|
|
|
self._ShowingMessageBox = True
|
|
|
self._Screen.Draw()
|
|
|
self._MsgBox.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
def HideBox(self):
|
|
|
self.Draw()
|
|
|
self._ShowingMessageBox = False
|
|
@@ -380,7 +389,7 @@ class WifiList(Page):
|
|
|
start_x = 0
|
|
|
start_y = 0
|
|
|
|
|
|
- for network_id in range(0, self._Wireless.GetNumberOfNetworks()):
|
|
|
+ for network_id in range(0,self._Wireless.GetNumberOfNetworks()):
|
|
|
is_active = \
|
|
|
self._Wireless.GetCurrentSignalStrength("") != 0 and \
|
|
|
self._Wireless.GetCurrentNetworkID(self._Wireless.GetIwconfig()) == network_id \
|
|
@@ -389,39 +398,38 @@ class WifiList(Page):
|
|
|
ni = NetItem()
|
|
|
ni._Parent = self
|
|
|
ni._PosX = start_x
|
|
|
- ni._PosY = start_y + network_id * NetItem._Height
|
|
|
+ ni._PosY = start_y + network_id* NetItem._Height
|
|
|
ni._Width = Width
|
|
|
ni._FontObj = self._ListFontObj
|
|
|
- # ni._Bssid = self._Wireless.GetWirelessProperty(network_id,"bssid")
|
|
|
-
|
|
|
- ni.Init(network_id, is_active)
|
|
|
+ #ni._Bssid = self._Wireless.GetWirelessProperty(network_id,"bssid")
|
|
|
+
|
|
|
+ ni.Init(network_id,is_active)
|
|
|
self._WirelessList.append(ni)
|
|
|
|
|
|
self._PsIndex = 0
|
|
|
-
|
|
|
+
|
|
|
def Disconnect(self):
|
|
|
- self._Connecting = False
|
|
|
+ self._Connecting= False
|
|
|
self._Daemon.Disconnect()
|
|
|
-
|
|
|
## force to disconnect
|
|
|
def ShutDownConnecting(self):
|
|
|
- print("Shutdownconnecting...", self._ConnectTry)
|
|
|
+ print("Shutdownconnecting...",self._ConnectTry)
|
|
|
self._Daemon.CancelConnect()
|
|
|
self._Daemon.SetForcedDisconnect(True)
|
|
|
self._Connecting = False
|
|
|
|
|
|
- def Rescan(self, sync=False):
|
|
|
+ def Rescan(self,sync=False):
|
|
|
print("start Rescan")
|
|
|
if self._Wireless != None:
|
|
|
self._Wireless.Scan(sync)
|
|
|
|
|
|
- ## dbus signal functions
|
|
|
+## dbus signal functions
|
|
|
def DbusScanFinishedSig(self):
|
|
|
|
|
|
if self._Screen._CurrentPage != self:
|
|
|
return
|
|
|
self.ResetPageSelector()
|
|
|
-
|
|
|
+
|
|
|
self.UpdateNetList(force_check=True)
|
|
|
|
|
|
self._Scanning = False
|
|
@@ -430,38 +438,39 @@ class WifiList(Page):
|
|
|
print("dbus says scan finished")
|
|
|
|
|
|
def DbusScanStarted(self):
|
|
|
- if self._Screen._CurrentPage != self:
|
|
|
+ if self._Screen._CurrentPage !=self:
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
self._Scanning = True
|
|
|
self.ShowBox("Wifi scanning...")
|
|
|
self._BlockingUI = True
|
|
|
print("dbus says start scan...")
|
|
|
|
|
|
- def UpdateNetList(self, state=None, info=None, force_check=False, firstrun=False):
|
|
|
+
|
|
|
+ def UpdateNetList(self,state=None,info=None,force_check=False,firstrun=False):
|
|
|
|
|
|
if self._Daemon == None:
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
if not state:
|
|
|
- state, trash = self._Daemon.GetConnectionStatus()
|
|
|
+ state,trash = self._Daemon.GetConnectionStatus()
|
|
|
print("state")
|
|
|
pp(state)
|
|
|
print("Trash: ")
|
|
|
pp(trash)
|
|
|
|
|
|
if force_check or self._PrevWicdState != state:
|
|
|
- self.GenNetworkList() ## refresh the network list
|
|
|
-
|
|
|
+ self.GenNetworkList() ## refresh the network list
|
|
|
+
|
|
|
if info != None:
|
|
|
if len(info) > 3:
|
|
|
- _id = int(info[3])
|
|
|
+ _id = int(info[3])
|
|
|
if _id < len(self._WirelessList):
|
|
|
- self._WirelessList[_id].UpdateStrenLabel(str(info[2]))
|
|
|
+ self._WirelessList[_id].UpdateStrenLabel( str(info[2]))
|
|
|
|
|
|
self._PrevWicdState = state
|
|
|
-
|
|
|
- def SetConnectingStatus(self, fast):
|
|
|
+
|
|
|
+ def SetConnectingStatus(self,fast):
|
|
|
wireless_connecting = self._Wireless.CheckIfWirelessConnecting()
|
|
|
|
|
|
"""
|
|
@@ -472,7 +481,7 @@ class WifiList(Page):
|
|
|
self._BlockingUI = False
|
|
|
return False
|
|
|
"""
|
|
|
-
|
|
|
+
|
|
|
if wireless_connecting:
|
|
|
if not fast:
|
|
|
iwconfig = self._Wireless.GetIwconfig()
|
|
@@ -480,15 +489,15 @@ class WifiList(Page):
|
|
|
iwconfig = ''
|
|
|
essid = self._Wireless.GetCurrentNetwork(iwconfig)
|
|
|
stat = self._Wireless.CheckWirelessConnectingMessage()
|
|
|
- if self._LastStatusMsg != "%s: %s" % (essid, stat):
|
|
|
- print("%s: %s" % (essid, stat))
|
|
|
- self._LastStatusMsg = "%s: %s" % (essid, stat)
|
|
|
+ if self._LastStatusMsg != "%s: %s"%(essid,stat):
|
|
|
+ print("%s: %s" %(essid,stat))
|
|
|
+ self._LastStatusMsg = "%s: %s"%(essid,stat)
|
|
|
self.ShowBox(self._LastStatusMsg)
|
|
|
-
|
|
|
+
|
|
|
self._Screen._FootBar.UpdateNavText(self._LastStatusMsg)
|
|
|
SwapAndShow()
|
|
|
-
|
|
|
- # self._ConnectTry+=1
|
|
|
+
|
|
|
+ #self._ConnectTry+=1
|
|
|
|
|
|
return True
|
|
|
else:
|
|
@@ -499,36 +508,37 @@ class WifiList(Page):
|
|
|
print("UpdateStatus")
|
|
|
wireless_connecting = self._Wireless.CheckIfWirelessConnecting()
|
|
|
fast = not self._Daemon.NeedsExternalCalls()
|
|
|
-
|
|
|
+
|
|
|
self._Connecting = wireless_connecting
|
|
|
-
|
|
|
+
|
|
|
if self._Connecting:
|
|
|
- gobject.timeout_add(250, self.SetConnectingStatus, fast)
|
|
|
+ gobject.timeout_add(250,self.SetConnectingStatus,fast)
|
|
|
else:
|
|
|
if not fast:
|
|
|
iwconfig = self._Wireless.GetIwconfig()
|
|
|
else:
|
|
|
iwconfig = ''
|
|
|
|
|
|
- if self.CheckForWireless(iwconfig, self._Wireless.GetWirelessIP(''), None):
|
|
|
+ if self.CheckForWireless(iwconfig,self._Wireless.GetWirelessIP(''),None):
|
|
|
return True
|
|
|
else:
|
|
|
print("Not Connected")
|
|
|
return True
|
|
|
|
|
|
- def DbusDaemonStatusChangedSig(self, state=None, info=None):
|
|
|
+ def DbusDaemonStatusChangedSig(self,state=None,info=None):
|
|
|
print("in DbusDaemonStatusChangedSig")
|
|
|
"""
|
|
|
dbus.UInt32(2L)
|
|
|
['192.168.31.141', 'TP-LINK4G', '88', '0', '72.2 Mb/s']
|
|
|
"""
|
|
|
pp(info)
|
|
|
- self.UpdateNetList(state, info)
|
|
|
+ self.UpdateNetList(state,info)
|
|
|
if info != None:
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
+
|
|
|
|
|
|
- def DbusConnectResultsSent(self, result):
|
|
|
+ def DbusConnectResultsSent(self,result):
|
|
|
print(" in DbusConnectResultsSent")
|
|
|
"""
|
|
|
in DbusConnectResultsSent
|
|
@@ -538,7 +548,7 @@ class WifiList(Page):
|
|
|
"""
|
|
|
if result != None:
|
|
|
print(result)
|
|
|
-
|
|
|
+
|
|
|
self._Connecting = False
|
|
|
self._BlockingUI = False
|
|
|
if self._BlockCb != None:
|
|
@@ -546,8 +556,8 @@ class WifiList(Page):
|
|
|
self._BlockCb = None
|
|
|
|
|
|
self._Screen._FootBar.ResetNavText()
|
|
|
-
|
|
|
- def CheckForWireless(self, iwconfig, wireless_ip, set_status):
|
|
|
+
|
|
|
+ def CheckForWireless(self,iwconfig,wireless_ip,set_status):
|
|
|
if not wireless_ip:
|
|
|
return False
|
|
|
network = self._Wireless.GetCurrentNetwork(iwconfig)
|
|
@@ -565,15 +575,15 @@ class WifiList(Page):
|
|
|
ip = misc.to_unicode(wireless_ip)
|
|
|
|
|
|
print(_('Connected to $A at $B (IP: $C)').replace
|
|
|
- ('$A', network).replace
|
|
|
- ('$B', strength).replace
|
|
|
- ('$C', ip))
|
|
|
-
|
|
|
+ ('$A', network).replace
|
|
|
+ ('$B', strength).replace
|
|
|
+ ('$C', ip))
|
|
|
+
|
|
|
return True
|
|
|
|
|
|
- def ConfigWireless(self, password):
|
|
|
+ def ConfigWireless(self,password):
|
|
|
netid = self._PsIndex
|
|
|
- print(netid, " ", password)
|
|
|
+ print(netid," ", password)
|
|
|
"""
|
|
|
self._Wireless.SetWirelessProperty(netid,"dhcphostname","GameShell")
|
|
|
self._Wireless.SetWirelessProperty(netid,"ip","None")
|
|
@@ -591,35 +601,36 @@ class WifiList(Page):
|
|
|
self._Wireless.SetWirelessProperty(netid,"use_static_dns",0)
|
|
|
self._Wireless.SetWirelessProperty(netid,"search_domain","None")
|
|
|
"""
|
|
|
- self._Wireless.SetWirelessProperty(netid, "enctype", "wpa-psk")
|
|
|
- self._Wireless.SetWirelessProperty(netid, "apsk", password)
|
|
|
- self._Wireless.SetWirelessProperty(netid, "automatic", 1)
|
|
|
+ self._Wireless.SetWirelessProperty(netid,"enctype","wpa-psk")
|
|
|
+ self._Wireless.SetWirelessProperty(netid,"apsk",password)
|
|
|
+ self._Wireless.SetWirelessProperty(netid,"automatic",1)
|
|
|
|
|
|
+
|
|
|
self._WirelessList[netid].Connect()
|
|
|
print("after Connect")
|
|
|
self.UpdateStatus()
|
|
|
|
|
|
- def GetWirelessEncrypt(self, network_id):
|
|
|
+ def GetWirelessEncrypt(self,network_id):
|
|
|
results = []
|
|
|
activeID = -1
|
|
|
- for x, enc_type in enumerate(self._EncMethods):
|
|
|
- if enc_type["type"] == self._Wireless.GetWirelessProperty(network_id, "enctype"):
|
|
|
+ for x,enc_type in enumerate(self._EncMethods):
|
|
|
+ if enc_type["type"] == self._Wireless.GetWirelessProperty(network_id,"enctype"):
|
|
|
activeID = x
|
|
|
break
|
|
|
|
|
|
if activeID == -1:
|
|
|
return results
|
|
|
-
|
|
|
- for type_ in ['required', 'optional']:
|
|
|
+
|
|
|
+ for type_ in ['required','optional']:
|
|
|
fields = self._EncMethods[activeID][type_]
|
|
|
for field in fields:
|
|
|
try:
|
|
|
- text = field[1].lower().replace(' ', '_')
|
|
|
+ text = field[1].lower().replace(' ','_')
|
|
|
except KeyError:
|
|
|
- text = field[1].replace(' ', '_')
|
|
|
-
|
|
|
+ text = field[1].replace(' ','_')
|
|
|
+
|
|
|
value = self._Wireless.GetWirelessProperty(network_id, field[0])
|
|
|
- results.append({text: value})
|
|
|
+ results.append({text:value})
|
|
|
"""
|
|
|
[{'preshared_key': 'blah blah blah',},]
|
|
|
|
|
@@ -632,26 +643,27 @@ class WifiList(Page):
|
|
|
def ScrollUp(self):
|
|
|
if len(self._WirelessList) == 0:
|
|
|
return
|
|
|
- self._PsIndex -= 1
|
|
|
+ self._PsIndex-=1
|
|
|
if self._PsIndex < 0:
|
|
|
self._PsIndex = 0
|
|
|
-
|
|
|
+
|
|
|
cur_ni = self._WirelessList[self._PsIndex]
|
|
|
if cur_ni._PosY < 0:
|
|
|
- for i in range(0, len(self._WirelessList)):
|
|
|
+ for i in range(0,len(self._WirelessList)):
|
|
|
self._WirelessList[i]._PosY += self._WirelessList[i]._Height
|
|
|
-
|
|
|
+
|
|
|
def ScrollDown(self):
|
|
|
if len(self._WirelessList) == 0:
|
|
|
return
|
|
|
- self._PsIndex += 1
|
|
|
+ self._PsIndex+=1
|
|
|
if self._PsIndex >= len(self._WirelessList):
|
|
|
- self._PsIndex = len(self._WirelessList) - 1
|
|
|
-
|
|
|
+ self._PsIndex = len(self._WirelessList) -1
|
|
|
+
|
|
|
cur_ni = self._WirelessList[self._PsIndex]
|
|
|
if cur_ni._PosY + cur_ni._Height > self._Height:
|
|
|
- for i in range(0, len(self._WirelessList)):
|
|
|
+ for i in range(0,len(self._WirelessList)):
|
|
|
self._WirelessList[i]._PosY -= self._WirelessList[i]._Height
|
|
|
+
|
|
|
|
|
|
def AbortedAndReturnToUpLevel(self):
|
|
|
self.HideBox()
|
|
@@ -659,20 +671,20 @@ class WifiList(Page):
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
- def KeyDown(self, event):
|
|
|
+
|
|
|
+ def KeyDown(self,event):
|
|
|
|
|
|
if self._BlockingUI == True:
|
|
|
print("UI blocking ...")
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
if event.key == CurKeys["A"] or event.key == CurKeys["Menu"]:
|
|
|
if self._Wireless != None:
|
|
|
wireless_connecting = self._Wireless.CheckIfWirelessConnecting()
|
|
|
if wireless_connecting:
|
|
|
self.ShutDownConnecting()
|
|
|
self.ShowBox("ShutDownConnecting...")
|
|
|
- self._BlockingUI = True
|
|
|
+ self._BlockingUI=True
|
|
|
self._BlockCb = self.AbortedAndReturnToUpLevel
|
|
|
else:
|
|
|
self.AbortedAndReturnToUpLevel()
|
|
@@ -681,7 +693,7 @@ class WifiList(Page):
|
|
|
self.ReturnToUpLevelPage()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
if event.key == CurKeys["Up"]:
|
|
|
self.ScrollUp()
|
|
|
self._Screen.Draw()
|
|
@@ -690,19 +702,19 @@ class WifiList(Page):
|
|
|
self.ScrollDown()
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
- if event.key == CurKeys["Enter"]: ## enter to set password,enter is B on GM
|
|
|
+
|
|
|
+ if event.key == CurKeys["Enter"]: ## enter to set password,enter is B on GM
|
|
|
if len(self._WirelessList) == 0:
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
wicd_wirelss_encrypt_pwd = self.GetWirelessEncrypt(self._PsIndex)
|
|
|
-
|
|
|
+
|
|
|
if self._WirelessList[self._PsIndex]._IsActive:
|
|
|
- self.ShowBox(self._Wireless.GetWirelessIP(''))
|
|
|
+ self.ShowBox( self._Wireless.GetWirelessIP('') )
|
|
|
else:
|
|
|
self._Screen.PushCurPage()
|
|
|
- self._Screen.SetCurPage(myvars.PasswordPage)
|
|
|
-
|
|
|
+ self._Screen.SetCurPage( myvars.PasswordPage )
|
|
|
+
|
|
|
thepass = ""
|
|
|
for i in wicd_wirelss_encrypt_pwd:
|
|
|
if "preshared_key" in i:
|
|
@@ -710,11 +722,11 @@ class WifiList(Page):
|
|
|
if len(i["preshared_key"]) > 0:
|
|
|
thepass = i["preshared_key"]
|
|
|
break
|
|
|
-
|
|
|
+
|
|
|
myvars.PasswordPage.SetPassword(thepass)
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
-
|
|
|
+
|
|
|
"""
|
|
|
try:
|
|
|
self._Screen.Draw()
|
|
@@ -725,43 +737,44 @@ class WifiList(Page):
|
|
|
"""
|
|
|
if event.key == CurKeys["X"]:
|
|
|
self.Rescan(False)
|
|
|
-
|
|
|
+
|
|
|
if event.key == CurKeys["Y"]:
|
|
|
if len(self._WirelessList) == 0:
|
|
|
return
|
|
|
|
|
|
self._InfoPage._NetworkId = self._PsIndex
|
|
|
- self._InfoPage._Wireless = self._Wireless
|
|
|
- self._InfoPage._Daemon = self._Daemon
|
|
|
-
|
|
|
+ self._InfoPage._Wireless = self._Wireless
|
|
|
+ self._InfoPage._Daemon = self._Daemon
|
|
|
+
|
|
|
self._Screen.PushPage(self._InfoPage)
|
|
|
self._Screen.Draw()
|
|
|
self._Screen.SwapAndShow()
|
|
|
+
|
|
|
|
|
|
def Init(self):
|
|
|
-
|
|
|
+
|
|
|
self._PosX = self._Index * self._Screen._Width
|
|
|
self._Width = self._Screen._Width
|
|
|
self._Height = self._Screen._Height
|
|
|
|
|
|
- # self._CanvasHWND = pygame.Surface((self._Width,self._Height))
|
|
|
+ #self._CanvasHWND = pygame.Surface((self._Width,self._Height))
|
|
|
self._CanvasHWND = self._Screen._CanvasHWND
|
|
|
|
|
|
ps = WifiListSelector()
|
|
|
ps._Parent = self
|
|
|
ps._Width = Width - 12
|
|
|
-
|
|
|
+
|
|
|
self._Ps = ps
|
|
|
self._PsIndex = 0
|
|
|
-
|
|
|
+
|
|
|
msgbox = WifiListMessageBox()
|
|
|
msgbox._CanvasHWND = self._CanvasHWND
|
|
|
- msgbox.Init(" ", fonts["veramono12"])
|
|
|
+ msgbox.Init(" ",fonts["veramono12"])
|
|
|
msgbox._Parent = self
|
|
|
+
|
|
|
+ self._MsgBox = msgbox
|
|
|
|
|
|
- self._MsgBox = msgbox
|
|
|
-
|
|
|
- self._EncMethods = misc.LoadEncryptionMethods() # load predefined templates from /etc/wicd/...
|
|
|
+ self._EncMethods = misc.LoadEncryptionMethods() # load predefined templates from /etc/wicd/...
|
|
|
|
|
|
"""
|
|
|
{
|
|
@@ -777,8 +790,8 @@ class WifiList(Page):
|
|
|
'type': 'wpa-psk',
|
|
|
},
|
|
|
"""
|
|
|
-
|
|
|
- self.UpdateNetList(force_check=True, firstrun=True)
|
|
|
+
|
|
|
+ self.UpdateNetList(force_check=True,firstrun=True)
|
|
|
|
|
|
self._Scroller = ListScroller()
|
|
|
self._Scroller._Parent = self
|
|
@@ -786,20 +799,22 @@ class WifiList(Page):
|
|
|
self._Scroller._PosY = 2
|
|
|
self._Scroller.Init()
|
|
|
|
|
|
+
|
|
|
self._InfoPage = WifiInfoPage()
|
|
|
self._InfoPage._Screen = self._Screen
|
|
|
- self._InfoPage._Name = "Wifi info"
|
|
|
+ self._InfoPage._Name = "Wifi info"
|
|
|
self._InfoPage.Init()
|
|
|
-
|
|
|
+
|
|
|
def Draw(self):
|
|
|
self.ClearCanvas()
|
|
|
|
|
|
if len(self._WirelessList) == 0:
|
|
|
return
|
|
|
-
|
|
|
+
|
|
|
self._Ps.Draw()
|
|
|
for i in self._WirelessList:
|
|
|
i.Draw()
|
|
|
|
|
|
- self._Scroller.UpdateSize(len(self._WirelessList) * NetItem._Height, self._PsIndex * NetItem._Height)
|
|
|
+
|
|
|
+ self._Scroller.UpdateSize( len(self._WirelessList)*NetItem._Height, self._PsIndex*NetItem._Height)
|
|
|
self._Scroller.Draw()
|