Author: duncan
Date: Sun Dec 31 12:18:24 2006
New Revision: 8880

Modified:
   branches/rel-1/freevo/share/skins/main/basic.fxd
   branches/rel-1/freevo/src/skins/main/tvlisting_area.py
   branches/rel-1/freevo/src/tv/program_display.py
   branches/rel-1/freevo/src/tv/tvguide.py

Log:
Finished changes for overlap detection for the TV guide


Modified: branches/rel-1/freevo/share/skins/main/basic.fxd
==============================================================================
--- branches/rel-1/freevo/share/skins/main/basic.fxd    (original)
+++ branches/rel-1/freevo/share/skins/main/basic.fxd    Sun Dec 31 12:18:24 2006
@@ -501,6 +501,11 @@
                        y="-5" width="max+10" height="max+10"/>
                </item>
                
+               <item type="overlap" font="tv">
+                   <rectangle bgcolor="0xeb8123" size="1" color="0x000000" 
x="-5"
+                       y="-5" width="max+10" height="max+10"/>
+               </item>
+               
            </content>
        </layout>
 

Modified: branches/rel-1/freevo/src/skins/main/tvlisting_area.py
==============================================================================
--- branches/rel-1/freevo/src/skins/main/tvlisting_area.py      (original)
+++ branches/rel-1/freevo/src/skins/main/tvlisting_area.py      Sun Dec 31 
12:18:24 2006
@@ -75,8 +75,9 @@
         selected_val  = content.types['selected']
         default_val   = content.types['default']
         scheduled_val = content.types['scheduled']
+        overlap_val   = content.types['overlap']
 
-        self.all_vals = label_val, head_val, selected_val, default_val, 
scheduled_val
+        self.all_vals = label_val, head_val, selected_val, default_val, 
scheduled_val, overlap_val
         
         font_h = max(selected_val.font.h, default_val.font.h, label_val.font.h)
 
@@ -159,7 +160,7 @@
         area      = self.area_val
         content   = self.calc_geometry(layout.content, copy_object=True)
 
-        to_listing     = menu.table
+        to_listing = menu.table
 
         n_cols   = len(to_listing[0])-1
         col_time = 30
@@ -167,7 +168,7 @@
         font_h, label_width, label_txt_width, y0, num_rows, item_h, head_h = \
                 self.get_items_geometry(settings, menu)[:-1]
 
-        label_val, head_val, selected_val, default_val, scheduled_val = 
self.all_vals
+        label_val, head_val, selected_val, default_val, scheduled_val, 
overlap_val = self.all_vals
 
         leftarrow = None
         if area.images['leftarrow']:
@@ -215,26 +216,22 @@
         prop_1sec = float(w_contents) / float(n_cols * col_time * 60)
         col_size = prop_1sec * 1800 # 30 minutes
 
-
         ig = Geometry( 0, 0, col_size, head_h )
         if head_val.rectangle:
             ig, r2 = self.fit_item_in_rectangle( head_val.rectangle, col_size,
                                                  head_h, head_h )
 
-
         self.drawroundbox( x_contents - r.width, y_contents - r.height,
                            r.width+1, head_h+1, r )
 
         # use label padding for x; head padding for y
-        self.drawstring( Unicode(time.strftime( dateformat, time.localtime( 
to_listing[ 0 ][ 1 ] ) ) ),
+        self.drawstring( Unicode(time.strftime(dateformat, 
time.localtime(to_listing[0][1]))),
                          head_val.font, content,
                          x=( x_contents  - r.width + pad_x ),
                          y=( y_contents - r.height + ig.y ),
                          width=( r.width - 2 * pad_x ), height=-1,
                          align_v='center', align_h=head_val.align )
 
-
-
         # Print the time at the table's top
         x0 = x_contents
         ty0 = y_contents - r.height
@@ -286,11 +283,8 @@
             else:
                 channel_logo = None
 
-
             if channel_logo:
                 self.drawimage(channel_logo, (logo_geo[0], logo_geo[1]))
-
-
             else:
                 self.drawstring(to_listing[i].displayname, label_val.font, 
content,
                                 x=tx0, y=ty0, width=r.width+2*r.x, 
height=item_h)
@@ -322,9 +316,9 @@
                        prg.channel_id == selected_prog.channel_id and \
                        prg.start == selected_prog.start and \
                        prg.stop == selected_prog.stop:
-
                         val = selected_val
-
+                    elif prg.overlap:
+                        val = overlap_val
                     elif prg.scheduled:
                         val = scheduled_val
                     else:

Modified: branches/rel-1/freevo/src/tv/program_display.py
==============================================================================
--- branches/rel-1/freevo/src/tv/program_display.py     (original)
+++ branches/rel-1/freevo/src/tv/program_display.py     Sun Dec 31 12:18:24 2006
@@ -63,6 +63,9 @@
             self.scheduled = prog.scheduled
         else:
             self.scheduled = False
+
+        self.overlap = prog.overlap
+
         self.favorite = False
 
         self.start = time.strftime(config.TV_DATETIMEFORMAT,

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     Sun Dec 31 12:18:24 2006
@@ -107,14 +107,18 @@
         _debug_('update schedule')
         self.last_update = time.time()
         self.scheduled_programs = []
+        self.overlap_programs = []
         (got_schedule, schedule) = ri.getScheduledRecordings()
 
         util.misc.comingup(None, (got_schedule, schedule))
 
         if got_schedule:
-            l = schedule.getProgramList()
-            for k in l:
-                self.scheduled_programs.append(l[k].str2utf())
+            progs = schedule.getProgramList()
+            for k in progs:
+                prog = progs[k]
+                self.scheduled_programs.append(prog.str2utf())
+                if prog.overlap:
+                    self.overlap_programs.append(prog.str2utf())
 
         
     def eventhandler(self, event):
@@ -321,6 +325,10 @@
                     else:
                         p.scheduled = FALSE # Same as above; leave as 'FALSE' 
until
                                             # Twisted includes Boolean
+                    if p in self.overlap_programs:
+                        p.overlap = TRUE
+                    else:
+                        p.overlap = FALSE
             except:
                 pass
 

-------------------------------------------------------------------------
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