X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/b54e41841b3beb6bafd351077f3bddef0aaa6abb..6aaf4a5689bd6323945dd3f1e28c4e995b091d99:/src/app/widgets/home.py?ds=inline diff --git a/src/app/widgets/home.py b/src/app/widgets/home.py index 540746f..e1e09f1 100755 --- a/src/app/widgets/home.py +++ b/src/app/widgets/home.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """ -widgets minwii. +Écran de démarrage minwii. $Id$ $URL$ @@ -13,8 +13,11 @@ from pgu.gui import Switch from pgu.gui import Select from pgu.gui import CLICK from pgu.gui import QUIT +from pgu.gui import CHANGE import pygame from gui.constants import reversedReadabilityDict, modeDict +from songfilebrowser import FileOpenDialog +import os.path class Home(Table) : """ @@ -23,6 +26,8 @@ class Home(Table) : def __init__(self,**params): Table.__init__(self,**params) + self.songPath = params.get('songPath', '.') + self.songFile = None self.spaceSize = (100,100) self.font = pygame.font.Font(None,70) self._fill() @@ -82,11 +87,11 @@ class Home(Table) : self.td(Spacer(500,500)) def _initLocalListeners(self) : - self.quitButton.connect(CLICK, self.exit) + self.browseButton.connect(CLICK, self.open_file_browser) + self.quitButton.connect(CLICK, self._exitHome) - def exit(self, data=None) : - if data is None : - self.send(QUIT) + def _exitHome(self, data=None) : + self.send(QUIT) def createLabel(self,text,font = None): if font == None : @@ -94,6 +99,15 @@ class Home(Table) : w,h = self.font.size(text) label = Label(text,width=w,height=h,font = font) return(label) - + + def open_file_browser(self): + dlg = FileOpenDialog(self.songPath) + dlg.connect(CHANGE, self.handle_file_browser_closed, dlg) + dlg.open() + + def handle_file_browser_closed(self, dlg) : + if dlg.value and os.path.isfile(dlg.value): + self.songFile = dlg.value + \ No newline at end of file