diff options
Diffstat (limited to 'urwid/container.py')
-rwxr-xr-x | urwid/container.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/urwid/container.py b/urwid/container.py index 8b61383..3999f28 100755 --- a/urwid/container.py +++ b/urwid/container.py @@ -342,14 +342,18 @@ class GridFlow(WidgetWrap, WidgetContainerMixin, WidgetContainerListContentsMixi if self.v_sep: p.contents.append((divider, p.options())) c = Columns([], self.h_sep) + column_focused = False pad = Padding(c, self.align) # extra attribute to reference contents position pad.first_position = i p.contents.append((pad, p.options())) c.contents.append((w, c.options(GIVEN, width_amount))) - if i == self.focus_position: + if ((i == self.focus_position) or + (not column_focused and w.selectable())): c.focus_position = len(c.contents) - 1 + column_focused = True + if i == self.focus_position: p.focus_position = len(p.contents) - 1 used_space = (sum(x[1][1] for x in c.contents) + self.h_sep * len(c.contents)) |