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