Merge pull request #2 from hi80482/master

Add PageUp/Down
This commit is contained in:
GNU 2020-07-14 09:43:18 +08:00 committed by GitHub
commit 10b58cbcbc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 323 additions and 66 deletions

View File

@ -209,7 +209,23 @@ class CoresPage(Page):
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Left"]: # PageUp
move = 3
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Right"]: # PageDown
move = 3
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
def Draw(self):
self.ClearCanvas()
@ -248,5 +264,3 @@ def Init(main_screen):
OBJ.Init(main_screen)
def API(main_screen):
OBJ.API(main_screen)

View File

@ -30,6 +30,14 @@ import config
LauncherLoc = "/home/cpi/launcher"
# get git short hash
cur_dir = os.getcwd()
os.chdir(LauncherLoc)
current_git_version = get_git_revision_short_hash()
current_git_version = current_git_version.strip("\n")
current_git_version = current_git_version.strip("\t")
os.chdir(cur_dir)
class UpdateDownloadPage(DownloadProcessPage):
_MD5 = ""
@ -206,6 +214,12 @@ class UpdatePage(Page):
it["value"] = config.VERSION
self._AList["version"] = it
git = {}
git["key"] = "githash"
git["label"] = "Git Hash"
git["value"] = current_git_version
self._AList["githash"] = git
self.GenList()
def CheckUpdate(self):
@ -238,12 +252,12 @@ class UpdatePage(Page):
self._Screen.SwapAndShow()
elif "gitversion" in json_: ### just use git to run update
cur_dir = os.getcwd()
os.chdir(LauncherLoc)
current_git_version = get_git_revision_short_hash()
current_git_version = current_git_version.strip("\n")
current_git_version = current_git_version.strip("\t")
os.chdir(cur_dir)
# cur_dir = os.getcwd()
# os.chdir(LauncherLoc)
# current_git_version = get_git_revision_short_hash()
# current_git_version = current_git_version.strip("\n")
# current_git_version = current_git_version.strip("\t")
# os.chdir(cur_dir)
if current_git_version != json_["gitversion"]:
self._ConfirmPage._URL = None
self._ConfirmPage._MD5 = None
@ -255,7 +269,7 @@ class UpdatePage(Page):
self._Screen.Draw()
if "version" in json_:
self._ConfirmPage.SnapMsg(MyLangManager.Tr("ConfirmUpdateToFQ") % json_["version"] )
self._ConfirmPage.SnapMsg(MyLangManager.Tr("UpdateToFQ") % (json_["version"] + "-" + json_["gitversion"]) )
else:
self._ConfirmPage.SnapMsg(MyLangManager.Tr("UpdateToFQ") % json_["gitversion"] )
self._Screen.SwapAndShow()

View File

@ -124,15 +124,33 @@ class ListPage(Page):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if IsKeyStartOrA(event.key):
self.Click()
if event.key == CurKeys["Left"]: # PageUp
move = 3
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Right"]: # PageDown
move = 3
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
def Draw(self):
self.ClearCanvas()
@ -151,5 +169,3 @@ class ListPage(Page):
self._Ps.Draw()
for i in self._MyList:
i.Draw()

View File

@ -1,4 +1,7 @@
#!/bin/bash
#retroarch -L /home/cpi/.config/retroarch/cores/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data
retroarch -L /home/cpi/apps/emulators/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data
if [ -f "/home/cpi/.config/retroarch/cores/nxengine_libretro.so" ]; then
retroarch -L /home/cpi/.config/retroarch/cores/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data
else
retroarch -L /home/cpi/apps/emulators/nxengine_libretro.so /home/cpi/games/nxengine/cavestory/data
fi

View File

