Mercurial > boomslang
changeset 709:d279a7dd166a pyntnclick
Fix paging bug. Better widget spacing
author | Neil Muller <neil@dip.sun.ac.za> |
---|---|
date | Sun, 05 Aug 2012 13:53:21 +0200 |
parents | 9b6d68ba627e |
children | d4f97c8e0dbe |
files | pyntnclick/widgets/filechooser.py |
diffstat | 1 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/pyntnclick/widgets/filechooser.py Sat Aug 04 22:30:44 2012 +0200 +++ b/pyntnclick/widgets/filechooser.py Sun Aug 05 13:53:21 2012 +0200 @@ -63,13 +63,14 @@ widget = LabelWidget((0, 0), self.gd, self.curdir[-30:], color='black') widget.rect.topleft = (left, top) self.add(widget) - upbut = TextButton((left + self.padding + widget.rect.width, top), + upbut = TextButton((left + 2 * self.padding + widget.rect.width, top), self.gd, u'\N{LEFTWARDS ARROW WITH HOOK}Back one level') upbut.add_callback('clicked', self.change_dir, os.pardir) self.add(upbut) top += max(widget.rect.height, upbut.rect.height) + 4 * self.padding page_top = top page_left = left + top += self.padding for entry in entries[start_page:end_page]: if entry in self.dirs: widget = self._dir_button(entry) @@ -78,7 +79,7 @@ widget.rect.topleft = (left, top) self.add(widget) top += widget.rect.height + self.padding - page_left = max(page_left, left + widget.rect.width) + page_left = max(page_left, left + widget.rect.width + self.padding) # Add page list buttons if not self.prev_but: self.prev_but = TextButton((0, 0), self.gd, u'\N{UPWARDS ARROW}') @@ -86,7 +87,7 @@ 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.add_callback('clicked', self.change_page, -1) + 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) self.next_but.rect.topleft = (page_left, page_top) @@ -94,13 +95,15 @@ self.prev_but.enable() else: self.prev_but.disable() - if end_page < len(entries): + if end_page + 1 < len(entries): self.next_but.enable() else: self.next_but.disable() self.add(self.next_but) self.add(self.prev_but) # Add OK and Cancel buttons + top = max(self.prev_but.rect.bottom + self.padding, + top + 2 * self.padding) ok_but = TextButton((left, top), self.gd, 'OK') ok_but.add_callback('clicked', self.ok) self.add(ok_but)