X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a51752e73e737052dc0f2b731a387deef80e64af..a34ef895210161a8820e96829ac87806566e7858:/lib/python/Plugins/Extensions/PicturePlayer/plugin.py diff --git a/lib/python/Plugins/Extensions/PicturePlayer/plugin.py b/lib/python/Plugins/Extensions/PicturePlayer/plugin.py index 8a591090..ea906f0d 100644 --- a/lib/python/Plugins/Extensions/PicturePlayer/plugin.py +++ b/lib/python/Plugins/Extensions/PicturePlayer/plugin.py @@ -8,8 +8,8 @@ from Components.Label import Label from Components.ConfigList import ConfigList from Components.config import * -from Tools.Directories import resolveFilename, pathExists, createDir, SCOPE_MEDIA -from Components.FileList import FileEntryComponent, FileList +from Tools.Directories import resolveFilename, fileExists, pathExists, createDir, SCOPE_MEDIA +from Components.FileList import FileList from Components.AVSwitch import AVSwitch from Plugins.Plugin import PluginDescriptor @@ -94,7 +94,7 @@ class ThumbView(Screen): self["label0"].setText(_("no Picture found")) self.ThumbTimer = eTimer() - self.ThumbTimer.timeout.get().append(self.showThumb) + self.ThumbTimer.callback.append(self.showThumb) self.fillPage() @@ -155,7 +155,7 @@ class ThumbView(Screen): 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) + ptr = loadPic(self.path + self.thumblist[self.thumbindex], 180, 160, self.aspect, int(config.pic.resize.value), int(config.pic.rotate.value), 1, cachefile, 1) if ptr != None: self["thumb"+str(self.thumbindex)].show() self["thumb"+str(self.thumbindex)].instance.setPixmap(ptr) @@ -196,13 +196,13 @@ class PicView(Screen): - + - - - - - + + + + + """ def __init__(self, session, filelist, name, path): @@ -244,11 +244,11 @@ class PicView(Screen): self["pause"] = Pixmap() self.decodeTimer = eTimer() - self.decodeTimer.timeout.get().append(self.decodePic) + self.decodeTimer.callback.append(self.decodePic) self.decodeTimer.start(300, True) self.slideTimer = eTimer() - self.slideTimer.timeout.get().append(self.slidePic) + self.slideTimer.callback.append(self.slidePic) def Pause(self): @@ -420,9 +420,9 @@ class PicSetup(Screen): class picmain(Screen): skin = """ - - - + + + @@ -452,12 +452,12 @@ class picmain(Screen): if not pathExists(currDir): currDir = "/" - self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(jpeg|jpg|jpe|png|bmp)") + self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(jpeg|jpg|jpe|png|bmp|gif)") self["filelist"] = self.filelist self["thumbnail"] = Pixmap() self.ThumbTimer = eTimer() - self.ThumbTimer.timeout.get().append(self.showThumb) + self.ThumbTimer.callback.append(self.showThumb) self.ThumbTimer.start(500, True) def up(self): @@ -486,7 +486,7 @@ class picmain(Screen): 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) + ptr = loadPic(self.filelist.getCurrentDirectory() + self.filelist.getFilename(), 180, 160, self.aspect, int(config.pic.resize.value), 0, 0, cachefile, 1) if ptr != None: self["thumbnail"].show() self["thumbnail"].instance.setPixmap(ptr) @@ -531,14 +531,20 @@ def main(session, **kwargs): session.open(picmain) def filescan_open(list, session, **kwargs): - session.open(picmain) # list + # Recreate List as expected by PicView + filelist = [((file.path, False), None) for file in list] + session.open(PicView, filelist, "", "") + +def filescan(**kwargs): + from Components.Scanner import Scanner, ScanPath + + # Overwrite checkFile to only detect local + class LocalScanner(Scanner): + def checkFile(self, file): + return fileExists(file.path) -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"], + LocalScanner(mimetypes = ["image/jpeg", "image/png", "image/gif", "image/bmp"], paths_to_scan = [ ScanPath(path = "DCIM", with_subdirs = True), @@ -551,5 +557,5 @@ def filescan(): def Plugins(**kwargs): return \ - [PluginDescriptor(name="PicturePlayer", description="Picture Viewer (BMP, PNG, JPG)", icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main), + [PluginDescriptor(name="PicturePlayer", description="Picture Viewer (BMP, PNG, JPG, GIF)", icon="pictureplayer.png", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main), PluginDescriptor(name="PicturePlayer", where = PluginDescriptor.WHERE_FILESCAN, fnc = filescan)]