renommage de app en minwii (ça va tout péter…).
[minwii.git] / src / minwii / widgets / songfilebrowser.py
diff --git a/src/minwii/widgets/songfilebrowser.py b/src/minwii/widgets/songfilebrowser.py
new file mode 100755 (executable)
index 0000000..973f9ab
--- /dev/null
@@ -0,0 +1,51 @@
+# -*- coding: utf-8 -*-
+"""
+Boîte de dialogue pour sélection des chansons.
+
+$Id$
+$URL$
+"""
+
+from pgu.gui import FileDialog
+import os
+
+class FileOpenDialog(FileDialog):
+    
+    
+    
+    def __init__(self, path):
+        FileDialog.__init__(self, 
+                            title_txt="Ouvrir une chanson",
+                            button_txt="Ouvrir",
+                            path=path,
+                            )
+    
+    def _list_dir_(self):
+        self.input_dir.value = self.curdir
+        self.input_dir.pos = len(self.curdir)
+        self.input_dir.vpos = 0
+        dirs = []
+        files = []
+        try:
+            for i in os.listdir(self.curdir):
+                if os.path.isdir(os.path.join(self.curdir, i)): dirs.append(i)
+                else: files.append(i)
+        except:
+            self.input_file.value = "Opps! no access"
+        #if '..' not in dirs: dirs.append('..')
+        dirs.sort()
+        dirs = ['..'] + dirs
+
+        files.sort()
+        for i in dirs:
+            if i.startswith('.') and i != '..' :
+                continue
+            self.list.add(i, image=self.dir_img, value=i)
+
+        for i in files:
+            if i.startswith('.') or (not i.endswith('.xml')) : 
+                continue
+            self.list.add(i,value=i)
+
+        self.list.set_vertical_scroll(0)
+