Ajout description midi des instruments et sélection au niveau de fluidsynth.
[minwii.git] / src / app / widgets / home.py
index 391cb29..6d9d7d5 100755 (executable)
@@ -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 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()
@@ -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,12 @@ 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
+    
 
     
\ No newline at end of file