def previous(self): if self.current_x == 0: delta = timedelta(minutes=settings.getTimelineToDisplay()) y = self.current_y self.stop_time -= delta self.start_time -= delta self.displayChannels() self.setFocus(0, y) self.setTimesLabels() else: self.current_x -= 1 self.setFocus(self.current_x, self.current_y)
def next(self): if len(self.currentGrid[self.current_y]) - 1 == self.current_x: # Load new page delta = timedelta(minutes=settings.getTimelineToDisplay()) y = self.current_y self.stop_time += delta self.start_time += delta self.displayChannels() self.setFocus(0, y) self.setTimesLabels() else: # Next control self.current_x += 1 self.setFocus(self.current_x, self.current_y)
def setTimeMarker(self, timer=False): tm = self.window.getControl(EPGControl.image.TIME_MARKER) dt_now = datetime.now() delta = dt_now - self.start_time tm.setVisible(False) if delta.seconds >= 0 and delta.seconds <= settings.getTimelineToDisplay( ) * 60: x = self.secondsToX(delta.seconds) tm.setPosition(int(x), tm.getY()) tm.setVisible(True) if timer and not abortRequested and not self.is_closing: Timer(1, self.setTimeMarker, {timer: True}).start()
def __init__(self, window): self.window = window self.start_time = self.stop_time = None self.start_channel_id = 0 globalControl = self.window.getControl(EPGControl.GLOBAL_CONTROL) self.left, self.top = globalControl.getPosition() self.right = self.left + globalControl.getWidth() self.bottom = self.top + globalControl.getHeight() self.width = globalControl.getWidth() self.cellHeight = globalControl.getHeight( ) / settings.getDisplayChannelsCount() start_time = datetime.now() self.start_time = start_time.replace( minute=(0 if start_time.minute <= 29 else 30)) self.stop_time = self.start_time + timedelta( minutes=settings.getTimelineToDisplay() - 2) self.setEPGBackgrounds() self.setTimeMarker(timer=True) self.setTimesLabels()
def secondsToX(self, secs): return self.left + (secs * self.width / (settings.getTimelineToDisplay() * 60)) + 24
def __toTimeView(ctime, multiplier): # Defining time for program guide and time labels zone. increment = int(settings.getTimelineToDisplay() / 4) * multiplier later = (ctime + timedelta(minutes=increment)).time() return str(("[B]%02d:%02d[/B]") % (later.hour, later.minute))