This commit is contained in:
rimach crichter@web.de 2011-06-06 21:20:19 +02:00
commit ac7126d929
3 changed files with 17 additions and 12 deletions

View File

@ -391,21 +391,26 @@ class MediaManagerItem(QtGui.QWidget):
self.iconFromFile(image, thumb)
return True
def iconFromFile(self, image, thumb):
def iconFromFile(self, image_path, thumb_path):
"""
Create a thumbnail icon from a given image.
``image``
``image_path``
The image file to create the icon from.
``thumb``
The filename to save the thumbnail to
``thumb_path``
The filename to save the thumbnail to.
"""
icon = build_icon(unicode(image))
pixmap = icon.pixmap(QtCore.QSize(88, 50))
ext = os.path.splitext(thumb)[1].lower()
pixmap.save(thumb, ext[1:])
return icon
ext = os.path.splitext(thumb_path)[1].lower()
reader = QtGui.QImageReader(image_path)
ratio = float(reader.size().width()) / float(reader.size().height())
reader.setScaledSize(QtCore.QSize(int(ratio * 88), 88))
thumb = reader.read()
thumb.save(thumb_path, ext[1:])
if os.path.exists(thumb_path):
return build_icon(unicode(thumb_path))
# Fallback for files with animation support.
return build_icon(unicode(image_path))
def loadList(self, list):
raise NotImplementedError(u'MediaManagerItem.loadList needs to be '

View File

@ -106,7 +106,7 @@ class ScreenList(object):
"""
# Do not log at start up.
if changed_screen != -1:
log.info(u'screen_count_changed %d' % number)
log.info(u'screen_count_changed %d' % self.desktop.numScreens())
# Remove unplugged screens.
for screen in copy.deepcopy(self.screen_list):
if screen[u'number'] == self.desktop.numScreens():