From b5f8e388455035b174c0a13cb2e004a78866533c Mon Sep 17 00:00:00 2001 From: hi80482 <66435094+hi80482@users.noreply.github.com> Date: Sun, 12 Jul 2020 14:14:21 +0800 Subject: [PATCH] Add PageUp/Down for fav list --- sys.py/UI/Emulator/fav_list_page.py | 66 ++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 10 deletions(-) diff --git a/sys.py/UI/Emulator/fav_list_page.py b/sys.py/UI/Emulator/fav_list_page.py index d49191e..23fc90e 100644 --- a/sys.py/UI/Emulator/fav_list_page.py +++ b/sys.py/UI/Emulator/fav_list_page.py @@ -103,6 +103,8 @@ class FavListPage(Page): _BGheight = 73 _RomSoConfirmDownloadPage = None + _Backspace = False + def __init__(self): Page.__init__(self) @@ -396,30 +398,65 @@ class FavListPage(Page): if cur_time - self._Screen._LastKeyDown > 0.3: self._ScrollStep = 1 - def KeyDown(self,event): - - if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: + # def KeyDown(self,event): + # fast: fast display mode + def KeyDown(self, event, fast = False): + + # if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]: + # self.ReturnToUpLevelPage() + # self._Screen.Draw() + # self._Screen.SwapAndShow() + + if IsKeyMenuOrB(event.key): self.ReturnToUpLevelPage() self._Screen.Draw() self._Screen.SwapAndShow() + if event.key == CurKeys["Right"]: + if self._Backspace: + 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 not self._Backspace: + self.ReturnToUpLevelPage() + else: + 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() - if event.key == CurKeys["X"]: #Scan current self.ReScan() self._Screen.Draw() @@ -450,7 +487,16 @@ class FavListPage(Page): self.ReScan() 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()