-from enigma import *
-
+from enigma import eTimer, loadPic, getExif
from Screens.Screen import Screen
from Screens.ServiceInfo import ServiceInfoList, ServiceInfoListEntry
from Components.ActionMap import ActionMap, NumberActionMap
from Components.config import *
from Tools.Directories import resolveFilename, pathExists, createDir, SCOPE_MEDIA
-from Components.FileList import FileEntryComponent, FileList
+from Components.FileList import FileList
from Components.AVSwitch import AVSwitch
from Plugins.Plugin import PluginDescriptor
-
config.pic = ConfigSubsection()
config.pic.slidetime = ConfigInteger(default=10, limits=(5, 60))
config.pic.resize = ConfigSelection(default="0", choices = [("0", _("simple")), ("1", _("better"))])
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.__deref__())
+ self["thumb"+str(self.thumbindex)].instance.setPixmap(ptr)
self.thumbindex += 1
if self.thumbindex < 6:
if self.currPic != None:
self.old = self.index
self["file"].setText(self.list[self.old][0] + " (" + str(self.old+1) + "/" + str(self.maxentry+1) + ")")
- self["picture"].instance.setPixmap(self.currPic.__deref__())
+ self["picture"].instance.setPixmap(self.currPic)
self.next()
self["point"].show()
if not pathExists(currDir):
currDir = "/"
- self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(jpeg|jpg|png|bmp)")
+ self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(jpeg|jpg|jpe|png|bmp)")
self["filelist"] = self.filelist
self["thumbnail"] = Pixmap()
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.__deref__())
+ self["thumbnail"].instance.setPixmap(ptr)
else:
self["thumbnail"].hide()
def main(session, **kwargs):
session.open(picmain)
+def filescan_open(list, session, **kwargs):
+ session.open(picmain) # list
+
+def filescan():
+ # we expect not to be called if the MediaScanner plugin is not available,
+ # thus we don't catch an ImportError exception here
+ from Plugins.Extensions.MediaScanner.plugin import Scanner, ScanPath
+ return \
+ Scanner(extensions = ["jpg", "jpe", "jpeg"],
+ paths_to_scan =
+ [
+ ScanPath(path = "DCIM", with_subdirs = True),
+ ScanPath(path = "", with_subdirs = False),
+ ],
+ name = "Pictures",
+ description = "View Photos...",
+ openfnc = filescan_open,
+ )
+
def Plugins(**kwargs):
- return PluginDescriptor(name="PicturePlayer", description="Picture Viewer (BMP, PNG, JPG)", icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)
+ return \
+ [PluginDescriptor(name="PicturePlayer", description="Picture Viewer (BMP, PNG, JPG)", icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main),
+ PluginDescriptor(name="PicturePlayer", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)]