__init__.py 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. # -*- coding: utf-8 -*-
  2. import pygame
  3. from pygame.locals import *
  4. from sys import exit
  5. import os
  6. import sys
  7. ## local UI import
  8. from UI.delete_confirm_page import DeleteConfirmPage
  9. from UI.icon_pool import MyIconPool
  10. from UI.keys_def import CurKeys, IsKeyStartOrA, IsKeyMenuOrB
  11. from UI.lang_manager import MyLangManager
  12. from rom_list_page import RomListPage
  13. from fav_list_page import FavListPage
  14. class FavDeleteConfirmPage(DeleteConfirmPage):
  15. def KeyDown(self,event):
  16. if IsKeyMenuOrB(event.key):
  17. self.ReturnToUpLevelPage()
  18. self._Screen.Draw()
  19. self._Screen.SwapAndShow()
  20. if IsKeyStartOrA(event.key):
  21. try:
  22. #self._FileName
  23. stats = os.stat(self._FileName)
  24. os.chown(self._FileName, stats.st_uid,stats.st_uid) ## normally uid and gid should be the same
  25. except:
  26. print("error in FavDeleteConfirmPage chown ")
  27. self.SnapMsg(MyLangManager.Tr("Deleteing"))
  28. self._Screen.Draw()
  29. self._Screen.SwapAndShow()
  30. self.Reset()
  31. pygame.time.delay(300)
  32. self.ReturnToUpLevelPage()
  33. self._Screen.Draw()
  34. self._Screen.SwapAndShow()
  35. print(self._FileName)
  36. class MyEmulator(object):
  37. _Icons = {}
  38. RomListPage = None
  39. FavListPage = None
  40. _Emulator = None
  41. _FavGID = 31415
  42. _FavGname = "cpifav"
  43. def __init__(self):
  44. self._Icons = {}
  45. def load_icons(self):
  46. """
  47. basepath = os.path.dirname(os.path.realpath(__file__))
  48. files = os.listdir(basepath+"/icons")
  49. for i in files:
  50. if os.path.isfile(basepath+"/"+i) and i.endswith(".png"):
  51. keyname = i.split(".")[0]
  52. self._Icons[keyname] = pygame.image.load(basepath+"/"+i).convert_alpha()
  53. """
  54. self._Icons["sys"] = MyIconPool._Icons["sys"]
  55. def InitDeleteConfirmPage(self,main_screen):
  56. self.DeleteConfirmPage = DeleteConfirmPage()
  57. self.DeleteConfirmPage._Screen = main_screen
  58. self.DeleteConfirmPage._Name = "DeleteConfirm"
  59. self.DeleteConfirmPage.Init()
  60. self.FavDeleteConfirmPage = FavDeleteConfirmPage()
  61. self.FavDeleteConfirmPage._Screen = main_screen
  62. self.FavDeleteConfirmPage._Name = "DeleteConfirm"
  63. self.FavDeleteConfirmPage.Init()
  64. def InitFavListPage(self,main_screen):
  65. self.FavListPage = FavListPage()
  66. self.FavListPage._Screen = main_screen
  67. self.FavListPage._Name = "FavouriteGames"
  68. self.FavListPage._Emulator = self._Emulator
  69. self.FavListPage._Parent = self
  70. self.FavListPage.Init()
  71. def InitRomListPage(self,main_screen):
  72. self.RomListPage = RomListPage()
  73. self.RomListPage._Screen = main_screen
  74. self.RomListPage._Name = self._Emulator["TITLE"]
  75. self.RomListPage._Emulator = self._Emulator
  76. self.RomListPage._Parent = self
  77. self.RomListPage.Init()
  78. def Init(self,main_screen):
  79. self.load_icons()
  80. self.InitDeleteConfirmPage(main_screen)
  81. self.InitRomListPage(main_screen)
  82. self.InitFavListPage(main_screen)
  83. def API(self,main_screen):
  84. if main_screen !=None:
  85. main_screen.PushCurPage()
  86. main_screen.SetCurPage(self.RomListPage)
  87. main_screen.Draw()
  88. main_screen.SwapAndShow()