Author: duncan
Date: Fri Jan 19 18:24:47 2007
New Revision: 9003

Modified:
   branches/rel-1/freevo/src/event.py
   branches/rel-1/freevo/src/tv/tvguide.py

Log:
[ 1623183 ] Jump to channel number in TV Guide
Patch from Justin Wetherell applied


Modified: branches/rel-1/freevo/src/event.py
==============================================================================
--- branches/rel-1/freevo/src/event.py  (original)
+++ branches/rel-1/freevo/src/event.py  Fri Jan 19 18:24:47 2007
@@ -285,7 +285,17 @@
     'EXIT'      : MENU_BACK_ONE_MENU,
     'SELECT'    : MENU_SELECT,
     'DISPLAY'   : MENU_CHANGE_STYLE,
-    'REC'       : TV_START_RECORDING
+    'REC'       : TV_START_RECORDING,
+    '1'         : INPUT_1,
+    '2'         : INPUT_2,
+    '3'         : INPUT_3,
+    '4'         : INPUT_4,
+    '5'         : INPUT_5,
+    '6'         : INPUT_6,
+    '7'         : INPUT_7,
+    '8'         : INPUT_8,
+    '9'         : INPUT_9,
+    '0'         : INPUT_0
     } 
 
 INPUT_EVENTS = {

Modified: branches/rel-1/freevo/src/tv/tvguide.py
==============================================================================
--- branches/rel-1/freevo/src/tv/tvguide.py     (original)
+++ branches/rel-1/freevo/src/tv/tvguide.py     Fri Jan 19 18:24:47 2007
@@ -83,6 +83,9 @@
         self.visible = True
         self.select_time = start_time
         self.last_update = 0
+
+        self.lastinput_value = None
+        self.lastinput_time = None
         
         self.update_schedules(force=True)
         self.fc = FreevoChannels()
@@ -191,6 +194,27 @@
         elif event == TV_START_RECORDING:
             self.event_RECORD()
             self.menuw.refresh()
+
+        if str(event).startswith("INPUT_"):
+            # tune explicit channel
+            newinput_value = int(str(event)[6])
+            newinput_time = int(time.time())
+            if (self.lastinput_value != None):
+                # allow 2 seconds delay for multiple digit channels
+                if (newinput_time - self.lastinput_time < 2):
+                    # this enables multiple (max 3) digit channel selection
+                    if (self.lastinput_value >= 100):
+                        self.lastinput_value = (self.lastinput_value % 100)
+                    newinput_value = self.lastinput_value * 10 + newinput_value
+            self.lastinput_value = newinput_value
+            self.lastinput_time = newinput_time
+            for c in self.guide.chan_list:
+                if int(c.tunerid) == int(newinput_value):
+                    self.start_channel = c.id
+                    break
+            print ('%s %s %s %s'%(self.start_time, self.stop_time, 
self.start_channel, self.selected))
+            self.rebuild(self.start_time, self.stop_time, self.start_channel, 
self.selected)
+            self.menuw.refresh()
  
         elif event == MENU_SELECT or event == PLAY:
 

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-cvslog mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-cvslog

Reply via email to