def CheckUpdate(self):
        global LauncherLoc
        self._Screen._MsgBox.SetText("CheckingUpdate")
        self._Screen._MsgBox.Draw()
        self._Screen.SwapAndShow()

        try:
            r = requests.get(config.UPDATE_URL, verify=False, timeout=8)
        except:
            print("requests get error")
            return
        else:
            if r.status_code == requests.codes.ok:
                try:
                    json_ = r.json()

                    if "version" in json_ and "updatepath" in json_ and "md5sum" in json_:
                        if config.VERSION != json_["version"]:
                            
                            self._ConfirmPage._URL = json_["updatepath"]
                            self._ConfirmPage._MD5 = json_["md5sum"]
                            self._ConfirmPage._GIT = False
                            
                            self._Screen.PushPage(self._ConfirmPage)
                            
                            self._Screen.Draw()
                            self._ConfirmPage.SnapMsg(MyLangManager.Tr("ConfirmUpdateToFQ") % json_["version"] )
                            self._Screen.SwapAndShow()
                            
                    elif "gitversion" in json_: ### just use git to  run update
                        cur_dir = os.getcwd()
                        os.chdir(LauncherLoc)
                        current_git_version = get_git_revision_short_hash()
                        current_git_version = current_git_version.strip("\n")
                        current_git_version = current_git_version.strip("\t")
                        os.chdir(cur_dir)
                        if current_git_version != json_["gitversion"]:
                            self._ConfirmPage._URL = None
                            self._ConfirmPage._MD5 = None
                            self._ConfirmPage._GIT = True
                            self._ConfirmPage._Version = json_["gitversion"]
                            
                            self._Screen.PushPage(self._ConfirmPage)
                            
                            self._Screen.Draw()
                            self._ConfirmPage.SnapMsg(MyLangManager.Tr("UpdateToFQ") % json_["gitversion"] )
                            self._Screen.SwapAndShow()
                        else:
                            self._Screen.Draw()
                            self._Screen._MsgBox.SetText("LauncherIsUpToDate")
                            self._Screen._MsgBox.Draw()
                            self._Screen.SwapAndShow()
                            pygame.time.delay(765)
                            
                    return True
                except Exception, e:
                    print("r.json() error %s" % str(e))
                
            else:
    def GenList(self):

        time1 = {}
        time1["key"] = "time1"
        if self._Time1 == 0:
            time1["value"] = MyLangManager.Tr("Never")
        else:
            time1["value"] = "%d secs" % self._Time1
        time1["label"] = "Screen dimming"

        time2 = {}
        time2["key"] = "time2"
        if self._Time2 == 0:
            time2["value"] = MyLangManager.Tr("Never")
        else:
            time2["value"] = "%d secs" % self._Time2

        time2["label"] = "Screen OFF"

        time3 = {}
        time3["key"] = "time3"

        if self._Time3 == 0:
            time3["value"] = MyLangManager.Tr("Never")
        else:
            time3["value"] = "%d secs" % self._Time3
        time3["label"] = "Power OFF"

        self._AList["time1"] = time1
        self._AList["time2"] = time2
        self._AList["time3"] = time3

        self._MyList = []

        start_x = 0
        start_y = 0

        for i, v in enumerate(self._AList):
            #print(v)
            li = PageListItem()
            li._Parent = self
            li._PosX = start_x
            li._PosY = start_y + i * PageListItem._Height
            li._Width = Width
            li._Fonts["normal"] = self._ListFontObj
            li._Fonts["small"] = MyLangManager.TrFont("varela12")

            if self._AList[v]["label"] != "":
                li.Init(self._AList[v]["label"])
            else:
                li.Init(self._AList[v]["key"])

            li._Flag = self._AList[v]["key"]

            li.SetSmallText(self._AList[v]["value"])

            self._MyList.append(li)
