- self["frame"].moveTo(self.poslist[self.list[self.index][3]][0], self.poslist[self.list[self.index][3]][1], 1)
- self["frame"].startMoving()
-
- if self.list[self.index][2] != self.currPage:
- self.currPage = self.list[self.index][2]
- textlist = ["","","","","",""]
- self.thumblist = ["","","","","",""]
-
- for x in self.list:
- if x[2] == self.currPage:
- textlist[x[3]] = x[4] + x[0]
- self.thumblist[x[3]] = x[0]
-
- for x in range(6):
- self["label"+str(x)].setText(textlist[x])
- self["thumb"+str(x)].hide()
-
- self.ThumbTimer.start(500, True)
-
- def showThumb(self):
- if self.thumblist[self.thumbindex] != "":
- cachefile = ""
- if config.pic.cache.value:
- cachedir = self.path + ".Thumbnails/"
- cachefile = cachedir + self.thumblist[self.thumbindex] + str(180) + str(160) + str(self.aspect)
- if not pathExists(cachedir):
- if not createDir(cachedir):
- cachefile = ""
-
- ptr = loadPic(self.path + self.thumblist[self.thumbindex], 180, 160, self.aspect, int(config.pic.resize.value), int(config.pic.rotate.value),1, cachefile)
- if ptr != None:
- self["thumb"+str(self.thumbindex)].show()
- self["thumb"+str(self.thumbindex)].instance.setPixmap(ptr)
-
- self.thumbindex += 1
- if self.thumbindex < 6:
- self.ThumbTimer.start(500, True)
- else:
- self.thumbindex = 0
- else:
- self.thumbindex = 0
-
- def StartExif(self):
- if self.maxentry < 0:
- return
-
- self.session.open(ExifView, self.list[self.index][1], self.list[self.index][0])
-
- def KeyOk(self):
- if self.maxentry < 0:
- return
-
- self.old_index = self.index
- self.session.openWithCallback(self.returnView ,PicView, self.filelist, self.list[self.index][0], self.path)
-
- def returnView(self, val=0):
- self.index = val
- if self.old_index != self.index:
- self.fillPage()
-
- def Exit(self):
- self.close(self.index)
-
-#------------------------------------------------------------------------------------------
-
-class PicView(Screen):
- skin = """
- <screen position="0,0" size="720,576" flags="wfNoBorder" title="PicturePlayer" >
- <eLabel position="0,0" zPosition="0" size="720,576" backgroundColor="black" />
- <widget name="picture" position="80,50" size="560,450" zPosition="1" transparent="1" />
- <widget name="point" position="80,515" size="15,15" zPosition="1" pixmap="BlinkingPoint-fs8.png" alphatest="on" />
- <widget name="file" position="150,510" size="350,30" font="Regular;20" halign="center" zPosition="1" transparent="1" />
- <ePixmap position="500,515" size="36,20" pixmap="key_info-fs8.png" zPosition="1" alphatest="on" />
- <ePixmap position="550,515" size="20,20" pixmap="ico_mp_rewind.png" zPosition="1" alphatest="on" />
- <widget name="play" position="575,515" size="20,20" pixmap="ico_mp_play.png" zPosition="1" alphatest="on" />
- <widget name="pause" position="600,515" size="20,20" pixmap="ico_mp_pause.png" zPosition="1" alphatest="on" />
- <ePixmap position="625,515" size="20,20" pixmap="ico_mp_forward.png" zPosition="1" alphatest="on" />
- </screen>"""
-
- def __init__(self, session, filelist, name, path):
- self.skin = PicView.skin
- Screen.__init__(self, session)
-
- self["actions"] = ActionMap(["OkCancelActions", "ColorActions", "MovieSelectionActions"],
- {
- "cancel": self.Exit,
- "showEventInfo": self.StartExif,
- "green": self.Play,
- "yellow": self.Pause,
- "blue": self.nextPic,
- "red": self.prevPic
- }, -1)
-
- self.aspect = getAspect()
- self.blinking = False
- self.autoShow = True
- self.slideOn = False
- self.pauseOn = False
- self.index = 0
- self.old = 0
- self.list = []
-
- count=0
- for x in filelist:
- if x[0][1] == False:
- self.list.append((x[0][0], path + x[0][0], 0))
- if x[0][0] == name:
- self.index = count
- count += 1
- self.maxentry = len(self.list)-1