update scroll func

This commit is contained in:
hi80482 2020-07-31 18:43:25 +08:00 committed by GitHub
parent 537bbdec03
commit 2ee8b1baee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -94,8 +94,6 @@ class MusicLibListPage(Page):
_BGheight = 70
_Backspace = False
_ItemsPerPage = 6
def __init__(self):
Page.__init__(self)
@ -104,57 +102,7 @@ class MusicLibListPage(Page):
self._MyList = []
self._SwapMyList = []
self._MyStack = MusicLibStack()
def ScrollUp(self):
if len(self._MyList) <= 1:
return
tmp = self._PsIndex
self._PsIndex -= self._ScrollStep
if self._PsIndex < 0:
self._PsIndex = len(self._MyList) - 1 # to end
dy = abs(tmp - self._PsIndex)
cur_li = self._MyList[self._PsIndex]
if cur_li._PosY < 0:
for i in range(0, len(self._MyList)):
self._MyList[i]._PosY += self._MyList[i]._Height * dy
# loop scroll, to end
if self._PsIndex == len(self._MyList) - 1:
# check items per page
if len(self._MyList) > self._ItemsPerPage:
self._ItemsPerPage -= 1 # not include current item
for i in range(0, len(self._MyList)):
self._MyList[i]._PosY -= self._MyList[i]._Height * (dy - self._ItemsPerPage)
self._ItemsPerPage = 6 # reset to 6
def ScrollDown(self):
if len(self._MyList) <= 1:
return
tmp = self._PsIndex
self._PsIndex +=self._ScrollStep
if self._PsIndex >= len(self._MyList):
self._PsIndex = 0 # to first
dy = abs(self._PsIndex - tmp)
cur_li = self._MyList[self._PsIndex]
if cur_li._PosY + cur_li._Height > self._Height:
for i in range(0,len(self._MyList)):
self._MyList[i]._PosY -= self._MyList[i]._Height * dy
# loop scroll, to first
if self._PsIndex == 0:
# check items per page
if len(self._MyList) > self._ItemsPerPage:
self._ItemsPerPage -= 1 # not include current item
for i in range(0, len(self._MyList)):
self._MyList[i]._PosY += self._MyList[i]._Height * (dy - self._ItemsPerPage)
self._ItemsPerPage = 6 # reset to 6
def SyncList(self,path):
if myvars.Poller == None:
return
@ -292,10 +240,7 @@ class MusicLibListPage(Page):
if event.key == CurKeys["Right"]:
if self._Backspace:
move = 6
for i in range(move):
self.ScrollDown()
self.ScrollDown(5)
self._Screen.Draw()
self._Screen.SwapAndShow()
@ -304,21 +249,22 @@ class MusicLibListPage(Page):
if not self._Backspace:
self.ReturnToUpLevelPage()
else:
move = 6
for i in range(move):
self.ScrollUp()
self.ScrollUp(5)
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Up"]:
self.ScrollUp()
# self.ScrollUp()
self.SpeedScroll(event.key)
self.ScrollUp(self._ScrollStep)
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.ScrollDown()
# self.ScrollDown()
self.SpeedScroll(event.key)
self.ScrollDown(self._ScrollStep)
self._Screen.Draw()
self._Screen.SwapAndShow()