X-Git-Url: https://scm.cri.mines-paristech.fr/git/minwii.git/blobdiff_plain/8107325baba9dacf2d7721192c981714a262dc09..a73a4820f5dcb29350d623eaf9bdd27884dfb73e:/src/app/widgets/home.py diff --git a/src/app/widgets/home.py b/src/app/widgets/home.py index 391cb29..1aa74d3 100755 --- a/src/app/widgets/home.py +++ b/src/app/widgets/home.py @@ -13,9 +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 globals import PLAYING_MODES from songfilebrowser import FileOpenDialog +import os.path class Home(Table) : """ @@ -25,6 +27,7 @@ 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() @@ -50,9 +53,9 @@ class Home(Table) : # choix du niveau self.tr() self.td(self.createLabel("Niveau :")) - self.modeSelect = Select('easy') - for key in modeDict.keys() : - self.modeSelect.add(self.createLabel(reversedReadabilityDict[key]),key) + self.modeSelect = Select('EASY') + for k, caption in PLAYING_MODES : + self.modeSelect.add(self.createLabel(caption), k) self.td(self.modeSelect,colspan=3) self.tr() @@ -77,7 +80,7 @@ class Home(Table) : self.tr() self.quitButton = Button(self.createLabel("Quitter")) self.td(self.quitButton) - self.playButton = Button(self.createLabel("Jouer")) + self.playButton = Button(self.createLabel("Jouer"), disabled=True) self.td(self.playButton,colspan=3) self.tr() @@ -85,9 +88,15 @@ class Home(Table) : def _initLocalListeners(self) : self.browseButton.connect(CLICK, self.open_file_browser) - self.quitButton.connect(CLICK, self._exitHome) + self.quitButton.connect(CLICK, self._exitApp) + self.playButton.connect(CLICK, self._exitHome) + + def _exitApp(self, data=None) : + self.returnValue = False + self.send(QUIT) def _exitHome(self, data=None) : + self.returnValue = True self.send(QUIT) def createLabel(self,text,font = None): @@ -99,9 +108,13 @@ class Home(Table) : def open_file_browser(self): dlg = FileOpenDialog(self.songPath) - #d = MINWiiDialog(font = self.font,width = 800, height = 600,path = "../songs/smwis") - #d.connect(pguGui.CHANGE, self.handle_file_browser_closed, d) + 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 + self.playButton.disabled = False + \ No newline at end of file