Add PageUp/Down for rom list

This commit is contained in:
hi80482 2020-07-12 14:11:06 +08:00 committed by GitHub
parent 72ddf59d39
commit 875b8feed9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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()