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)]