From: pin Date: Fri, 1 Jul 2011 13:52:31 +0000 (+0000) Subject: Ajout d'images d'illustration pour les chansons. X-Git-Url: https://svn.cri.ensmp.fr/git/minwii.git/commitdiff_plain/778613ffd2c0d8e7cf9088923b4aad9d734f5064?hp=1b71e2e6e4439f8e753ceca8ccbf4abf18be4d29 Ajout d'images d'illustration pour les chansons. git-svn-id: https://svn.cri.ensmp.fr/svn/minwii/trunk@363 fe552daf-6dbe-4428-90eb-1537e0879342 --- diff --git a/src/minwii/widgets/songfilebrowser.py b/src/minwii/widgets/songfilebrowser.py index 2e5cc78..cfa3022 100755 --- a/src/minwii/widgets/songfilebrowser.py +++ b/src/minwii/widgets/songfilebrowser.py @@ -24,6 +24,7 @@ from xml.etree import ElementTree from minwii.musicxml import musicXml2Song INDEX_TXT = 'index.txt' +PICTURE_ITEM_SIZE = 64 class FileOpenDialog(FileDialog): @@ -69,14 +70,7 @@ class FileOpenDialog(FileDialog): self.value = None Dialog.__init__(self, self.title, self.body) -# FileDialog.__init__(self, -# title_txt="Ouvrir une chanson", -# button_txt="Ouvrir", -# path=path, -# ) -# self.list.style.width = 700 -# self.list.style.height = 250 - + def _list_dir_(self): self.input_dir.value = self.curdir self.input_dir.pos = len(self.curdir) @@ -104,12 +98,26 @@ class FileOpenDialog(FileDialog): continue filepath = os.path.join(self.curdir, i) xmlFiles.append(filepath) - # self.list.add(FileOpenDialog.getSongTitle(filepath), value=i) if xmlFiles : printableLines = self.getPrintableLines(xmlFiles) for l in printableLines : - self.list.add(l[0], value = l[1]) + imgpath = os.path.splitext(os.path.join(self.curdir, l[1]))[0] + '.jpg' + if os.path.exists(imgpath) : + img = pygame.image.load(imgpath) + iw, ih = img.get_width(), img.get_height() + style = {} + if iw > ih : + style['width'] = PICTURE_ITEM_SIZE + style['height'] = PICTURE_ITEM_SIZE * float(ih) / iw + else : + style['heigth'] = PICTURE_ITEM_SIZE + style['width'] = PICTURE_ITEM_SIZE * float(iw) / ih + + img = basic.Image(img, style=style) + self.list.add(l[0], value = l[1], image = img) + else : + self.list.add(l[0], value = l[1]) self.list.set_vertical_scroll(0)