# HG changeset patch
# User Goffi <goffi@goffi.org>
# Date 1279291018 -28800
# Node ID 8cccbaadb9c5e36baad46c97a91a992d0b9f7e60
# Parent  7e63429cc929f87a2e3d9adb0b6cb2d4dd094ab2
Primitivus: menu roller doesn't go anymore on a menu if it's empty

diff -r 7e63429cc929 -r 8cccbaadb9c5 frontends/primitivus/custom_widgets.py
--- 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)