@ -92,6 +92,8 @@ class MusicLibListPage(Page):
_BGpng = None
_BGwidth = 56
_BGheight = 70
_Backspace = False
def __init__(self):
Page.__init__(self)
@ -225,22 +227,49 @@ class MusicLibListPage(Page):
self._PsIndex = 0
def KeyDown(self,event):
if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]:
# 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
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Left"]:
if not self._Backspace:
self.ReturnToUpLevelPage()
else:
move = 6
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Up"]:
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
"""
if event.key == CurKeys["Right"]:
self.FScrollDown(Step=5)
@ -260,7 +289,16 @@ class MusicLibListPage(Page):
if IsKeyStartOrA(event.key):
self.Click()
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()
@ -277,7 +315,6 @@ class MusicLibListPage(Page):
v._Active = True
else:
v._Active = False
if v._Active == False:
v.NewCoord(start_x, start_y+counter* ListItem._Height)
counter+=1

View File

@ -74,7 +74,9 @@ class PlayListPage(Page):
_Scrolled = 0
_CurSongName = ""
_Backspace = False
def __init__(self):
self._Icons = {}
Page.__init__(self)
@ -235,7 +237,6 @@ class PlayListPage(Page):
self._MyList[i]._PosY += self._Scrolled * self._MyList[i]._Height
def Click(self):
#self.RefreshPsIndex()
if len(self._MyList) == 0:
return
@ -266,17 +267,37 @@ class PlayListPage(Page):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Right"]:#add
self._Screen.PushCurPage()
self._Screen.SetCurPage(myvars.MusicLibListPage)
# self._Screen.PushCurPage()
# self._Screen.SetCurPage(myvars.MusicLibListPage)
if not self._Backspace:
self._Screen.PushCurPage()
self._Screen.SetCurPage(myvars.MusicLibListPage)
else:
move = 6
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Left"]:
if self._Backspace:
move = 6
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Y"]:# del selected songs
myvars.Poller.delete(self._PsIndex)
self.SyncList()
@ -291,7 +312,16 @@ class PlayListPage(Page):
self._Screen.PushPage(myvars.SpectrumPage)
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()

View File

@ -154,3 +154,24 @@ vim ~/.gameshell_skin
```
/home/cpi/launcher/skin/DEOT
```
# PageUp and PageDown Keys
D-Pad Up/Down
```
Main page
```
D-Pad Left/Right
```
Settings
Timezone
RetroArch Cores Manager
```
Shift + Menu & D-Pad Left/Right
```
ROM list
Fav. list
Music lib. list
Music play list
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

1
sys.py/.buttonslayout Normal file
View File

@ -0,0 +1 @@
snes

View File

@ -103,6 +103,8 @@ class FavListPage(Page):
_BGheight = 73
_RomSoConfirmDownloadPage = None
_Backspace = False
def __init__(self):
Page.__init__(self)
@ -397,29 +399,54 @@ class FavListPage(Page):
self._ScrollStep = 1
def KeyDown(self,event):
if IsKeyMenuOrB(event.key) or event.key == CurKeys["Left"]:
# 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
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Left"]:
if not self._Backspace:
self.ReturnToUpLevelPage()
else:
move = 6
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Up"]:
self.SpeedScroll(event.key)
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.SpeedScroll(event.key)
self.ScrollDown()
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 +477,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()

View File

@ -114,6 +114,7 @@ class RomListPage(Page):
_RomSoConfirmDownloadPage = None
_Backspace = False
def __init__(self):
Page.__init__(self)
@ -441,11 +442,30 @@ 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
for i in range(move):
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Left"]:
if self._Backspace:
move = 6
for i in range(move):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Up"]:
self.SpeedScroll(event.key)
self.ScrollUp()
@ -502,6 +522,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()

View File

@ -50,11 +50,13 @@ GameShell["Menu"] = pygame.K_ESCAPE
SetXYABButtons(GetButtonsLayoutMode())
GameShell["Select"] = pygame.K_SPACE
GameShell["Start"] = pygame.K_RETURN
GameShell["Start"] = pygame.K_RETURN
GameShell["LK1"] = pygame.K_h
GameShell["LK5"] = pygame.K_l
GameShell["Backspace"] = pygame.K_BACKSPACE # Shift + Menu
PC = {}
PC["Up"] = pygame.K_UP
@ -72,6 +74,8 @@ PC["Start"] = pygame.K_s
PC["LK1"] = pygame.K_h
PC["LK5"] = pygame.K_l
PC["Backspace"] = pygame.K_BACKSPACE # Shift + Menu
if CurKeySet == "PC":
CurKeys = PC
else:

View File

@ -408,7 +408,8 @@ class Page(Widget):
return all_last_posx
def IconSmoothUp(self,icon_ew):
# def IconSmoothUp(self,icon_ew):
def IconSmoothUp(self, icon_ew, fast = False):
data = self.EasingData(self._PosX,icon_ew)
data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data))
@ -421,10 +422,14 @@ class Page(Widget):
if self._Icons[self._PrevIconIndex]._PosY < self._Height/2:
self._Icons[self._PrevIconIndex]._PosY+=data2[i]
self.DrawIcons()
self._Screen.SwapAndShow()
def IconsEasingLeft(self,icon_ew):
# self.DrawIcons()
# self._Screen.SwapAndShow()
if not fast:
self.DrawIcons()
self._Screen.SwapAndShow()
# def IconsEasingLeft(self,icon_ew):
def IconsEasingLeft(self, icon_ew, fast = False):
data = self.EasingData(self._PosX,icon_ew)
data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data))
@ -438,10 +443,15 @@ class Page(Widget):
if self._Icons[self._PrevIconIndex]._PosY < self._Height/2:
self._Icons[self._PrevIconIndex]._PosY+=data2[i]
self.DrawIcons()
self._Screen.SwapAndShow()
def IconsEasingRight(self,icon_ew):
# self.DrawIcons()
# self._Screen.SwapAndShow()
if not fast:
self.DrawIcons()
self._Screen.SwapAndShow()
# def IconsEasingRight(self,icon_ew):
def IconsEasingRight(self, icon_ew, fast = False):
data = self.EasingData(self._PosX,icon_ew)
data2 = self.IconStepMoveData(self._SelectedIconTopOffset,len(data))
@ -452,13 +462,16 @@ class Page(Widget):
self._Icons[self._IconIndex]._PosY-=data2[i]
if self._Icons[self._PrevIconIndex]._PosY < self._Height/2:
self._Icons[self._PrevIconIndex]._PosY+=data2[i]
self.DrawIcons()
self._Screen.SwapAndShow()
# self.DrawIcons()
# self._Screen.SwapAndShow()
if not fast:
self.DrawIcons()
self._Screen.SwapAndShow()
def EasingLeft(self,ew): #ew int
data = self.EasingData(self._PosX,ew)
@ -624,7 +637,10 @@ class Page(Widget):
for i in range(0,len(self._MyList)):
self._MyList[i]._PosY -= self._MyList[i]._Height*dy
def KeyDown(self,event):##default keydown,every inherited page class should have it's own KeyDown
# def KeyDown(self,event):##default keydown,every inherited page class should have it's own KeyDown
# fast: fast display mode
def KeyDown(self, event, fast = False):##default keydown,every inherited page class should have it's own KeyDown
if IsKeyMenuOrB(event.key):
self.ReturnToUpLevelPage()
self._Screen.Draw()
@ -633,37 +649,73 @@ class Page(Widget):
if event.key == CurKeys["Right"]:
if self.MoveIconIndexNext() == True:
if self._IconIndex == (self._IconNumbers -1) or self._PrevIconIndex == 0:
self.IconSmoothUp(icon_width + self._PageIconMargin)
# self.IconSmoothUp(icon_width + self._PageIconMargin)
self.IconSmoothUp(icon_width + self._PageIconMargin, fast)
else:
self.IconsEasingLeft(icon_width + self._PageIconMargin)
# self.IconsEasingLeft(icon_width + self._PageIconMargin)
self.IconsEasingLeft(icon_width + self._PageIconMargin, fast)
else:
screen_icons = int(math.floor(self._Screen._Width / (icon_width + self._PageIconMargin)))
if self._IconNumbers > screen_icons:
self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons))
# self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons))
self.IconsEasingRight((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons), fast)
elif self._IconNumbers > 0:
self.IconSmoothUp(icon_width+ self._PageIconMargin)
# self.IconSmoothUp(icon_width+ self._PageIconMargin)
self.IconSmoothUp(icon_width+ self._PageIconMargin, fast)
self._PsIndex = self._IconIndex
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["Left"]:
if self.MoveIconIndexPrev() == True:
if self._IconIndex == 0 or self._PrevIconIndex == (self._IconNumbers -1):
self.IconSmoothUp(icon_width + self._PageIconMargin)
# self.IconSmoothUp(icon_width + self._PageIconMargin)
self.IconSmoothUp(icon_width + self._PageIconMargin, fast)
else:
self.IconsEasingRight(icon_width + self._PageIconMargin)
# self.IconsEasingRight(icon_width + self._PageIconMargin)
self.IconsEasingRight(icon_width + self._PageIconMargin, fast)
else:
screen_icons = int(math.floor(self._Screen._Width / (icon_width + self._PageIconMargin)))
if self._IconNumbers > screen_icons:
self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons))
# self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons))
self.IconsEasingLeft((icon_width + self._PageIconMargin) * (self._IconNumbers - screen_icons), fast)
elif self._IconNumbers > 0:
self.IconSmoothUp(icon_width+ self._PageIconMargin)
# self.IconSmoothUp(icon_width+ self._PageIconMargin)
self.IconSmoothUp(icon_width+ self._PageIconMargin, fast)
self._PsIndex = self._IconIndex
self._Screen.Draw()
# self._Screen.Draw()
# self._Screen.SwapAndShow()
if not fast:
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Up"]:
move = 3
pageup = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Left"])
for i in range(move):
self.KeyDown(pageup, True)
self.DrawIcons() # redraw icons
self._Screen.Draw() # show selected icon
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
move = 3
pagedown = pygame.event.Event(pygame.KEYDOWN, key = CurKeys["Right"])
for i in range(move):
self.KeyDown(pagedown, True)
self.DrawIcons() # redraw icons
self._Screen.Draw() # show selected icon
self._Screen.SwapAndShow()
if IsKeyStartOrA(event.key):
self.IconClick()
self._Screen.Draw()

View File

@ -1,4 +1,4 @@
{
"gitversion":"6843aea",
"gitversion":"fd63173",
"version":"200626"
}