# HG changeset patch # User Neil Muller # Date 1358288870 -7200 # Node ID f5e381e819a1f86bc6cb48233f111d5191203d6d # Parent 94de2e71db1397deeb5ddca4284a1eac3aa1f674 Update file widget to changed widget init pattern diff -r 94de2e71db13 -r f5e381e819a1 pyntnclick/widgets/filechooser.py --- a/pyntnclick/widgets/filechooser.py Wed Jan 16 00:00:19 2013 +0200 +++ b/pyntnclick/widgets/filechooser.py Wed Jan 16 00:27:50 2013 +0200 @@ -23,8 +23,6 @@ self.modal = True self.prev_but = None self.next_but = None - self.get_lists() - self.fill_page() def get_lists(self): self.dirs = [] @@ -36,6 +34,10 @@ else: self.files.append(entry) + def prepare(self): + super(FileChooser, self).prepare() + self.refresh() + def refresh(self): self.page = 0 self.selected = None @@ -46,6 +48,7 @@ widget = TextButton((0, 0), self.gd, entry + '/', fontname=self.gd.constants.bold_font, fontsize=10) + widget.do_prepare() widget.add_callback('clicked', self.change_dir, entry) return widget @@ -57,6 +60,7 @@ else: widget = TextButton((0, 0), self.gd, entry, border=0, fontsize=10) + widget.do_prepare() widget.add_callback('clicked', self.change_selection, entry) return widget @@ -70,10 +74,12 @@ left = self.rect.left + self.padding # Add current directory at the top widget = LabelWidget((0, 0), self.gd, self.curdir[-30:], color='black') + widget.do_prepare() widget.rect.topleft = (left, top) self.add(widget) upbut = TextButton((left + 2 * self.padding + widget.rect.width, top), self.gd, u'\N{LEFTWARDS ARROW WITH HOOK}Back one level') + upbut.do_prepare() upbut.add_callback('clicked', self.change_dir, os.pardir) self.add(upbut) top += max(widget.rect.height, upbut.rect.height) + 4 * self.padding @@ -92,10 +98,12 @@ # Add page list buttons if not self.prev_but: self.prev_but = TextButton((0, 0), self.gd, u'\N{UPWARDS ARROW}') + self.prev_but.do_prepare() self.prev_but.add_callback('clicked', self.change_page, -1) self.prev_but.rect.topleft = (page_left, page_top) if not self.next_but: self.next_but = TextButton((0, 0), self.gd, u'\N{DOWNWARDS ARROW}') + self.next_but.do_prepare() self.next_but.add_callback('clicked', self.change_page, +1) page_top = max(top - self.next_but.rect.height, self.prev_but.rect.bottom + self.padding)