From 3b5bd7695b6ebbc3e02994e43c7bad3e262d2443 Mon Sep 17 00:00:00 2001 From: Goffi Date: Fri, 16 Jul 2010 22:36:58 +0800 Subject: [PATCH] Primitivus: menu roller doesn't go anymore on a menu if it's empty --- frontends/primitivus/custom_widgets.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/frontends/primitivus/custom_widgets.py b/frontends/primitivus/custom_widgets.py index 475224e7..60a2c892 100644 --- a/frontends/primitivus/custom_widgets.py +++ b/frontends/primitivus/custom_widgets.py @@ -390,6 +390,10 @@ class Menu(urwid.FlowWidget): def selectable(self): return True + + def getMenuSize(self): + """return the current number of categories in this menu""" + return len(self.menu_keys) def setOrigX(self, orig_x): self.x_orig = orig_x @@ -515,6 +519,11 @@ class MenuRoller(urwid.WidgetWrap): if self.columns.get_focus_column()==0 and self.selected < len(self.name_list)-1: self.selected += 1 self.__showSelected() + elif key=='right': + if self.columns.get_focus_column()==0 and \ + (self.columns.widget_list[1].__class__ == urwid.Text or \ + self.menus[self.name_list[self.selected]].getMenuSize()==0): + return #if we have no menu or the menu is empty, we don't go the right column return super(MenuRoller, self).keypress(size, key)