=== modified file 'xl/panels/collection.py' --- xl/panels/collection.py 2008-04-21 07:48:25 +0000 +++ xl/panels/collection.py 2008-04-26 21:59:29 +0000 @@ -66,6 +66,7 @@ self.connect_id = None self.setup_widgets() playlist.create_rating_images(self) + self.cover_cache = {} def setup_widgets(self): """ @@ -666,8 +667,15 @@ else: string = "%s - %s" % (string, info) if not string in node_for: - parent = self.model.append(parent, - [self.image_map[field], track, field]) + if field == "album": + album_cover = self.exaile.cover_manager.fetch_cover(track, True) + if not album_cover in self.cover_cache: + self.cover_cache[album_cover] = gtk.gdk.pixbuf_new_from_file_at_size(album_cover, 20, 20) + parent = self.model.append(parent, + [self.cover_cache[album_cover], track, field]) + else: + parent = self.model.append(parent, + [self.image_map[field], track, field]) if info == "track": info = track node_for[string] = parent