source: trunk/game/scripts/parpgfilebrowser.py @ 278

Revision 262, 1.2 KB checked in by barra_parpg, 10 years ago (diff)

Patch by mvbarracuda:

  • Applied svn:eol-style >> native to all Python files
  • Resolved inconsistent line endings for gamestate.py, composed.py & base.py
  • Property svn:eol-style set to native
Line 
1# coding: utf-8
2
3import fife, sys
4import pychan
5from pychan import widgets
6from filebrowser import FileBrowser
7
8def u2s(string):
9        return string.encode(sys.getfilesystemencoding())
10
11class PARPGFileBrowser(FileBrowser):
12        """
13        A sub-class of filebrowser.FileBrowser
14        """
15        def __init__(self, engine, fileSelected, savefile=False, selectdir=False, extensions=('xml',), guixmlpath="gui/filebrowser.xml"):
16                FileBrowser.__init__(self, engine, fileSelected, False, False, extensions, guixmlpath)
17
18        def _selectFile(self):
19                self._widget.hide()
20                selection = self._widget.collectData('fileList')
21                if self.savefile:
22                        data = self._widget.collectData('saveField')
23
24                        try:
25                                data_split = data.split('.')[1]
26                        except:
27                                self._warningMessage()
28                                return
29                       
30                if self.savefile:
31                        if (data_split == 'dat'):
32                                self.fileSelected(self.path, u2s(self._widget.collectData('saveField')))
33                                return
34                        else:
35                                self._warningMessage()
36                                return
37                else:
38                        if selection >= 0 and selection < len(self.file_list):
39                                self.fileSelected(self.path, u2s(self.file_list[selection]))
40                                return
41                       
42                        elif self.selectdir:
43                                self.fileSelected(self.path)
44                                return
45
46                        else:
47                                print 'FileBrowser: error, no selection.'
Note: See TracBrowser for help on using the repository browser.