Author: duncan
Date: Thu May 24 18:48:56 2007
New Revision: 9597

Modified:
   branches/rel-1/freevo/src/tv/plugins/recordings_manager.py

Log:
[ 1725041 ] Recording Manager doesn't update when changing Keep/Watched
Patch from Adam Charrett applied


Modified: branches/rel-1/freevo/src/tv/plugins/recordings_manager.py
==============================================================================
--- branches/rel-1/freevo/src/tv/plugins/recordings_manager.py  (original)
+++ branches/rel-1/freevo/src/tv/plugins/recordings_manager.py  Thu May 24 
18:48:56 2007
@@ -227,6 +227,8 @@
         item.name = item.name[:item.name.find(u'\t') + 1]  + 
_(eval('%s_methods[%s]' % (arg,arg), globals()))
 
         copy_and_replace_menu_item(menuw, item)
+        menuw.init_page()
+        menuw.refresh()
 
 
     def configure_sorting_reversed(self, arg=None, menuw=None):
@@ -237,6 +239,8 @@
         item.name = item.name[:item.name.find(u'\t') + 1]  + 
self.configure_get_icon( eval(arg, globals()))
 
         copy_and_replace_menu_item(menuw, item)
+        menuw.init_page()
+        menuw.refresh()
 
 
     def configure_get_icon(self, value):
@@ -419,6 +423,7 @@
         self.update_fxd(self.watched, self.keep)
         self.set_icon()
         if menuw:
+            copy_and_replace_menu_item(menuw, self)
             menuw.refresh(reload=True)
 
 
@@ -430,6 +435,7 @@
         self.update_fxd(self.watched, self.keep)
         self.set_icon()
         if menuw:
+            copy_and_replace_menu_item(menuw, self)
             menuw.refresh(reload=True)
 
 
@@ -598,9 +604,11 @@
                 else:
                     self.menuw.init_page()
                 self.menuw.refresh()
+                # Update the icon just incase we were called because a series 
item updated its watched/keep state.
+                self.set_icon()
         else:
             # normal menu build
-            item_menu = Menu(self.name, self.items, item_types = 'tv')
+            item_menu = Menu(self.name, self.items,reload_func=self.reload, 
item_types = 'tv')
             menuw.pushmenu(item_menu)
 
             self.menu  = item_menu
@@ -646,6 +654,7 @@
                 item.mark_to_keep()
         self.set_icon()
         if menuw:
+            copy_and_replace_menu_item(menuw, self)
             menuw.refresh(reload=True)
 
 
@@ -667,6 +676,13 @@
     # ======================================================================
     # Helper methods
     # ======================================================================
+    def reload(self):
+        """
+        Rebuilds the menu.
+        """
+        self.browse(arg='update')
+        return None
+    
 
     def set_icon(self):
         """
@@ -917,8 +933,6 @@
         menu.choices[idx] = cloned_item
         if menu.selected is item:
             menu.selected = cloned_item
-        menuw.init_page()
-        menuw.refresh()
     except ValueError, e:
         menuw.delete_submenu(True, True)
 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to