move media scanner components into core, patch by Moritz Venn (002_enigma2_move_media...
[enigma2.git] / lib / python / Plugins / Extensions / PicturePlayer / plugin.py
index 34e8c10f471e017e021d224458ef6f3cce1e13d0..b6699bab00ab63e3346f199274449bdb029217da 100644 (file)
@@ -9,7 +9,7 @@ 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 Components.FileList import FileList
 from Components.AVSwitch import AVSwitch
 
 from Plugins.Plugin import PluginDescriptor
@@ -158,7 +158,7 @@ class ThumbView(Screen):
                        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:
@@ -297,7 +297,7 @@ class PicView(Screen):
                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()
@@ -452,7 +452,7 @@ class picmain(Screen):
                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()
                
@@ -489,7 +489,7 @@ class picmain(Screen):
                        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()
 
@@ -531,14 +531,14 @@ 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():
-       # 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
+def filescan(**kwargs):
+       from Components.Scanner import Scanner, ScanPath
        return \
-               Scanner(extensions = ["jpg", "jpe", "jpeg"], 
+               Scanner(mimetypes = ["image/jpeg", "image/png", "image/gif", "image/bmp"],
                        paths_to_scan = 
                                [
                                        ScanPath(path = "DCIM", with_subdirs = True),