diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 6e6058256..0aa6516e0 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -54,7 +54,7 @@ class ImageMediaItem(MediaManagerItem): # be instanced by the base MediaManagerItem self.ListViewWithDnD_class = ImageListView self.ServiceItemIconName = u':/media/media_image.png' - + self.servicePath = None MediaManagerItem.__init__(self, parent, icon, title) #create and install our own slide controller toolbar imageToolbar = ImageToolbar(self, True) @@ -63,6 +63,9 @@ class ImageMediaItem(MediaManagerItem): def initialise(self): self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) self.ListView.setIconSize(QtCore.QSize(88,50)) + self.servicePath = os.path.join(self.parent.config.get_data_path(), u'.thumbnails') + if os.path.exists(self.servicePath) == False: + os.mkdir(self.servicePath) self.loadList(self.parent.config.load_list(self.ConfigSection)) def onDeleteClick(self): @@ -76,8 +79,19 @@ class ImageMediaItem(MediaManagerItem): def loadList(self, list): for file in list: (path, filename) = os.path.split(unicode(file)) + thumb = os.path.join(self.servicePath, filename) + if os.path.exists(thumb): + print "found ", thumb + icon = buildIcon(thumb) + else: + print "not found ", thumb + icon = buildIcon(unicode(file)) + pixmap = icon.pixmap(QtCore.QSize(88,50)) + ext = os.path.splitext(thumb)[1].lower() + print ext [1:] + pixmap.save(thumb, ext[1:]) item_name = QtGui.QListWidgetItem(filename) - item_name.setIcon(buildIcon(file)) + item_name.setIcon(icon) item_name.setData(QtCore.Qt.UserRole, QtCore.QVariant(file)) self.ListView.addItem(item_name)