-class ExifView(Screen):
- skin = """
- <screen position="80,130" size="560,320" title="Exif-Data" >
- <widget name="exiflist" position="5,5" size="550,310" selectionDisabled="1" />
- </screen>"""
-
- def __init__(self, session, fullname, name):
- self.skin = ExifView.skin
- Screen.__init__(self, session)
-
- self["actions"] = ActionMap(["OkCancelActions"],
- {
- "cancel": self.close
- }, -1)
-
- dlist = ["Name:", "EXIF-Version:", "Camera-Make:", "Camera-Model:", "Date/Time:", "User Comments:", "Width / Height:", "Orientation:", "Metering Mode:", "Exposure Program:", "Light Source:", "Flash used:", "CompressedBitsPerPixel:", "ISO Speed Rating:", "X-Resolution:", "Y-Resolution:", "Resolution Unit:", "Brightness:", "Exposure Time:", "Exposure Bias:", "Distance:", "CCD-Width:", "ApertureFNumber:"]
- tlist = [ ]
- self["exiflist"] = ServiceInfoList(tlist)
- tlist.append(ServiceInfoListEntry(dlist[0], name))
- count=1
- for x in getExif(fullname):
- tlist.append(ServiceInfoListEntry(dlist[count], x))
- count += 1
-
-#------------------------------------------------------------------------------------------
-
-class PicSetup(Screen):
- skin = """
- <screen position="160,220" size="400,120" title="Settings" >
- <widget name="liste" position="10,10" size="380,100" />
- </screen>"""
-
- def __init__(self, session):
- self.skin = PicSetup.skin
- Screen.__init__(self, session)
-
- self["actions"] = NumberActionMap(["SetupActions"],
- {
- "cancel": self.close,
- "left": self.keyLeft,
- "right": self.keyRight,
- "0": self.keyNumber,
- "1": self.keyNumber,
- "2": self.keyNumber,
- "3": self.keyNumber,
- "4": self.keyNumber,
- "5": self.keyNumber,
- "6": self.keyNumber,
- "7": self.keyNumber,
- "8": self.keyNumber,
- "9": self.keyNumber
- }, -1)
-
- self.list = []
- self["liste"] = ConfigList(self.list)
- self.list.append(getConfigListEntry(_("Slideshow Interval (sec.)"), config.pic.slidetime))
- self.list.append(getConfigListEntry(_("Scaling Mode"), config.pic.resize))
- self.list.append(getConfigListEntry(_("Cache Thumbnails"), config.pic.cache))
- #self.list.append(getConfigListEntry(_("Rotate Picture"), config.pic.rotate))
-
- def keyLeft(self):
- self["liste"].handleKey(KEY_LEFT)
-
- def keyRight(self):
- self["liste"].handleKey(KEY_RIGHT)
-
- def keyNumber(self, number):
- self["liste"].handleKey(KEY_0 + number)
-
-
-#------------------------------------------------------------------------------------------
-
-class picmain(Screen):
- skin = """
- <screen position="160,90" size="400,390" title="PicturePlayer" >
- <ePixmap position="10,40" size="36,20" pixmap="skin_default/buttons/key_menu.png" transparent="1" alphatest="on" />
- <ePixmap position="10,70" size="36,20" pixmap="skin_default/buttons/key_info.png" transparent="1" alphatest="on" />
- <ePixmap position="12,100" size="36,20" pixmap="skin_default/buttons/key_red.png" transparent="1" alphatest="on" />
- <eLabel text="Settings" position="60,40" size="120,25" font="Regular;20" transparent="1" />
- <eLabel text="Exif-Data" position="60,70" size="120,25" font="Regular;20" transparent="1" />
- <eLabel text="Thumbnails" position="60,100" size="120,25" font="Regular;20" transparent="1" />
- <widget name="thumbnail" position="200,5" size="180,160" alphatest="on" />
- <widget name="filelist" position="5,170" zPosition="2" size="390,210" scrollbarMode="showOnDemand" />
- </screen>"""
-
- def __init__(self, session):
- self.skin = picmain.skin
- Screen.__init__(self, session)
-
- self["actions"] = ActionMap(["OkCancelActions", "DirectionActions", "ColorActions", "MovieSelectionActions"],
- {
- "ok": self.KeyOk,
- "cancel": self.Exit,
- "right": self.rightDown,
- "left": self.leftUp,
- "up": self.up,
- "down": self.down,
- "showEventInfo": self.StartExif,
- "contextMenu": self.Settings,
- "red": self.StartThumb
- }, -1)
-
- self.aspect = getAspect()
- currDir = config.pic.lastDir.value
- if not pathExists(currDir):
- currDir = "/"
-
- self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(jpeg|jpg|jpe|png|bmp|gif)")
- self["filelist"] = self.filelist
- self["thumbnail"] = Pixmap()
-
- self.ThumbTimer = eTimer()
- self.ThumbTimer.callback.append(self.showThumb)
- self.ThumbTimer.start(500, True)
-
- def up(self):
- self["filelist"].up()
- self.ThumbTimer.start(1500, True)
-
- def down(self):
- self["filelist"].down()
- self.ThumbTimer.start(1500, True)
-
- def leftUp(self):
- self["filelist"].pageUp()
- self.ThumbTimer.start(1500, True)
-
- def rightDown(self):
- self["filelist"].pageDown()
- self.ThumbTimer.start(1500, True)
-
- def showThumb(self):
- if not self.filelist.canDescent():
- cachefile = ""
- if config.pic.cache.value:
- cachedir = self.filelist.getCurrentDirectory() + ".Thumbnails/"
- cachefile = cachedir + self.filelist.getFilename() + str(180) + str(160) + str(self.aspect)
- if not pathExists(cachedir):
- if not createDir(cachedir):
- cachefile = ""
-
- ptr = loadPic(self.filelist.getCurrentDirectory() + self.filelist.getFilename(), 180, 160, self.aspect, int(config.pic.resize.value), 0, 0, cachefile)
- if ptr != None:
- self["thumbnail"].show()
- self["thumbnail"].instance.setPixmap(ptr)