__init__.py 3.5 KB

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