self.borderColor = None
self.backColor = 0x586d88
self.backColorSelected = 0x808080
+ self.foreColorService = None
+ self.backColorService = None
def applySkin(self, desktop):
if self.skinAttributes is not None:
self.backColor = parseColor(value).argb()
elif attrib == "EntryBackgroundColorSelected":
self.backColorSelected = parseColor(value).argb()
+ elif attrib == "ServiceNameForegroundColor":
+ self.foreColorService = parseColor(value).argb()
+ elif attrib == "ServiceNameBackgroundColor":
+ self.backColorService = parseColor(value).argb()
else:
attribs.append((attrib,value))
self.skinAttributes = attribs
old_service = self.cur_service #(service, service_name, events)
cur_service = self.cur_service = self.l.getCurrentSelection()
last_time = 0;
+ time_base = self.getTimeBase()
if old_service and self.cur_event is not None:
events = old_service[2]
cur_event = events[self.cur_event] #(event_id, event_title, begin_time, duration)
last_time = cur_event[2]
+ if last_time < time_base:
+ last_time = time_base
if cur_service:
self.cur_event = 0
events = cur_service[2]
best = len(events) #set invalid
idx = 0
for event in events: #iterate all events
- diff = abs(event[2]-last_time)
+ ev_time = event[2]
+ if ev_time < time_base:
+ ev_time = time_base
+ diff = abs(ev_time-last_time)
if (best == len(events)) or (diff < best_diff):
best = idx
best_diff = diff
def buildEntry(self, service, service_name, events):
r1=self.service_rect
r2=self.event_rect
- res = [ None, MultiContentEntryText(pos = (r1.left(),r1.top()), size = (r1.width(), r1.height()), font = 0, flags = RT_HALIGN_LEFT | RT_VALIGN_CENTER, text = service_name) ]
+ res = [ None, MultiContentEntryText(pos = (r1.left(),r1.top()), size = (r1.width(), r1.height()), font = 0, flags = RT_HALIGN_LEFT | RT_VALIGN_CENTER, text = service_name, color = self.foreColorService, backcolor = self.backColorService) ]
if events:
start = self.time_base+self.offs*self.time_epoch*60