launcher/sys.py/UI/Emulator/__init__.py
2019-02-12 01:09:48 +02:00

116 lines
3.5 KiB
Python

# -*- coding: utf-8 -*-
import pygame
from pygame.locals import *
from sys import exit
import os
import sys
## local UI import
from UI.delete_confirm_page import DeleteConfirmPage
from UI.icon_pool import MyIconPool
from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
from UI.lang_manager import MyLangManager
from rom_list_page import RomListPage
from fav_list_page import FavListPage
class FavDeleteConfirmPage(DeleteConfirmPage):
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)
class MyEmulator(object):
_Icons = {}
RomListPage = None
FavListPage = None
_Emulator = None
_FavGID = 31415
_FavGname = "cpifav"
def __init__(self):
self._Icons = {}
def load_icons(self):
"""
basepath = os.path.dirname(os.path.realpath(__file__))
files = os.listdir(basepath+"/icons")
for i in files:
if os.path.isfile(basepath+"/"+i) and i.endswith(".png"):
keyname = i.split(".")[0]
self._Icons[keyname] = pygame.image.load(basepath+"/"+i).convert_alpha()
"""
self._Icons["sys"] = MyIconPool._Icons["sys"]
def InitDeleteConfirmPage(self,main_screen):
self.DeleteConfirmPage = DeleteConfirmPage()
self.DeleteConfirmPage._Screen = main_screen
self.DeleteConfirmPage._Name = "DeleteConfirm"
self.DeleteConfirmPage.Init()
self.FavDeleteConfirmPage = FavDeleteConfirmPage()
self.FavDeleteConfirmPage._Screen = main_screen
self.FavDeleteConfirmPage._Name = "DeleteConfirm"
self.FavDeleteConfirmPage.Init()
def InitFavListPage(self,main_screen):
self.FavListPage = FavListPage()
self.FavListPage._Screen = main_screen
self.FavListPage._Name = "FavouriteGames"
self.FavListPage._Emulator = self._Emulator
self.FavListPage._Parent = self
self.FavListPage.Init()
def InitRomListPage(self,main_screen):
self.RomListPage = RomListPage()
self.RomListPage._Screen = main_screen
self.RomListPage._Name = self._Emulator["TITLE"]
self.RomListPage._Emulator = self._Emulator
self.RomListPage._Parent = self
self.RomListPage.Init()
def Init(self,main_screen):
self.load_icons()
self.InitDeleteConfirmPage(main_screen)
self.InitRomListPage(main_screen)
self.InitFavListPage(main_screen)
def API(self,main_screen):
if main_screen !=None:
main_screen.PushCurPage()
main_screen.SetCurPage(self.RomListPage)
main_screen.Draw()
main_screen.SwapAndShow()