add RestoreScrolled in Warehouse

This commit is contained in:
cuu 2019-12-29 20:31:22 +08:00
parent e9db2ac4d1
commit 987587c5af

View File

@ -544,7 +544,9 @@ class GameStorePage(Page):
_aria2_db = "aria2tasks.db"
_warehouse_db = "warehouse.db"
_GobjTimer = -1
_Scrolled_cnt = 0
def __init__(self):
Page.__init__(self)
self._Icons = {}
@ -671,10 +673,7 @@ class GameStorePage(Page):
self._MyList.append(li)
if self._PsIndex > len(self._MyList) - 1:
self._PsIndex = len(self._MyList) - 1
if self._PsIndex < 0:
self._PsIndex = 0
self.RefreshPsIndex()
def Init(self):
@ -724,7 +723,7 @@ class GameStorePage(Page):
self._PreviewPage = ImageDownloadProcessPage()
self._PreviewPage._Screen = self._Screen
self._PreviewPage._Name = "preview"
self._PreviewPage._Name = "Preview"
self._PreviewPage.Init()
self._LoadHousePage = LoadHousePage()
@ -1002,7 +1001,6 @@ class GameStorePage(Page):
self.SyncList()
def OnReturnBackCb(self):
if self._MyStack.Length() == 1:
self._FootMsg[2] = "Remove"
self._FootMsg[1] = "Update"
@ -1011,6 +1009,8 @@ class GameStorePage(Page):
self._FootMsg[1] = "Preview"
self.SyncList()
self.RestoreScrolled()
self._Screen.Draw()
self._Screen.SwapAndShow()
@ -1019,6 +1019,34 @@ class GameStorePage(Page):
self._Screen.Draw()
self._Screen.SwapAndShow()
"""
def ScrollDown(self):
if len(self._MyList) == 0:
return
self._PsIndex += 1
if self._PsIndex >= len(self._MyList):
self._PsIndex = len(self._MyList)-1
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
self._Scrolled_cnt -= self._MyList[i]._Height
def ScrollUp(self):
if len(self._MyList) == 0:
return
self._PsIndex -= 1
if self._PsIndex < 0:
self._PsIndex = 0
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
self._Scrolled_cnt += self._MyList[i]._Height
def KeyDown(self,event):
if IsKeyMenuOrB(event.key):
@ -1091,12 +1119,16 @@ class GameStorePage(Page):
self.ScrollUp()
self._Screen.Draw()
self._Screen.SwapAndShow()
if event.key == CurKeys["Down"]:
self.ScrollDown()
self._Screen.Draw()
self._Screen.SwapAndShow()
def RestoreScrolled(self):
for i in range(0, len(self._MyList)):
self._MyList[i]._PosY += self._Scrolled_cnt
def Draw(self):
self.ClearCanvas()