From 875b8feed9e55c9e73affdc8bca032eee99d3932 Mon Sep 17 00:00:00 2001 From: hi80482 <66435094+hi80482@users.noreply.github.com> Date: Sun, 12 Jul 2020 14:11:06 +0800 Subject: [PATCH] Add PageUp/Down for rom list --- sys.py/UI/Emulator/rom_list_page.py | 55 ++++++++++++++++++++++++----- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/sys.py/UI/Emulator/rom_list_page.py b/sys.py/UI/Emulator/rom_list_page.py index 6ba45ff..9d44bad 100644 --- a/sys.py/UI/Emulator/rom_list_page.py +++ b/sys.py/UI/Emulator/rom_list_page.py @@ -114,6 +114,7 @@ class RomListPage(Page): _RomSoConfirmDownloadPage = None + _Backspace = False def __init__(self): Page.__init__(self) @@ -433,7 +434,9 @@ class RomListPage(Page): if cur_time - self._Screen._LastKeyDown > 0.3: self._ScrollStep = 1 - def KeyDown(self,event): + # def KeyDown(self,event): + # fast: fast display mode + def KeyDown(self, event, fast = False): if IsKeyMenuOrB(event.key): self.ReturnToUpLevelPage() @@ -441,22 +444,49 @@ class RomListPage(Page): self._Screen.SwapAndShow() if event.key == CurKeys["Right"]: - self._Screen.PushCurPage() - self._Screen.SetCurPage(self._Parent.FavListPage) + # self._Screen.PushCurPage() + # self._Screen.SetCurPage(self._Parent.FavListPage) + if not self._Backspace: + self._Screen.PushCurPage() + self._Screen.SetCurPage(self._Parent.FavListPage) + else: + move = 6 + pagedown = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Down"]) + + for i in range(move): + self.KeyDown(pagedown, True) + self._Screen.Draw() self._Screen.SwapAndShow() - + + if event.key == CurKeys["Left"]: + if self._Backspace: + move = 6 + pageup = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Up"]) + + for i in range(move): + self.KeyDown(pageup, True) + + self._Screen.Draw() + self._Screen.SwapAndShow() + if event.key == CurKeys["Up"]: self.SpeedScroll(event.key) self.ScrollUp() - self._Screen.Draw() - self._Screen.SwapAndShow() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + if not fast: + self._Screen.Draw() + self._Screen.SwapAndShow() if event.key == CurKeys["Down"]: self.SpeedScroll(event.key) self.ScrollDown() - self._Screen.Draw() - self._Screen.SwapAndShow() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + if not fast: + self._Screen.Draw() + self._Screen.SwapAndShow() if IsKeyStartOrA(event.key): self.Click() @@ -502,6 +532,15 @@ class RomListPage(Page): self._Screen.SetCurPage(self._Parent.DeleteConfirmPage) self._Screen.Draw() self._Screen.SwapAndShow() + + if event.key == CurKeys["Backspace"]: # Shift + Menu + self._Backspace = not self._Backspace + if self._Backspace: + self._Screen._MsgBox.SetText("Page Up/Down: ON") + else: + self._Screen._MsgBox.SetText("Page Up/Down: OFF") + self._Screen._MsgBox.Draw() + self._Screen.SwapAndShow() def Draw(self): self.ClearCanvas()