diff frontends/primitivus/custom_widgets.py @ 13:8cccbaadb9c5

Primitivus: menu roller doesn't go anymore on a menu if it's empty
author Goffi <goffi@goffi.org>
date Fri, 16 Jul 2010 22:36:58 +0800
parents 7e63429cc929
children f7d24eff1272
line wrap: on
line diff
--- a/frontends/primitivus/custom_widgets.py	Fri Jul 16 20:25:06 2010 +0800
+++ b/frontends/primitivus/custom_widgets.py	Fri Jul 16 22:36:58 2010 +0800
@@ -390,6 +390,10 @@
 
     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 @@
             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)