Update of /cvsroot/freevo/freevo/src/tv
In directory sc8-pr-cvs1:/tmp/cvs-serv23361

Modified Files:
        program_display.py program_search.py view_favorites.py 
Log Message:
More progress, still ots to do.


Index: program_display.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/tv/program_display.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** program_display.py  1 Jun 2003 19:05:15 -0000       1.1
--- program_display.py  3 Jun 2003 01:41:38 -0000       1.2
***************
*** 10,13 ****
--- 10,16 ----
  #-----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2003/06/03 01:41:38  rshortt
+ # More progress, still ots to do.
+ #
  # Revision 1.1  2003/06/01 19:05:15  rshortt
  # Better to commit these before I mess something up.  Still event code to fix I 
think, among other things.
***************
*** 55,58 ****
--- 58,62 ----
      """
      prog      the program to record
+     context   guide or recording
      left      x coordinate. Integer
      top       y coordinate. Integer
***************
*** 61,66 ****
      """
      
!     def __init__(self, parent=None, prog=None, left=None, top=None, width=600,
!                  height=520):
  
          self.left = left
--- 65,70 ----
      """
      
!     def __init__(self, parent=None, prog=None, context=None, left=None, 
!                  top=None, width=600, height=440):
  
          self.left = left
***************
*** 69,72 ****
--- 73,81 ----
          self.font = None
  
+         if context:
+             self.context = context
+         else:
+             self.context = 'guide'
+ 
          PopupBox.__init__(self, left=left, top=top, width=width, 
                            height=height)
***************
*** 87,107 ****
          desc = Label('Description:\t%s' % self.prog.desc, self, Align.LEFT)
  
!         start = Label('Start:\t%s on %s' % (time.strftime('%A %b %d %I:%M %p', 
!                                         time.localtime(self.prog.start)),
!                                         self.prog.channel_id), 
!                                         self, Align.LEFT)
  
          stop = Label('Stop:\t%s' % time.strftime('%A %b %d %I:%M %p', 
                                       time.localtime(self.prog.stop)), 
                                       self, Align.LEFT)
  
          self.options = ListBox(width=(self.width-2*self.h_margin), 
!                                height=200, show_v_scrollbar=0)
!         self.options.items_height = 40
!         self.options.add_item(text='Record this episode', value=1)
!         self.options.add_item(text='Search for more of this program', value=2)
!         self.options.add_item(text='Add "%s" to favorites' % prog.title, value=3)
!         self.options.add_item(text='View favorites', value=4)
!         self.options.add_item(text='View scheduled recordings', value=5)
  
          self.options.set_h_align(Align.CENTER)
--- 96,126 ----
          desc = Label('Description:\t%s' % self.prog.desc, self, Align.LEFT)
  
!         chan = Label('Channel:\t%s' % self.prog.channel_id, self, Align.LEFT)
! 
!         start = Label('Start:\t%s' % time.strftime('%A %b %d %I:%M %p', 
!                                       time.localtime(self.prog.start)),
!                                       self, Align.LEFT)
  
          stop = Label('Stop:\t%s' % time.strftime('%A %b %d %I:%M %p', 
                                       time.localtime(self.prog.stop)), 
                                       self, Align.LEFT)
+         items_height = 40
+ 
+         if self.context == 'guide':
+             num_items = 3
+         else:
+             num_items = 1
  
          self.options = ListBox(width=(self.width-2*self.h_margin), 
!                                height=items_height*num_items, 
!                                show_v_scrollbar=0)
!         self.options.items_height = items_height
! 
!         if self.context == 'guide':
!             self.options.add_item(text='Record this episode', value=1)
!             self.options.add_item(text='Search for more of this program', value=2)
!             self.options.add_item(text='Add "%s" to favorites' % prog.title, value=3)
!         else:
!             self.options.add_item(text='Remove from scheduled recordings', value=4)
  
          self.options.set_h_align(Align.CENTER)
***************
*** 138,144 ****
                                             subject=self.prog).show()
              elif self.options.get_selected_item().value == 4:
!                 view_favorites.ViewFavorites(parent=self).show()
!             elif self.options.get_selected_item().value == 5:
!                 view_recordings.ViewScheduledRecordings(parent=self).show()
  
          elif event == em.INPUT_EXIT:
--- 157,168 ----
                                             subject=self.prog).show()
              elif self.options.get_selected_item().value == 4:
!                 (result, msg) = record_client.removeScheduledRecording(self.prog)
!                 if result:
!                     AlertBox(parent=self, 
!                              text='%s has been removed' % \
!                               self.prog.title, handler=self.destroy).show()
!                 else:
!                     AlertBox(parent=self, 
!                              text='Remove Failed: %s' % msg).show()
  
          elif event == em.INPUT_EXIT:
***************
*** 146,148 ****
--- 170,271 ----
          else:
              return self.parent.eventhandler(event)
+ 
+ 
+ 
+ class ScheduledRecordings(PopupBox):
+     """
+     left      x coordinate. Integer
+     top       y coordinate. Integer
+     width     Integer
+     height    Integer
+     text      String to print.
+     handler   Function to call after pressing ENTER.
+     bg_color  Background color (Color)
+     fg_color  Foreground color (Color)
+     icon      icon
+     border    Border
+     bd_color  Border color (Color)
+     bd_width  Border width Integer
+     """
+ 
+         
+     def __init__(self, parent='osd', text=None, handler=None, 
+                  left=None, top=None, width=600, height=520, bg_color=None, 
+                  fg_color=None, icon=None, border=None, bd_color=None, 
+                  bd_width=None):
+ 
+         if not text:
+             text = 'Scheduled Recordings'
+         
+         PopupBox.__init__(self, parent, text, handler, left, top, width, height, 
+                           bg_color, fg_color, icon, border, bd_color, bd_width)
+ 
+ 
+         (self.result, recordings) = record_client.getScheduledRecordings()
+         if self.result:
+             progs = recordings.getProgramList()
+         else:
+             errormsg = Label('Get recordings failed: %s' % recordings, 
+                              self, Align.CENTER)
+             return 
+ 
+         self.internal_h_align = Align.CENTER
+ 
+         items_height = 40
+         self.num_shown_items = 7
+         self.results = ListBox(width=(self.width-2*self.h_margin),
+                                height=self.num_shown_items*items_height,
+                                show_v_scrollbar=0)
+         self.results.y_scroll_interval = self.results.items_height = items_height
+         max_results = 10
+ 
+         self.results.set_h_align(Align.CENTER)
+         self.add_child(self.results)
+ 
+ 
+         if self.result:
+             i = 0
+             self.results.items = []
+ 
+             if len(progs) > self.num_shown_items:
+                 self.results.show_v_scrollbar = 1
+             else:
+                 self.results.show_v_scrollbar = 0
+ 
+             f = lambda a, b: cmp(a.start, b.start)
+             progs = progs.values()
+             progs.sort(f)
+             for prog in progs:
+                 i += 1
+                 self.results.add_item(text='%s %s: %s' % \
+                                         (time.strftime('%b %d %I:%M %p',
+                                            time.localtime(prog.start)),
+                                          prog.channel_id,
+                                          prog.title),
+                                       value=prog)
+ 
+             space_left = self.num_shown_items - i
+             if space_left > 0:
+                 for i in range(space_left):
+                     self.results.add_item(text=' ', value=0)
+ 
+             self.results.toggle_selected_index(0)
+ 
+ 
+     def eventhandler(self, event):
+         if not self.result:
+             self.destroy()
+             return
+ 
+         if event in (em.INPUT_UP, em.INPUT_DOWN, em.INPUT_LEFT, em.INPUT_RIGHT):
+             return self.results.eventhandler(event)
+         elif event == em.INPUT_ENTER:
+             ProgramDisplay(prog=self.results.get_selected_item().value,
+                            context='recording', height=360).show()
+             return
+         elif event == em.INPUT_EXIT:
+             self.destroy()
+         else:
+             return self.parent.eventhandler(event)
+ 
  

Index: program_search.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/tv/program_search.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** program_search.py   1 Jun 2003 19:05:15 -0000       1.1
--- program_search.py   3 Jun 2003 01:41:38 -0000       1.2
***************
*** 12,15 ****
--- 12,18 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2003/06/03 01:41:38  rshortt
+ # More progress, still ots to do.
+ #
  # Revision 1.1  2003/06/01 19:05:15  rshortt
  # Better to commit these before I mess something up.  Still event code to fix I 
think, among other things.
***************
*** 83,86 ****
--- 86,94 ----
  
          (self.server_available, msg) = record_client.connectionTest()
+         if not self.server_available:
+             errormsg = Label('Record server unavailable: %s\n\nFeel free to 
impliment this function inside the main guide.' % msg, 
+                              self, Align.CENTER)
+             return 
+ 
  
          self.internal_h_align = Align.CENTER
***************
*** 94,98 ****
                                 height=self.num_shown_items*items_height,
                                 show_v_scrollbar=0)
!         self.results.items_height = items_height
          max_results = 10
  
--- 102,106 ----
                                 height=self.num_shown_items*items_height,
                                 show_v_scrollbar=0)
!         self.results.y_scroll_interval = self.results.items_height = items_height
          max_results = 10
  
***************
*** 136,141 ****
  
      def eventhandler(self, event):
  
-         print 'SELECTED CHILD: %s' % self.get_selected_child()
          if self.get_selected_child() == self.lbg:
              if event == em.INPUT_LEFT:
--- 144,151 ----
  
      def eventhandler(self, event):
+         if not self.server_available:
+             self.destroy()
+             return
  
          if self.get_selected_child() == self.lbg:
              if event == em.INPUT_LEFT:

Index: view_favorites.py
===================================================================
RCS file: /cvsroot/freevo/freevo/src/tv/view_favorites.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** view_favorites.py   1 Jun 2003 19:05:15 -0000       1.1
--- view_favorites.py   3 Jun 2003 01:41:39 -0000       1.2
***************
*** 12,15 ****
--- 12,18 ----
  # -----------------------------------------------------------------------
  # $Log$
+ # Revision 1.2  2003/06/03 01:41:39  rshortt
+ # More progress, still ots to do.
+ #
  # Revision 1.1  2003/06/01 19:05:15  rshortt
  # Better to commit these before I mess something up.  Still event code to fix I 
think, among other things.
***************
*** 96,100 ****
                                 height=self.num_shown_items*items_height,
                                 show_v_scrollbar=0)
!         self.results.items_height = items_height
          max_results = 10
  
--- 99,103 ----
                                 height=self.num_shown_items*items_height,
                                 show_v_scrollbar=0)
!         self.results.y_scroll_interval = self.results.items_height = items_height
          max_results = 10
  
***************
*** 134,137 ****
--- 137,143 ----
  
      def eventhandler(self, event):
+         if not self.server_available:
+             self.destroy()
+             return
  
          if event in (em.INPUT_UP, em.INPUT_DOWN, em.INPUT_LEFT, em.INPUT_RIGHT):




-------------------------------------------------------
This SF.net email is sponsored by: eBay
Get office equipment for less on eBay!
http://adfarm.mediaplex.com/ad/ck/711-11697-6916-5
_______________________________________________
Freevo-cvslog mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to