-
- for x in range(6):
- self["label"+str(x)] = Label()
- self["thumb"+str(x)] = Pixmap()
- self["frame"] = MovingPixmap()
-
- self.aspect = getAspect()
- self.path = path
- self.filelist = filelist
- self.currPage = -1
- self.index = 0
- self.old_index = 0
- self.thumblist = []
- self.thumbindex = 0
- self.list = []
- self.poslist = [[50,63],[265,63],[480,63],[50,288],[265,288],[480,288]]
-
- count=0
- pos=0
- for x in self.filelist:
- if x[0][1] == False:
- self.list.append((x[0][0], self.path + x[0][0], count/6, pos, "(" + str(count+1) + ") "))
- pos += 1
- if pos == 6:
- pos = 0
- if x[0][0] == name:
- self.index = count
- count += 1
- self.maxentry = len(self.list)-1
-
- if self.maxentry < 0:
- self["label0"].setText(_("no Picture found"))
-
- self.ThumbTimer = eTimer()
- self.ThumbTimer.timeout.get().append(self.showThumb)
-
- self.fillPage()
-
- def key_left(self):
- self.index -= 1
- if self.index < 0:
- self.index = self.maxentry
- self.fillPage()
-
- def key_right(self):
- self.index += 1
- if self.index > self.maxentry:
- self.index = 0
- self.fillPage()
-
- def key_up(self):
- self.index -= 3
- if self.index < 0:
- self.index = 0
- self.fillPage()
-
- def key_down(self):
- self.index += 3
- if self.index > self.maxentry:
- self.index = self.maxentry
- self.fillPage()
-
- def fillPage(self):
- if self.maxentry < 0:
- return
-
- 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)