123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- # -*- coding: utf-8 -*-
- import os
- import pygame
- import glob
- import shutil
- import gobject
- import validators
- #from pySmartDL import SmartDL
- from libs.roundrects import aa_round_rect
- from UI.confirm_page import ConfirmPage
- from UI.download_process_page import DownloadProcessPage
- from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
- from UI.multilabel import MultiLabel
- from UI.lang_manager import MyLangManager
- import config
- class RomSoConfirmPage(ConfirmPage):
- _ListFont = MyLangManager.TrFont("Eurostile15")
- _ConfirmText = MyLangManager.Tr("SetupGameEngineAutoQ")
- _MyDownloadPage = None
-
- def CheckBattery(self):
- try:
- f = open(config.Battery)
- except IOError:
- print( "RomSoConfirmPage open %s failed" % config.Battery)
- return 6
- 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 Init(self):
- self._PosX = self._Index * self._Screen._Width
- self._Width = self._Screen._Width
- self._Height = self._Screen._Height
- self._CanvasHWND = self._Screen._CanvasHWND
- li = MultiLabel()
- li.SetCanvasHWND(self._CanvasHWND)
- li._Width = 160
- li.Init(self._ConfirmText,self._ListFont)
-
- li._PosX = (self._Width - li._Width)/2
- li._PosY = (self._Height - li._Height)/2
- self._BGPosX = li._PosX-20
- self._BGPosY = li._PosY-20
- self._BGWidth = li._Width+40
- self._BGHeight = li._Height+40
-
- self._MyList.append(li)
-
- def SnapMsg(self,msg):
- self._MyList[0].SetText(msg)
- self._Screen.Draw()
- self._Screen.SwapAndShow()
- self._MyList[0].SetText(self._ConfirmText)
- def OnReturnBackCb(self):
- self.ReturnToUpLevelPage()
- self._Screen.Draw()
- self._Screen.SwapAndShow()
-
- 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 Draw(self):
- self.ClearCanvas()
- self.DrawBG()
- for i in self._MyList:
- i.Draw()
|