Image Plugin Performance improvements part 1

This commit is contained in:
Tim Bentley 2009-08-24 18:01:55 +01:00
parent 7dea8a37a1
commit b3f45c21c4
1 changed files with 16 additions and 2 deletions

View File

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