X-Git-Url: https://scm.cri.ensmp.fr/git/minwii.git/blobdiff_plain/d16b6e481bb75314ed3e4f7ae24ba6bde0378d2e..9f42e2eecaf0b45b5010129f16c7961aa7377dc9:/src/minwii/widgets/songfilebrowser.py diff --git a/src/minwii/widgets/songfilebrowser.py b/src/minwii/widgets/songfilebrowser.py index f976ce6..2e5cc78 100755 --- a/src/minwii/widgets/songfilebrowser.py +++ b/src/minwii/widgets/songfilebrowser.py @@ -6,6 +6,8 @@ $Id$ $URL$ """ +import pygame +from pygame.locals import K_RETURN from pgu.gui import FileDialog import pgu.gui.basic as basic import pgu.gui.input as input @@ -57,6 +59,8 @@ class FileOpenDialog(FileDialog): self.body.tr() self.body.td(self.list, colspan=4, style=td_style) self.list.connect(CHANGE, self._item_select_changed_, None) + #self.list.connect(CLICK, self._check_dbl_click_, None) + self._last_time_click = pygame.time.get_ticks() self.button_ok.connect(CLICK, self._button_okay_clicked_, None) self.body.tr() self.body.td(basic.Label("Fichier"), style=td_style, align=-1) @@ -256,6 +260,24 @@ class FileOpenDialog(FileDialog): self._current_sort = arg self.list.clear() self._list_dir_() + + def _check_dbl_click_(self, arg) : + if pygame.time.get_ticks() - self._last_time_click < 300 : + self._button_okay_clicked_(None) + else : + self._last_time_click = pygame.time.get_ticks() + + def event(self, e) : + FileDialog.event(self, e) + + if e.type == CLICK and \ + e.button == 1 and \ + self.list.rect.collidepoint(e.pos) : + self._check_dbl_click_(e) + + if e.type == KEYDOWN and e.key == K_RETURN : + self._button_okay_clicked_(None) + # utils from unicodedata import decomposition @@ -284,8 +306,8 @@ def _recurseDecomposition(uc): fullDeco = u''.join(filter(lambda c : isPrintable(c), fullDeco)) return fullDeco -def desacc(s) : - us = s.decode('utf-8', 'ignore') +def desacc(s, encoding='iso-8859-1') : + us = s.decode(encoding, 'ignore') ret = [] for uc in us : ret.append(_recurseDecomposition(uc))