Exemple #3
0
class WifiDisconnectConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("ConfirmDisconnectQ")
    
    def KeyDown(self,event):
        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
            
        if IsKeyStartOrA(event.key):
            self.SnapMsg(MyLangManager.Tr("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.DrawBG()
        for i in self._MyList:
            i.Draw()
        
        self.Reset()
    def TryConnect(self):
        global bus

        if self._PsIndex >= len(self._MyList):
            return

        cur_li = self._MyList[self._PsIndex]
        print(cur_li._Path)

        if "Connected" in cur_li._Atts:
            if cur_li._Atts["Connected"] == 1:
                return

        proxy_obj = bus.get_object("org.bluez", cur_li._Path)
        dev = dbus.Interface(proxy_obj, "org.bluez.Device1")

        self._Screen._FootBar.UpdateNavText("Connecting")
        self.ShowBox(MyLangManager.Tr("Connecting"))

        self._Leader._MyAgent.device_obj = dev
        self._Leader._MyAgent.dev_path = cur_li._Path

        try:
            dev.Pair(reply_handler=self._Leader._MyAgent.pair_reply,
                     error_handler=self._Leader._MyAgent.pair_error,
                     timeout=60000)
        except Exception, e:
            print(str(e))
    def Rescan(self):
        if self._Screen._CurrentPage != self:
            return

        self._Scanning = True
        self.ShowBox(MyLangManager.Tr("BluetoothScanning"))
        self._Screen._FootBar.UpdateNavText("Scanning")

        proxy_obj = self._Dbus.get_object("org.bluez",
                                          "/org/bluez/" + self._ADAPTER_DEV)
        adapter_props = dbus.Interface(proxy_obj,
                                       "org.freedesktop.DBus.Properties")
        discoverying = adapter_props.Get("org.bluez.Adapter1", "Discovering")
        print("discoverying", discoverying)

        if self._Adapter != None:
            try:
                self._Adapter.StopDiscovery()
            except Exception, e:
                print(str(e))

            try:
                self._Adapter.StartDiscovery()
            except Exception, e:
                err_name = e.get_dbus_name()
                if err_name == "org.freedesktop.DBus.Error.NoReply":
                    print("start discovery timeout")
                else:
                    print("start discovery unknown err: ", str(e))
Exemple #6
0
    def ConfigWireless(self, password):
        netid = self._PsIndex
        print(netid, " ", password)
        """
        self._Wireless.SetWirelessProperty(netid,"dhcphostname","GameShell")
        self._Wireless.SetWirelessProperty(netid,"ip","None")
        self._Wireless.SetWirelessProperty(netid,"dns_domain","None")
        self._Wireless.SetWirelessProperty(netid,"gateway","None")
        self._Wireless.SetWirelessProperty(netid,"use_global_dns",0)
        self._Wireless.SetWirelessProperty(netid,"netmask","None")
        self._Wireless.SetWirelessProperty(netid,"usedhcphostname",0) ## set 1 to use hostname above
        self._Wireless.SetWirelessProperty(netid,"bitrate","auto")
        self._Wireless.SetWirelessProperty(netid,"allow_lower_bitrates",0)
        self._Wireless.SetWirelessProperty(netid,"dns3","None")
        self._Wireless.SetWirelessProperty(netid,"dns2","None")
        self._Wireless.SetWirelessProperty(netid,"dns1","None")
        self._Wireless.SetWirelessProperty(netid,"use_settings_globally",0)
        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.ShowBox(MyLangManager.Tr("Connecting"))

        self._WirelessList[netid].Connect()
        print("after Connect")
        self.UpdateStatus()
    def KeyDown(self, event):
        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 5:
                self.SnapMsg(MyLangManager.Tr("BATOver5Pct"))
            else:
                if self._MyDownloadPage == None:
                    self._MyDownloadPage = DownloadProcessPage()
                    self._MyDownloadPage._Screen = self._Screen
                    self._MyDownloadPage._Name = "Downloading"
                    self._MyDownloadPage.Init()

                self._Screen.PushPage(self._MyDownloadPage)
                self._Screen.Draw()
                self._Screen.SwapAndShow()

                if config.CurKeySet == "PC":
                    so_url = self._Parent._Emulator[
                        "SO_URL"]  ## [rom/fav]_list_page is _Parent
                    so_url = so_url.replace("armhf", "x86_64")
                    print(so_url)
                    self._MyDownloadPage.StartDownload(
                        so_url,
                        os.path.dirname(self._Parent._Emulator["ROM_SO"]))
                else:
                    self._MyDownloadPage.StartDownload(
                        self._Parent._Emulator["SO_URL"],
                        os.path.dirname(self._Parent._Emulator["ROM_SO"]))
    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):
            if self._Offline == True:
                self.AbortedAndReturnToUpLevel()
                return

            if self._Adapter != None:
                try:
                    self._Adapter.StopDiscovery()
                except Exception, e:
                    print(str(e))

                _connecting = self.CheckIfBluetoothConnecting()
                if _connecting:
                    self.ShutDownConnecting()
                    self.ShowBox(MyLangManager.Tr("ShutDownConnecting"))
                    self.AbortedAndReturnToUpLevel()
                else:
                    self.AbortedAndReturnToUpLevel()
            else:
                self.HideBox()
                self.ReturnToUpLevelPage()
                self._Screen.Draw()
                self._Screen.SwapAndShow()

            self._Screen._FootBar.ResetNavText()
Exemple #9
0
class PowerOffConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("Awaiting Input")
    _FootMsg = ["Nav", "", "Reboot", "Cancel", "Shutdown"]

    def CheckBattery(self):
        return BatteryAbstraction.AsPercentage()

    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 20:
                cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;"
            else:
                cmdpath = "feh --bg-center gameshell/wallpaper/seeyou.png;"

            cmdpath += "sleep 3;"

            #cmdpath += "echo 'halt -p' > /tmp/halt_cmd"

            cmdpath += "sudo shutdown -h -t 0"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))

        if event.key == CurKeys["X"]:
            cmdpath = "feh --bg-center gameshell/wallpaper/seeyou.png;"
            cmdpath += "sleep 3;"
            cmdpath += "sudo reboot"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))
class DeleteCoreConfirmPage(ConfirmPage):
    
    _ConfirmText = MyLangManager.Tr("Awaiting Input")
    _FootMsg = ["Nav","","","Cancel","OK"]
    CallbackA = None
    
    def KeyDown(self,event):
        
        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            self._Screen._MsgBox.SetText("Applying")
            self._Screen._MsgBox.Draw()
            self._Screen.SwapAndShow()
            
            pygame.time.delay(638)
            
            self.CallbackA()
            
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
Exemple #11
0
class BleForgetConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("ConfirmForgetQ")

    def KeyDown(self, event):
        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            self.SnapMsg(MyLangManager.Tr("Deleting"))
            self._Screen.Draw()
            self._Screen.SwapAndShow()

            try:
                #self._Parent._Adapter.RemoveDevice()
                print("try to RemoveDevice")
            except Exception, e:
                print(str(e))

            pygame.time.delay(400)

            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
Exemple #12
0
    def Init(self):
        self._PosX = self._Index * self._Screen._Width
        self._Width = self._Screen._Width
        self._Height = self._Screen._Height

        self._CanvasHWND = self._Screen._CanvasHWND

        ps = ListPageSelector()
        ps._Parent = self
        self._Ps = ps
        self._PsIndex = 0

        self.SyncList()
        gobject.timeout_add(850, self.GObjectInterval)

        self._BGpng = IconItem()
        self._BGpng._ImgSurf = MyIconPool._Icons["heart"]
        self._BGpng._MyType = ICON_TYPES["STAT"]
        self._BGpng._Parent = self
        self._BGpng.AddLabel(MyLangManager.Tr("my favorite music"),
                             MyLangManager.TrFont("varela18"))
        self._BGpng.SetLableColor(MySkinManager.GiveColor('Disabled'))
        self._BGpng.Adjust(0, 0, self._BGwidth, self._BGheight, 0)

        self._Scroller = ListScroller()
        self._Scroller._Parent = self
        self._Scroller._PosX = self._Width - 10
        self._Scroller._PosY = 2
        self._Scroller.Init()
Exemple #13
0
class PowerOffConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("Confirm Power OFF?")

    def CheckBattery(self):
        return BatteryAbstraction.AsPercentage()

    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):

            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 20:
                cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;"
            else:
                cmdpath = "feh --bg-center gameshell/wallpaper/seeyou.png;"

            cmdpath += "sleep 3;"

            #cmdpath += "echo 'halt -p' > /tmp/halt_cmd"

            cmdpath += "shutdown -h -t 0"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))
Exemple #14
0
    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):

            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            try:
                #self._FileName
                stats = os.stat(self._FileName)
                os.chown(
                    self._FileName, stats.st_uid,
                    stats.st_uid)  ## normally uid and gid should be the same
            except:
                print("error in FavDeleteConfirmPage chown ")

            self.SnapMsg(MyLangManager.Tr("Deleteing"))
            self._Screen.Draw()
            self._Screen.SwapAndShow()
            self.Reset()

            pygame.time.delay(300)
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

            print(self._FileName)
    def Init(self, text):

        l = Label()
        l._PosX = 10
        l.SetCanvasHWND(self._Parent._CanvasHWND)
        text = MyLangManager.Tr(text)
        l.Init(text, self._Fonts["normal"])
        self._Labels["Text"] = l
Exemple #16
0
 def DbusScanStarted(self):
     if self._Screen._CurrentPage !=self:
         return
     
     self._Scanning = True
     self.ShowBox(MyLangManager.Tr("Wifi scanning"))
     self._BlockingUI = True
     print("dbus says start scan...")
    def ConvertSecToMin(self, secs):
        sec_str = ""
        min_str = ""
        if secs > 60:
            m = int(secs / 60)
            s = secs % 60
            if m > 1:
                min_str = ("%d " + MyLangManager.Tr("minutes") + " ") % m
            else:
                min_str = ("%d " + MyLangManager.Tr("minute") + " ") % m

            if s == 1:
                sec_str = ("%d " + MyLangManager.Tr("second")) % s
            elif s > 1:
                sec_str = ("%d " + MyLangManager.Tr("seconds")) % s
        elif secs > 0:
            if secs > 1:
                sec_str = ("%d " + MyLangManager.Tr("seconds")) % secs
            else:
                sec_str = ("%d " + MyLangManager.Tr("second")) % secs

        elif secs == 0:
            sec_str = MyLangManager.Tr("Never")

        return min_str + sec_str
Exemple #18
0
class PowerOffConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("Awaiting Input")
    _FootMsg = ["Nav", "", "Reboot", "Cancel", "Shutdown"]

    def CheckBattery(self):
        try:
            f = open(config.Battery)
        except IOError:
            print("PowerOFF open %s failed" % config.Battery)
            return 0
        else:
            with f:
                bat_uevent = {}
                content = f.readlines()
                content = [x.strip() for x in content]
                for i in content:
                    pis = i.split("=")
                    if len(pis) > 1:
                        bat_uevent[pis[0]] = pis[1]

                if "POWER_SUPPLY_CAPACITY" in bat_uevent:
                    cur_cap = int(bat_uevent["POWER_SUPPLY_CAPACITY"])
                else:
                    cur_cap = 0

                return cur_cap

        return 0

    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 20:
                cmdpath = "feh --bg-center gameshell/wallpaper/gameover.png;"
            else:
                cmdpath = "feh --bg-center gameshell/wallpaper/seeyou.png;"

            cmdpath += "sleep 3;"

            #cmdpath += "echo 'halt -p' > /tmp/halt_cmd"

            cmdpath += "sudo halt -p"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))

        if event.key == CurKeys["X"]:
            cmdpath = "feh --bg-center gameshell/wallpaper/seeyou.png;"
            cmdpath += "sleep 3;"
            cmdpath += "sudo reboot"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))
Exemple #19
0
 def OnKbdReturnBackCb(self):
     password_inputed = "".join(myvars.PasswordPage._Textarea._MyWords)
     if is_wifi_connected_now() == False:
         self.ConfigWireless(password_inputed)
     else:
         for i in range(0,10):
             if is_wifi_connected_now() == True:
                 self.ShowBox(MyLangManager.Tr("Launching"))
                 self._Daemon.Disconnect()
                 self._Daemon.SetForcedDisconnect(True)
                 self._Connecting = False
             else:
                 break
             
             pygame.time.delay(100)
             
         if is_wifi_connected_now() == False:
             self.ConfigWireless(password_inputed)
         else:
             self.ShowBox(MyLangManager.Tr("Disconnect first"))
Exemple #20
0
    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 = 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(" ",MyLangManager.TrFont("veramono12"))
        msgbox._Parent = self
        
        self._MsgBox = msgbox 

        self._EncMethods = misc.LoadEncryptionMethods() # load predefined templates from /etc/wicd/...

        """
  {
    'fields': [],
    'name': 'WPA 1/2 (Passphrase)',
    'optional': [],
    'protected': [
      ['apsk', 'Preshared_Key'],
    ],
    'required': [
      ['apsk', 'Preshared_Key'],
    ],
    'type': 'wpa-psk',
  },
        """
        
        self.UpdateNetList(force_check=True,firstrun=True)

        self._Scroller = ListScroller()
        self._Scroller._Parent = self
        self._Scroller._PosX = 2
        self._Scroller._PosY = 2
        self._Scroller.Init()


        self._InfoPage = WifiInfoPage()
        self._InfoPage._Screen = self._Screen
        self._InfoPage._Name   = MyLangManager.Tr("Wifi info")
        self._InfoPage.Init()
class PowerOffConfirmPage(ConfirmPage):

    _ConfirmText = MyLangManager.Tr("Confirm Power OFF?")

    def CheckBattery(self):
        try:
            f = open(config.Battery)
        except IOError:
            print("PowerOFF open %s failed" % config.Battery)
            return 0
        else:
            with f:
                bat_uevent = {}
                content = f.readlines()
                content = [x.strip() for x in content]
                for i in content:
                    pis = i.split("=")
                    if len(pis) > 1:
                        bat_uevent[pis[0]] = pis[1]

                if "POWER_SUPPLY_CAPACITY" in bat_uevent:
                    cur_cap = int(bat_uevent["POWER_SUPPLY_CAPACITY"])
                else:
                    cur_cap = 0

                return cur_cap

        return 0

    def KeyDown(self, event):

        if IsKeyMenuOrB(event.key):

            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 20:
                cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper(
                    "gameover.png")
            else:
                cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper(
                    "seeyou.png")

            cmdpath += "sleep 3;"

            #cmdpath += "echo 'halt -p' > /tmp/halt_cmd"

            cmdpath += "sudo halt -p"
            pygame.event.post(pygame.event.Event(RUNSYS, message=cmdpath))
Exemple #22
0
    def Init(self):
        self._PosX = self._Index * self._Screen._Width
        self._Width = self._Screen._Width
        self._Height = self._Screen._Height

        self._CanvasHWND = self._Screen._CanvasHWND

        ps = ListPageSelector()
        ps._Parent = self
        self._Ps = ps
        self._PsIndex = 0

        self.SyncList(self._Emulator["ROM"])

        self._MyStack._Emulator = self._Emulator

        icon_for_list = MultiIconItem()
        icon_for_list._ImgSurf = self._Parent._Icons["sys"]
        icon_for_list._MyType = ICON_TYPES["STAT"]
        icon_for_list._Parent = self
        icon_for_list.Adjust(0, 0, 18, 18, 0)

        self._Icons["sys"] = icon_for_list

        bgpng = IconItem()
        bgpng._ImgSurf = MyIconPool._Icons["star"]
        bgpng._MyType = ICON_TYPES["STAT"]
        bgpng._Parent = self
        bgpng.AddLabel(MyLangManager.Tr("MyFavGames"),
                       MyLangManager.TrFont("varela18"))
        bgpng.SetLableColor(MySkinManager.GiveColor('Disabled'))
        bgpng.Adjust(0, 0, self._BGwidth, self._BGheight, 0)

        self._Icons["bg"] = bgpng

        self._Scroller = ListScroller()
        self._Scroller._Parent = self
        self._Scroller._PosX = self._Width - 10
        self._Scroller._PosY = 2
        self._Scroller.Init()

        rom_so_confirm_page = RomSoConfirmPage()
        rom_so_confirm_page._Screen = self._Screen
        rom_so_confirm_page._Name = "Download Confirm"
        rom_so_confirm_page._Parent = self
        rom_so_confirm_page.Init()

        self._RomSoConfirmDownloadPage = rom_so_confirm_page
Exemple #23
0
 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(MyLangManager.Tr("Disconnecting"))
         self._Screen.Draw()
         self._Screen.SwapAndShow()
         
         self._Parent._Daemon.Disconnect()
         
         pygame.time.delay(400)
         
         self.ReturnToUpLevelPage()
         self._Screen.Draw()
         self._Screen.SwapAndShow()
Exemple #24
0
 def KeyDown(self,event):
     if IsKeyMenuOrB(event.key):
         self.ReturnToUpLevelPage()
         self._Screen.Draw()
         self._Screen.SwapAndShow()
         
     if IsKeyStartOrA(event.key):
         self.SnapMsg(MyLangManager.Tr("Disconnecting"))
         self._Screen.Draw()
         self._Screen.SwapAndShow()
         
         self._Parent._Daemon.Disconnect()
         
         pygame.time.delay(400)
         
         self.ReturnToUpLevelPage()
         self._Screen.Draw()
         self._Screen.SwapAndShow()
Exemple #25
0
    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(MyLangManager.Tr("Deleting"))
            self._Screen.Draw()
            self._Screen.SwapAndShow()

            try:
                #self._Parent._Adapter.RemoveDevice()
                print("try to RemoveDevice")
            except Exception, e:
                print(str(e))

            pygame.time.delay(400)

            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
Exemple #26
0
    def TryConnect(self):
        global bus

        if self._PsIndex >= len(self._WirelessList):
            return

        cur_li = self._WirelessList[self._PsIndex]
        print(cur_li._Path)

        if "Connected" in cur_li._Atts:
            if cur_li._Atts["Connected"] == 1:
                return

        proxy_obj = bus.get_object("org.bluez", cur_li._Path)
        dev = dbus.Interface(proxy_obj, "org.bluez.Device1")

        self._Screen._FootBar.UpdateNavText("Connecting")
        self.ShowBox(MyLangManager.Tr("Connecting"))

        try:
            dev.Connect()
        except Exception, e:
            print(str(e))
Exemple #27
0
    def Init(self):
        self._PosX = self._Index * self._Screen._Width
        self._Width = self._Screen._Width
        self._Height = self._Screen._Height

        self._CanvasHWND = self._Screen._CanvasHWND

        ps = ListPageSelector()
        ps._Parent = self
        self._Ps = ps
        self._PsIndex = 0

        self.SyncList("/")

        icon_for_list = MultiIconItem()
        icon_for_list._ImgSurf = MyIconPool._Icons["sys"]
        icon_for_list._MyType = ICON_TYPES["STAT"]
        icon_for_list._Parent = self

        icon_for_list.Adjust(0, 0, 18, 18, 0)
        self._Icons["sys"] = icon_for_list

        self._BGpng = IconItem()
        self._BGpng._ImgSurf = MyIconPool._Icons["empty"]
        self._BGpng._MyType = ICON_TYPES["STAT"]
        self._BGpng._Parent = self
        self._BGpng.AddLabel(MyLangManager.Tr("Please upload data over Wi-Fi"),
                             MyLangManager.TrFont("varela22"))
        self._BGpng.SetLableColor(MySkinManager.GiveColor('Disabled'))
        self._BGpng.Adjust(0, 0, self._BGwidth, self._BGheight, 0)

        self._Scroller = ListScroller()
        self._Scroller._Parent = self
        self._Scroller._PosX = self._Width - 10
        self._Scroller._PosY = 2
        self._Scroller.Init()
Exemple #28
0
    def Init(self):
        self._PosX = self._Index * self._Screen._Width
        self._Width = self._Screen._Width
        self._Height = self._Screen._Height

        self._CanvasHWND = self._Screen._CanvasHWND

        ps = ListPageSelector()
        ps._Parent = self
        self._Ps = ps
        self._PsIndex = 0

        self.SyncList(self._Emulator["ROM"])

        ### will also mkdir of the ***ROM self
        try:
            os.makedirs(self._Emulator["ROM"] + "/.Trash")
        except OSError:
            if not os.path.isdir(self._Emulator["ROM"] + "/.Trash"):
                raise

        try:
            os.makedirs(self._Emulator["ROM"] + "/.Fav")
        except OSError:
            if not os.path.isdir(self._Emulator["ROM"] + "/.Fav"):
                raise

        self._MyStack._Emulator = self._Emulator

        icon_for_list = MultiIconItem()
        icon_for_list._ImgSurf = self._Parent._Icons["sys"]
        icon_for_list._MyType = ICON_TYPES["STAT"]
        icon_for_list._Parent = self

        icon_for_list.Adjust(0, 0, 18, 18, 0)

        self._Icons["sys"] = icon_for_list

        bgpng = IconItem()
        bgpng._ImgSurf = MyIconPool._Icons["empty"]
        bgpng._MyType = ICON_TYPES["STAT"]
        bgpng._Parent = self
        bgpng.AddLabel(MyLangManager.Tr("Please upload data over Wi-Fi"),
                       MyLangManager.TrFont("varela22"))
        bgpng.SetLableColor(MySkinManager.GiveColor('Disabled'))
        bgpng.Adjust(0, 0, self._BGwidth, self._BGheight, 0)

        self._Icons["bg"] = bgpng

        self._Scroller = ListScroller()
        self._Scroller._Parent = self
        self._Scroller._PosX = self._Width - 10
        self._Scroller._PosY = 2
        self._Scroller.Init()

        rom_so_confirm_page = RomSoConfirmPage()
        rom_so_confirm_page._Screen = self._Screen
        rom_so_confirm_page._Name = "Download Confirm"
        rom_so_confirm_page._Parent = self
        rom_so_confirm_page.Init()

        self._RomSoConfirmDownloadPage = rom_so_confirm_page
Exemple #29
0
    def KeyDown(self,event):

#        if self._BlockingUI == True:
#            print("UI blocking ...")
#            return
        
        if IsKeyMenuOrB(event.key):
            if self._Wireless != None:
                wireless_connecting = self._Wireless.CheckIfWirelessConnecting()
                if wireless_connecting:
                    self.ShutDownConnecting()
                    self.ShowBox(MyLangManager.Tr("ShutDownConnecting"))
                    self._BlockingUI=True
                    self._BlockCb = self.AbortedAndReturnToUpLevel
                else:
                    self.AbortedAndReturnToUpLevel()
            else:
                self.HideBox()
                self.ReturnToUpLevelPage()
                self._Screen.Draw()
                self._Screen.SwapAndShow()
    
        if event.key == CurKeys["Up"]:
            self.ScrollUp()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
        if event.key == CurKeys["Down"]:
            self.ScrollDown()
            self._Screen.Draw()
            self._Screen.SwapAndShow()
            
        if IsKeyStartOrA(event.key): ## enter to set password,enter is B on GM
            if len(self._MyList) == 0:
                return
            
            self._CurBssid = self._MyList[self._PsIndex]._Bssid
            
            wicd_wirelss_encrypt_pwd = self.GetWirelessEncrypt(self._PsIndex)
            if self._MyList[self._PsIndex]._IsActive:
                self.ShowBox( self._Wireless.GetWirelessIP('')    )
            else:
                self._Screen.PushCurPage()
                self._Screen.SetCurPage( myvars.PasswordPage )
                
                thepass = ""
                for i in wicd_wirelss_encrypt_pwd:
                    if "preshared_key" in i:
                        if i["preshared_key"] != None:
                            if len(str(i["preshared_key"])) > 0:
                                thepass = str(i["preshared_key"])
                                break
                
                myvars.PasswordPage.SetPassword(thepass)
                self._Screen.Draw()
                self._Screen.SwapAndShow()
                
                """
                try:
                    self._Screen.Draw()
                    self._Screen.SwapAndShow()
                except Exception as e: 
                    print(e)
                    exit(-1)
                """
        if event.key == CurKeys["X"]:
            self.Rescan(False)
            
        if event.key == CurKeys["Y"]:
            if len(self._MyList) == 0:
                return

            self._InfoPage._NetworkId = self._PsIndex
            self._InfoPage._Wireless  = self._Wireless
            self._InfoPage._Daemon    = self._Daemon
            
            self._Screen.PushPage(self._InfoPage)
            self._Screen.Draw()
            self._Screen.SwapAndShow()
Exemple #30
0
class PowerOffConfirmPage(ConfirmPage):
    
    _ConfirmText = MyLangManager.Tr("Awaiting Input")
    #_FootMsg = ["Nav","Suspend","Reboot","Cancel","Shutdown"]
    _FootMsg = ["Nav","","Reboot","Cancel","Shutdown"]
    
    # uname -r
    st = subprocess.check_output(["uname","-r"])
    st = st.strip("\n")
    st = st.strip("\t")

    if "5.7" in st:
        _FootMsg[1] = "Sleep"

    def CheckBattery(self):
        try:
            f = open(config.Battery)
        except IOError:
            print( "PowerOFF open %s failed" % config.Battery)
            return 0
        else:
            with f:
                bat_uevent = {}
                content = f.readlines()
                content = [x.strip() for x in content]
                for i in content:
                    pis = i.split("=")
                    if len(pis) > 1:
                        bat_uevent[pis[0]] = pis[1]

                if "POWER_SUPPLY_CAPACITY" in bat_uevent:
                    cur_cap = int(bat_uevent["POWER_SUPPLY_CAPACITY"])
                else:
                    cur_cap = 0
                
                return cur_cap
                    
        return 0
        
    def KeyDown(self,event):
        
        if IsKeyMenuOrB(event.key):
            self.ReturnToUpLevelPage()
            self._Screen.Draw()
            self._Screen.SwapAndShow()

        if IsKeyStartOrA(event.key):
            if self.CheckBattery() < 20:
                cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper("gameover.png")
            else:
                cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper("seeyou.png")
            
            cmdpath += "sleep 3;"
            
            #cmdpath += "echo 'halt -p' > /tmp/halt_cmd"
            
            cmdpath += "sudo halt -p"
            pygame.event.post( pygame.event.Event(RUNSYS, message=cmdpath))
            
        if event.key == CurKeys["X"]:
            cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper("seeyou.png")
            cmdpath += "sleep 3;"
            cmdpath += "sudo reboot"
            pygame.event.post( pygame.event.Event(RUNSYS, message=cmdpath))

        if event.key == CurKeys["Y"]:
            if self._FootMsg[1] != "":
                cmdpath = "feh --bg-center %s;" % MySkinManager.GiveWallpaper("seeyou.png")
                cmdpath += "sleep 3;"
                cmdpath += "sudo pm-suspend"
                pygame.event.post( pygame.event.Event(RUNSYS, message=cmdpath))