Ejemplo n.º 1
0
    def setMode(self, mode):
        self.mode = mode
        self.l.setItemHeight(self.ItemHeight)
        self.l.setVisualMode(eListboxServiceContent.visModeComplex)
        if mode == self.MODE_NORMAL or not config.usage.show_channel_numbers_in_servicelist.value:
            channelNumberWidth = 0
            channelNumberSpace = 0
        else:
            channelNumberWidth = 50
            channelNumberSpace = 10

        if config.usage.show_event_progress_in_servicelist.value:
            self.l.setElementPosition(
                self.l.celServiceEventProgressbar,
                eRect(channelNumberWidth + channelNumberSpace, 0, 52,
                      self.ItemHeight))
        else:
            self.l.setElementPosition(
                self.l.celServiceEventProgressbar,
                eRect(channelNumberWidth + channelNumberSpace, 0, 0, 0))
        self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
        self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
        self.l.setElementPosition(
            self.l.celServiceNumber,
            eRect(0, 0, channelNumberWidth, self.ItemHeight))
        self.l.setElementPosition(
            self.l.celServiceName,
            eRect(
                channelNumberWidth + channelNumberSpace, 0,
                self.instance.size().width() -
                (channelNumberWidth + channelNumberSpace), self.ItemHeight))
        self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
    def setMode(self, mode):
        self.mode = mode
        self.l.setItemHeight(self.ItemHeight)
        self.l.setVisualMode(eListboxServiceContent.visModeComplex)
        if mode == self.MODE_NORMAL or not config.usage.show_channel_numbers_in_servicelist.value:
            channelNumberWidth = 0
            channelNumberSpace = 0
        else:
            channelNumberWidth = 50
            channelNumberSpace = 10

        if config.usage.show_event_progress_in_servicelist.value:
            self.l.setElementPosition(
                self.l.celServiceEventProgressbar,
                eRect(channelNumberWidth + channelNumberSpace, 0, 52, self.ItemHeight),
            )
        else:
            self.l.setElementPosition(
                self.l.celServiceEventProgressbar, eRect(channelNumberWidth + channelNumberSpace, 0, 0, 0)
            )
        self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
        self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
        self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, channelNumberWidth, self.ItemHeight))
        self.l.setElementPosition(
            self.l.celServiceName,
            eRect(
                channelNumberWidth + channelNumberSpace,
                0,
                self.instance.size().width() - (channelNumberWidth + channelNumberSpace),
                self.ItemHeight,
            ),
        )
        self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
Ejemplo n.º 3
0
 def recalcEntrySize(self):
     esize = self.l.getItemSize()
     width = esize.width()
     height = esize.height()
     fontSize = self.eventFontSize + config.epgselection.multi.eventfs.value
     servScale, timeScale, durScale, wideScale = parameters.get(
         "EPGMultiColumnScales",
         (config.epgselection.multi.servicewidth.value, 6.0, 4.5, 1.5))
     servW = int(fontSize * servScale)
     timeW = int(fontSize * timeScale)
     durW = int(fontSize * durScale)
     left, servWidth, sepWidth, timeWidth, progHeight, breakWidth, durWidth, gapWidth = parameters.get(
         "EPGMultiColumnSpecs",
         (0, servW, 10, timeW, height - 12, 10, durW, 10))
     if config.usage.time.wide.value:
         timeWidth = int(timeWidth * wideScale)
     self.serviceRect = eRect(left, 0, servWidth, height)
     left += servWidth + sepWidth
     self.startEndRect = eRect(left, 0, timeWidth, height)
     progTop = int((height - progHeight) / 2)
     self.progressRect = eRect(left, progTop, timeWidth, progHeight)
     left += timeWidth + breakWidth
     self.durationRect = eRect(left, 0, durWidth, height)
     left += durWidth + gapWidth
     self.descrRect = eRect(left, 0, width - left, height)
Ejemplo n.º 4
0
def setPixmap(dest, ptr, scaleSize, aspectRatio):
    if scaleSize.isValid() and aspectRatio.isValid():
        pic_scale_size = ptr.size().scale(scaleSize, aspectRatio)

        dest_size = dest.getSize()
        dest_width = dest_size.width()
        dest_height = dest_size.height()

        pic_scale_width = pic_scale_size.width()
        pic_scale_height = pic_scale_size.height()

        #		print "pic scale size %dx%d" %(pic_scale_width, pic_scale_height)
        #		print "dest area size %dx%d" %(dest_width, dest_height)

        if pic_scale_width == dest_width:  # v center
            dest_rect = eRect(0, (dest_height - pic_scale_height) // 2,
                              pic_scale_width, pic_scale_height)
        else:  # h center
            dest_rect = eRect((dest_width - pic_scale_width) // 2, 0,
                              pic_scale_width, pic_scale_height)


#		print "dest rect", (dest_rect.left(), dest_rect.top(), dest_rect.width(), dest_rect.height())

        dest.instance.setScale(1)
        dest.instance.setScaleDest(dest_rect)
    else:
        #		print "no scale!"
        dest.instance.setScale(0)
    dest.instance.setPixmap(ptr)
Ejemplo n.º 5
0
def setPixmap(dest, ptr):
	pic_scale_size = ptr.scaleSize()

	if pic_scale_size.isValid():
		pic_size = ptr.size()
		pic_width = pic_size.width()
		pic_height = pic_size.height()

		dest_size = dest.getSize()
		dest_width = dest_size.width()
		dest_height = dest_size.height()

		pic_scale_width = pic_scale_size.width()
		pic_scale_height = pic_scale_size.height()

#		print "pic size %dx%d" %(pic_width, pic_height)
#		print "pic scale size %dx%d" %(pic_scale_width, pic_scale_height)
#		print "dest area size %dx%d" %(dest_width, dest_height)

		if pic_scale_width == dest_width: # v center
			dest_rect = eRect(0, (dest_height - pic_scale_height) / 2, pic_scale_width, pic_scale_height)
		else: # h center
			dest_rect = eRect((dest_width - pic_scale_width) / 2, 0, pic_scale_width, pic_scale_height)

#		print "dest rect", (dest_rect.left(), dest_rect.top(), dest_rect.width(), dest_rect.height())

		dest.instance.setScale(1)
		dest.instance.setScaleDest(dest_rect)
	else:
#		print "no scale!"
		dest.instance.setScale(0)
	dest.instance.setPixmap(ptr)
    def drawText(self, X, Y):
        #self.instance.fillRect( eRect(0, 0, self.W, self.H), self.bcolor )
        self.instance.clear(self.bcolor)

        #if not self.scolor is None:
        #	self.instance.writeText( eRect(X-self.soffset[0], Y-self.soffset[1], self.W-self.soffset[0], self.H-self.soffset[1]), self.scolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
        #self.instance.writeText( eRect(X, Y, self.W, self.H), self.fcolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
        if not self.scolor is None:
            fcolor = self.scolor
        else:
            fcolor = self.fcolor

        if (self.txtext != None and self.txtext != ''):
            self.instance.show()

            self.instance.writeText(
                eRect(X - self.soffset[0], Y - self.soffset[1], self.W,
                      self.H), fcolor, self.bcolor, self.txfont, self.txtext,
                self.txtflags)
            if not self.scolor is None:
                self.instance.writeText(eRect(X, Y, self.W, self.H),
                                        self.fcolor, self.scolor, self.txfont,
                                        self.txtext, self.txtflags)
        else:
            self.instance.hide()
Ejemplo n.º 7
0
 def line_draw(self, x0, y0, x1, y1):
     steep = (abs((y1 - y0)) > abs((x1 - x0)))
     if steep:
         x0, y0 = y0, x0
         x1, y1 = y1, x1
     if (x0 > x1):
         x0, x1 = x1, x0
         y0, y1 = y1, y0
     if (y0 < y1):
         ystep = 1
     else:
         ystep = -1
     deltax = (x1 - x0)
     deltay = abs((y1 - y0))
     error = (-deltax / 2)
     y = y0
     for x in range(x0, (x1 + 1)):
         if steep:
             self.instance.fillRect(
                 eRect(y, x, self.linewidth, self.linewidth), self.fColor)
         else:
             self.instance.fillRect(
                 eRect(x, y, self.linewidth, self.linewidth), self.fColor)
         error = (error + deltay)
         if (error > 0):
             y = (y + ystep)
             error = (error - deltax)
Ejemplo n.º 8
0
 def selEntry(self, dir, visible=True):
     cur_service = self.cur_service  # (service, service_name, events)
     self.recalcEntrySize()
     valid_event = self.cur_event is not None
     if cur_service:
         update = True
         entries = cur_service[2]
         if dir == 0:  # current
             update = False
         elif dir == +1:  # next
             if valid_event and self.cur_event + 1 < len(entries):
                 self.cur_event += 1
             else:
                 self.offs += 1
                 self.fillMultiEPG(None)  # refill
                 return True
         elif dir == -1:  # prev
             if valid_event and self.cur_event - 1 >= 0:
                 self.cur_event -= 1
             elif self.offs > 0:
                 self.offs -= 1
                 self.fillMultiEPG(None)  # refill
                 return True
     if cur_service and valid_event:
         entry = entries[self.cur_event]  # (event_id, event_title, begin_time, duration)
         time_base = self.time_base + self.offs * self.time_epoch * 60
         xpos, width = self.calcEntryPosAndWidth(self.event_rect, time_base, self.time_epoch, entry[2], entry[3])
         self.l.setSelectionClip(eRect(xpos, 0, width, self.event_rect.height()), visible and update)
     else:
         self.l.setSelectionClip(
             eRect(self.event_rect.left(), self.event_rect.top(), self.event_rect.width(), self.event_rect.height()),
             False,
         )
     self.selectionChanged()
     return False
Ejemplo n.º 9
0
 def draw_line(self, x0, y0, x1, y1):
     steep = abs(y1 - y0) > abs(x1 - x0)
     if steep:
         x0, y0 = y0, x0
         x1, y1 = y1, x1
     if x0 > x1:
         x0, x1 = x1, x0
         y0, y1 = y1, y0
     if y0 < y1:
         ystep = 1
     else:
         ystep = -1
     deltax = x1 - x0
     deltay = abs(y1 - y0)
     error = -deltax / 2
     y = y0
     for x in range(x0, x1 + 1):
         if steep:
             self.instance.fillRect(eRect(y, x, 2, 2), self.fColor)
         else:
             self.instance.fillRect(eRect(x, y, 2, 2), self.fColor)
         error = error + deltay
         if error > 0:
             y = y + ystep
             error = error - deltax
Ejemplo n.º 10
0
 def draw_line(self, x0, y0, x1, y1):
     steep = (abs((y1 - y0)) > abs((x1 - x0)))
     if steep:
         x0,y0 = y0,x0
         x1,y1 = y1,x1
     if (x0 > x1):
         x0,x1 = x1,x0
         y0,y1 = y1,y0
     if (y0 < y1):
         ystep = 1
     else:
         ystep = -1
     deltax = (x1 - x0)
     deltay = abs((y1 - y0))
     error = (-deltax / 2)
     y = y0
     for x in range(x0, (x1 + 1)):
         if steep:
             self.instance.fillRect(eRect(y, x, 1, 1), self.fColor)
         else:
             self.instance.fillRect(eRect(x, y, 1, 1), self.fColor)
         error = (error + deltay)
         if (error > 0):
             y = (y + ystep)
             error = (error - deltax)
Ejemplo n.º 11
0
 def draw_line(self, x0, y0, x1, y1):
     steep = abs(y1 - y0) > abs(x1 - x0)
     if steep:
         x0, y0 = y0, x0
         x1, y1 = y1, x1
     if x0 > x1:
         x0, x1 = x1, x0
         y0, y1 = y1, y0
     if y0 < y1:
         ystep = 1
     else:
         ystep = -1
     deltax = x1 - x0
     deltay = abs(y1 - y0)
     error = -deltax / 2
     y = y0
     for x in range(x0, x1 + 1):
         if steep:
             self.instance.fillRect(eRect(y, x, 2, 2), self.fColor)
         else:
             self.instance.fillRect(eRect(x, y, 2, 2), self.fColor)
         error = error + deltay
         if error > 0:
             y = y + ystep
             error = error - deltax
Ejemplo n.º 12
0
    def setMode(self, mode):

        self.mode = mode
        self.l.setItemHeight(self.ItemHeight)
        self.l.setVisualMode(eListboxServiceContent.visModeComplex)

        piconw = 0
        if config.usage.service_icon_enable.value:
            self.l.setGetPiconNameFunc(getPiconName)
            piconw = 67
            if config.skin.xres.value == 1920:
                piconw = 92
        else:
            self.l.setGetPiconNameFunc(None)

        rowWidth = self.instance.size().width(
        ) - 30  #scrollbar is fixed 20 + 10 Extra marge
        channelNumberSpace = 10
        self.progressBarWidth = 52
        self.fieldMargins = 0

        if mode == self.MODE_NORMAL:
            channelNumberWidth = 0
        else:
            if config.skin.xres.value == 1920:
                channelNumberWidth = 70
            else:
                channelNumberWidth = 50

        self.l.setElementPosition(
            self.l.celServiceNumber,
            eRect(0, 0, channelNumberWidth, self.ItemHeight))

        if config.usage.show_event_progress_in_servicelist.value:
            self.l.setElementPosition(
                self.l.celServiceEventProgressbar,
                eRect(channelNumberWidth + channelNumberSpace + piconw, 0,
                      self.progressBarWidth, self.ItemHeight))
            self.l.setElementPosition(
                self.l.celServiceName,
                eRect(
                    channelNumberWidth + channelNumberSpace +
                    self.fieldMargins, 0,
                    rowWidth - (channelNumberWidth + channelNumberSpace +
                                self.progressBarWidth + self.fieldMargins),
                    self.ItemHeight))
        else:
            self.l.setElementPosition(self.l.celServiceEventProgressbar,
                                      eRect(0, 0, 0, 0))
            self.l.setElementPosition(
                self.l.celServiceName,
                eRect(channelNumberWidth + channelNumberSpace, 0,
                      rowWidth - (channelNumberWidth + channelNumberSpace),
                      self.ItemHeight))

        self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
        self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
        self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
        self.l.setHideNumberMarker(config.usage.hide_number_markers.value)
Ejemplo n.º 13
0
	def drawText(self, X, Y, W, H):
		self.instance.clear(self.bcolor)
		
		if not self.scolor is None:
			self.instance.writeText( eRect(X-self.soffset[0], Y-self.soffset[1], W, H), self.scolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
			self.instance.writeText( eRect(X, Y, W, H), self.fcolor, self.scolor, self.txfont, self.txtext, self.txtflags )
		else:
			self.instance.writeText( eRect(X-self.soffset[0], Y-self.soffset[1], W, H), self.fcolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
Ejemplo n.º 14
0
	def draw(self, list):
		for l in list:
			if l[0] == 1:
				self.instance.fillRect(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]))
			elif l[0] == 2:
				self.instance.writeText(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]), gRGB(l[6]), l[7], l[8], l[9])
			else:
				print "drawlist entry:", l
				raise RuntimeError("invalid drawlist entry")
Ejemplo n.º 15
0
	def draw(self, list):
		for l in list:
			if l[0] == 1:
				self.instance.fillRect(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]))
			elif l[0] == 2:
				self.instance.writeText(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]), gRGB(l[6]), l[7], l[8], l[9])
			else:
				print "drawlist entry:", l
				raise RuntimeError("invalid drawlist entry")
Ejemplo n.º 16
0
	def selEntry(self, dir, visible = True):
		cur_service = self.cur_service    #(service, service_name, events, picon)
		self.recalcEntrySize()
		valid_event = self.cur_event is not None
		if cur_service:
			update = True
			entries = cur_service[2]
			if dir == 0: #current
				update = False
			elif dir == +1: #next
				if valid_event and self.cur_event + 1 < len(entries):
					self.cur_event += 1
				else:
					self.offs += 1
					self.fillMultiEPG(None) # refill
					return True
			elif dir == -1: #prev
				if valid_event and self.cur_event - 1 >= 0:
					self.cur_event -= 1
				elif self.offs > 0:
					self.offs -= 1
					self.fillMultiEPG(None) # refill
					return True
			elif dir == +2: #next page
				self.offs += 1
				self.fillMultiEPG(None) # refill
				return True
			elif dir == -2: #prev
				if self.offs > 0:
					self.offs -= 1
					self.fillMultiEPG(None) # refill
					return True
			elif dir == +3: #next day
				self.offs += 60 * 24 / self.time_epoch
				self.fillMultiEPG(None) # refill
				return True
			elif dir == -3: #prev day
				self.offs -= 60 * 24 / self.time_epoch
				if self.offs < 0:
					self.offs = 0;
				self.fillMultiEPG(None) # refill
				return True
		if cur_service and valid_event:
			entry = entries[self.cur_event] #(event_id, event_title, begin_time, duration)
			time_base = self.time_base + self.offs*self.time_epoch * 60
			xpos, width = self.calcEntryPosAndWidth(self.event_rect, time_base, self.time_epoch, entry[2], entry[3])
			self.select_rect = Rect(xpos, 0, width, self.event_rect.height)
			self.l.setSelectionClip(eRect(xpos, 0, width, self.event_rect.h), visible and update)
		else:
			self.select_rect = self.event_rect
			self.l.setSelectionClip(eRect(self.event_rect.x, self.event_rect.y, self.event_rect.w, self.event_rect.h), False)
		self.selectionChanged()
		return False
Ejemplo n.º 17
0
	def draw(self, list):
		for l in list:
			if l[0] == 1:
				self.instance.fillRect(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]))
			elif l[0] == 2:
				self.instance.writeText(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]), gRGB(l[6]), l[7], l[8], l[9])
			elif l[0] == 3:
				self.instance.drawLine(l[1], l[2], l[3], l[4], gRGB(l[5]))
			elif l[0] == 4:
				self.instance.drawRotatedLine(l[1], l[2], l[3], l[4], l[5], l[6], l[7], l[8], gRGB(l[9]))
			else:
				print("[Canvas] drawlist entry:", l)
				raise RuntimeError("invalid drawlist entry")
Ejemplo n.º 18
0
 def draw(self, list):
     for l in list:
         if l[0] == 1:
             self.instance.fillRect(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]))
         elif l[0] == 2:
             self.instance.writeText(eRect(l[1], l[2], l[3], l[4]), gRGB(l[5]), gRGB(l[6]), l[7], l[8], l[9])
         elif l[0] == 3:
             self.instance.drawLine(l[1], l[2], l[3], l[4], gRGB(l[5]))
         elif l[0] == 4:
             self.instance.drawRotatedLine(l[1], l[2], l[3], l[4], l[5], l[6], l[7], l[8], gRGB(l[9]))
         else:
             print 'drawlist entry:', l
             raise RuntimeError('invalid drawlist entry')
Ejemplo n.º 19
0
	def drawText(self, X, Y):
		#self.instance.fillRect( eRect(0, 0, self.W, self.H), self.bcolor )
		self.instance.clear(self.bcolor)
		
		#if not self.scolor is None:
		#	self.instance.writeText( eRect(X-self.soffset[0], Y-self.soffset[1], self.W-self.soffset[0], self.H-self.soffset[1]), self.scolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
		#self.instance.writeText( eRect(X, Y, self.W, self.H), self.fcolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
		if not self.scolor is None:
			fcolor = self.scolor
		else:
			fcolor = self.fcolor
		self.instance.writeText( eRect(X-self.soffset[0], Y-self.soffset[1], self.W, self.H), fcolor, self.bcolor, self.txfont, self.txtext, self.txtflags )
		if not self.scolor is None:
			self.instance.writeText( eRect(X, Y, self.W, self.H), self.fcolor, self.scolor, self.txfont, self.txtext, self.txtflags )
Ejemplo n.º 20
0
	def draw(self, caidlist, newtxt):
		offset = 0
		pointSize = self.font.pointSize
		for key in caidlist:
			if caidlist[key][0]:
				if caidlist[key][1] == 0:
					foregroundColor = self.emmColor
				else:
					foregroundColor = self.ecmColor
				length = len(caidlist[key][0]) * (pointSize )
				self.instance.writeText(eRect(offset, 0, length, pointSize), foregroundColor, self.backgroundColor, self.font, caidlist[key][0], 2)
				offset = offset + length
		foregroundColor = self.clGrey
		length = len(newtxt) * (pointSize )
		self.instance.writeText(eRect(offset, 0, length, pointSize), foregroundColor, self.backgroundColor, self.font, newtxt, 0)
Ejemplo n.º 21
0
    def drawText(self, X, Y, W, H):
        self.instance.clear(self.bcolor)

        if not self.scolor is None:
            self.instance.writeText(
                eRect(X - self.soffset[0], Y - self.soffset[1], W,
                      H), self.scolor, self.bcolor, self.txfont, self.txtext,
                self.txtflags)
            self.instance.writeText(eRect(X, Y, W,
                                          H), self.fcolor, self.scolor,
                                    self.txfont, self.txtext, self.txtflags)
        else:
            self.instance.writeText(
                eRect(X - self.soffset[0], Y - self.soffset[1], W,
                      H), self.fcolor, self.bcolor, self.txfont, self.txtext,
                self.txtflags)
Ejemplo n.º 22
0
	def postWidgetCreate(self, instance):
		instance.setWrapAround(True)
		instance.selectionChanged.get().append(self.serviceChanged)
		instance.setContent(self.l)
		self.l.setSelectionClip(eRect(0, 0, 0, 0), False)
		self.l.setFont(0, self.serviceFont)
		self.setEventFontsize()
Ejemplo n.º 23
0
	def setMode(self, mode):
		self.mode = mode
		if mode == self.MODE_NORMAL:
			self.l.setItemHeight(self.ItemHeight)
			self.l.setVisualMode(eListboxServiceContent.visModeComplex)
			self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
			self.l.setElementPosition(self.l.celServiceName, eRect(0, 0, self.instance.size().width(), self.ItemHeight))
			self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
		else:
			self.l.setItemHeight(self.ItemHeight)
			self.l.setVisualMode(eListboxServiceContent.visModeComplex)
			self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
			self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, 50, self.ItemHeight))
			self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
			self.l.setElementPosition(self.l.celServiceName, eRect(60, 0, self.instance.size().width()-60, self.ItemHeight))
			self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
Ejemplo n.º 24
0
 def postWidgetCreate(self, instance):
     instance.setWrapAround(True)
     instance.selectionChanged.get().append(self.serviceChanged)
     instance.setContent(self.l)
     self.l.setFont(0, gFont("Regular", 20))
     self.l.setFont(1, gFont("Regular", 14))
     self.l.setSelectionClip(eRect(0, 0, 0, 0), False)
Ejemplo n.º 25
0
 def postWidgetCreate(self, instance):
     instance.setWrapAround(True)
     instance.selectionChanged.get().append(self.serviceChanged)
     instance.setContent(self.l)
     self.l.setSelectionClip(eRect(0, 0, 0, 0), False)
     self.l.setFont(0, self.serviceFont)
     self.setEventFontsize()
 def pull_updates(self):
     if self.instance is None:
         return
     self.instance.clear(self.backgroundColor)
     content = self.source.getContent()
     content_count = len(content)
     primetime = self.source.primetime
     if primetime == 1 and content_count == 1:
         primetime = 0
     y = 0
     a = 1
     for item in content:
         i = 0
         while i < 3:
             if self.columns.has_key(str(i)):
                 value = self.columns[str(i)]
                 self.instance.writeText(
                     eRect(value[0], y + int(
                         (self.rowHeight - value[4]) / 2), value[1],
                           self.rowHeight), value[2], self.backgroundColor,
                     value[3], item[value[5]], value[6])
             i += 1
         a += 1
         y += self.rowHeight
         if a == content_count and primetime == 1:
             y += self.primetimeoffset
Ejemplo n.º 27
0
 def postWidgetCreate(self, instance):
     instance.setWrapAround(True)
     instance.selectionChanged.get().append(self.serviceChanged)
     instance.setContent(self.l)
     self.l.setFont(0, gFont("Regular", 20))
     self.l.setFont(1, gFont("Regular", 14))
     self.l.setSelectionClip(eRect(0, 0, 0, 0), False)
Ejemplo n.º 28
0
def setThumbPixmap(dest, ptr):
    pic_size = ptr.size()
    pic_width = pic_size.width()
    pic_height = pic_size.height()
    dest_size = dest.getSize()
    dest_width = dest_size.width()
    dest_height = dest_size.height()
    if pic_width == dest_width:
        dest_rect = eRect(0, (dest_height - pic_height) / 2, pic_width,
                          pic_height)
    else:
        dest_rect = eRect((dest_width - pic_width) / 2, 0, pic_width,
                          pic_height)
    dest.instance.setScale(1)
    dest.instance.setScaleDest(dest_rect)
    dest.instance.setPixmap(ptr)
Ejemplo n.º 29
0
	def recalcEntrySize(self):
		esize = self.l.getItemSize()
		width = esize.width()
		height = esize.height()
		fontSize = self.eventFontSize + self.epgConfig.eventfs.value
		dateScale, timesScale, wideScale = parameters.get("EPGSingleColumnScales", (5.7, 6.0, 1.5))
		dateW = int(fontSize * dateScale)
		timesW = int(fontSize * timesScale)
		left, dateWidth, sepWidth, timesWidth, breakWidth = parameters.get("EPGSingleColumnSpecs", (0, dateW, 5, timesW, 20))
		if config.usage.time.wide.value:
			timesWidth = int(timesWidth * wideScale)
		self._weekdayRect = eRect(left, 0, dateWidth, height)
		left += dateWidth + sepWidth
		self._datetimeRect = eRect(left, 0, timesWidth, height)
		left += timesWidth + breakWidth
		self._descrRect = eRect(left, 0, width - left, height)
		self.showend = True  # This is not an unused variable. It is a flag used by EPGSearch plugin
Ejemplo n.º 30
0
 def draw(self, caidlist):
     offset = 0
     pointSize = self.font.pointSize
     for key in caidlist:
         if caidlist[key][0]:
             length = len(caidlist[key][0]) * pointSize
             if caidlist[key][1] == 0:
                 bg = self.backgroundColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             elif caidlist[key][1] == 1:
                 bg = self.emmColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             else:
                 bg = self.ecmColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             self.instance.writeText(eRect(offset, 0, length - 1, pointSize), self.foregroundColor, bg, self.font, caidlist[key][0], 2)
             offset = offset + length
Ejemplo n.º 31
0
 def draw(self, caidlist):
     offset = 0
     pointSize = self.font.pointSize
     for key in caidlist:
         if caidlist[key][0]:
             length = len(caidlist[key][0]) * pointSize
             if caidlist[key][1] == 0:
                 bg = self.backgroundColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             elif caidlist[key][1] == 1:
                 bg = self.emmColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             else:
                 bg = self.ecmColor
                 self.instance.fillRect(eRect(offset + 1, 2, length - 3, pointSize + 1), bg)
             self.instance.writeText(eRect(offset, 0, length - 1, pointSize), self.foregroundColor, bg, self.font, caidlist[key][0], 2)
             offset = offset + length
Ejemplo n.º 32
0
 def __init__(self):
     GUIComponent.__init__(self)
     self.l = eListboxPythonMultiContent()
     self.l.setSelectionClip(eRect(0, 0, 0, 0))
     self.foreColor = 0xffc000
     self.backColor = 0x000000
     self.font = gFont("Regular", 20)
     self.itemHeight = 25
Ejemplo n.º 33
0
	def postWidgetCreate(self, instance):
		instance.setWrapAround(True)
		self.selectionChanged_conn = instance.selectionChanged.connect(self.serviceChanged)
		instance.setContent(self.l)
		tlf = TemplatedListFonts()
		self.l.setFont(0, gFont(tlf.face(tlf.MEDIUM), tlf.size(tlf.MEDIUM)))
		self.l.setFont(1, gFont(tlf.face(tlf.SMALL), tlf.size(tlf.SMALL)))
		self.l.setSelectionClip(eRect(0,0,0,0), False)
Ejemplo n.º 34
0
	def setVideoWindow(self, x, y, w, h):
		w = self._adjustVideoLimits(w, 128, 1280)
		h = self._adjustVideoLimits(h, 72, 720)
		x = self._adjustVideoLimits(x, 0, 1280)
		y = self._adjustVideoLimits(y, 0, 720)

		Log.i("x=%s, y=%s, w=%s, h=%s" % (x, y, w, h))
		self.scaleRect(eRect(x, y, w, h), self._doSetVideoWindow)
Ejemplo n.º 35
0
 def setMode(self, mode):
     self.mode = mode
     self.l.setItemHeight(self.ItemHeight)
     self.l.setVisualMode(eListboxServiceContent.visModeComplex)
     if mode == self.MODE_NORMAL:
         if config.usage.show_event_progress_in_servicelist.value:
             self.l.setElementPosition(self.l.celServiceEventProgressbar,
                                       eRect(0, 0, 52, self.ItemHeight))
         else:
             self.l.setElementPosition(self.l.celServiceEventProgressbar,
                                       eRect(0, 0, 0, 0))
         self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
         self.l.setElementPosition(
             self.l.celServiceName,
             eRect(0, 0,
                   self.instance.size().width(), self.ItemHeight))
         self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
     else:
         if config.usage.show_event_progress_in_servicelist.value:
             self.l.setElementPosition(self.l.celServiceEventProgressbar,
                                       eRect(60, 0, 52, self.ItemHeight))
         else:
             self.l.setElementPosition(self.l.celServiceEventProgressbar,
                                       eRect(60, 0, 0, 0))
         self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
         self.l.setElementFont(self.l.celServiceNumber,
                               self.ServiceNumberFont)
         self.l.setElementPosition(self.l.celServiceNumber,
                                   eRect(0, 0, 50, self.ItemHeight))
         self.l.setElementPosition(
             self.l.celServiceName,
             eRect(60, 0,
                   self.instance.size().width() - 60, self.ItemHeight))
         self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
Ejemplo n.º 36
0
	def initDatabase(self):
		self.myTimer.start(200)
		if self.lamedb.databaseState < 3:
			self.setTitle(_("reading lamedb - please wait - get transponders"))
			return
		elif self.lamedb.databaseState == 3:
			self.setTitle(_("reading lamedb - please wait - get services %s"%str(self.lamedb.readcnt)))
			return
		elif self.lamedb.databaseState == 4:
			self.setTitle(_("reading lamedb - please wait - build database"))
			self.lamedb.databaseState = 5
			return
		self.myTimer.stop()
		self.newServiceList = self["list"].buildServicesList(self.database)
		self["list"].setEntries(self.newServiceList)
		
		row = self["list"].getCurrent()
		if row is None:
			return
		head = []
		for x in xrange(2,len(row)):	#bei zwei anfangen, weil eins die Laufschrift ist
			head.append([row[x][1]-row[1][3],row[x][3],""])
		for x in xrange(len(self.row)):
			head[x][2]= self.row[x][1]
			if len(self.row[x])>3:		#TODO Graphik
				head[x].append(True)		#Platzhalter für Graphik
				
		self["laufschrift"].setEntry()
		self["head"].setEntries(head)
		if self.currentSelectedColumn:
			data = self["head"].getCurrent()
			data = data[self.currentSelectedColumn]
			self["head"].l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)
		else:
			self["head"].l.setSelectionClip(eRect(0, 0, 0, 0))
#			self["laufschrift"]..l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)
		
		self.initSort()
		if self.usk is not None:
			for idx in xrange(len(self.newServiceList)):
				if self.newServiceList[idx][0] == self.usk:
					self["list"].instance.moveSelectionTo(idx)
					break
		self.updateSelection()
		self.setTitle(self.mainTitle)
Ejemplo n.º 37
0
	def setMode(self, mode):
		self.mode = mode
		self.setItemsPerPage()
		self.l.setItemHeight(self.ItemHeight)
		self.l.setVisualMode(eListboxServiceContent.visModeComplex)

		progressBarWidth = 52
		rowWidth = self.instance.size().width() - 30 #scrollbar is fixed 20 + 10 Extra marge

		if mode == self.MODE_NORMAL or not config.usage.show_channel_numbers_in_servicelist.getValue():
			channelNumberWidth = 0
			channelNumberSpace = 0
		else:
			channelNumberWidth = 55
			channelNumberSpace = 10

		self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, channelNumberWidth, self.ItemHeight))

		if "left" in config.usage.show_event_progress_in_servicelist.getValue():
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(channelNumberWidth+channelNumberSpace, 0, progressBarWidth , self.ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace+progressBarWidth+10, 0, rowWidth - (channelNumberWidth+channelNumberSpace+progressBarWidth+10), self.ItemHeight))
		elif "right" in config.usage.show_event_progress_in_servicelist.getValue():
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(rowWidth-progressBarWidth, 0, progressBarWidth, self.ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace+progressBarWidth+10), self.ItemHeight))
		else:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(0, 0, 0, 0))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace), self.ItemHeight))
		self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
		self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
		self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
		if "perc" in config.usage.show_event_progress_in_servicelist.getValue():
			self.l.setElementFont(self.l.celServiceEventProgressbar, self.ServiceInfoFont)
Ejemplo n.º 38
0
	def setVideoWindow(self, x, y, w, h):
		w = self._adjustLimits(w, 128, 1280)
		h = self._adjustLimits(h, 72, 720)
		x = self._adjustLimits(x, 0, 1280)
		y = self._adjustLimits(y, 0, 720)

		print "[Hbbtv].setVideoWindow x=%s, y=%s, w=%s, h=%s" % (x, y, w, h)
		if self.__browser:
			self.__browser.scaleRect(eRect(x, y, w, h), self._doSetVideoWindow)
Ejemplo n.º 39
0
	def right(self):
		print("right")
		if self.currentSelectedColumn < len(self.row):
			data = self["head"].getCurrent()
			if data is  None:
				return
			self.currentSelectedColumn += 1
			data = data[self.currentSelectedColumn]
			self["head"].l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)	
Ejemplo n.º 40
0
 def __init__(self):
     GUIComponent.__init__(self)
     sizes = componentSizes[componentSizes.TIMELINE_TEXT]
     height = sizes.get(componentSizes.ITEM_HEIGHT, 25)
     self.l = eListboxPythonMultiContent()
     self.l.setSelectionClip(eRect(0, 0, 0, 0))
     self.l.setItemHeight(height)
     tlf = TemplatedListFonts()
     self.l.setFont(0, gFont(tlf.face(tlf.MEDIUM), tlf.size(tlf.MEDIUM)))
Ejemplo n.º 41
0
 def postWidgetCreate(self, instance):
     instance.setWrapAround(True)
     self.selectionChanged_conn = instance.selectionChanged.connect(
         self.serviceChanged)
     instance.setContent(self.l)
     tlf = TemplatedListFonts()
     self.l.setFont(0, gFont(tlf.face(tlf.MEDIUM), tlf.size(tlf.MEDIUM)))
     self.l.setFont(1, gFont(tlf.face(tlf.SMALL), tlf.size(tlf.SMALL)))
     self.l.setSelectionClip(eRect(0, 0, 0, 0), False)
Ejemplo n.º 42
0
	def __init__(self):
		GUIComponent.__init__(self)
		sizes = componentSizes[componentSizes.TIMELINE_TEXT]
		height = sizes.get(componentSizes.ITEM_HEIGHT, 25)
		self.l = eListboxPythonMultiContent()
		self.l.setSelectionClip(eRect(0, 0, 0, 0))
		self.l.setItemHeight(height);
		tlf = TemplatedListFonts()
		self.l.setFont(0, gFont(tlf.face(tlf.MEDIUM), tlf.size(tlf.MEDIUM)))
Ejemplo n.º 43
0
	def setItemsPerPage(self):
		if self.listHeight > 0:
			itemHeight = self.listHeight / config.movielist.itemsperpage.value
		else:
			itemHeight = 25  # some default (270/5)
		self.itemHeight = itemHeight
		self.l.setItemHeight(itemHeight)
		self.l.setSelectionClip(eRect(self.listPos, 0, self.listWidth - self.listPos, itemHeight), False)
		self.instance.resize(eSize(self.listWidth, self.listHeight / itemHeight * itemHeight))
Ejemplo n.º 44
0
	def right(self):
		print "right"
		if self.currentSelectedColumn < len(self.row):
			data = self["head"].getCurrent()
			if data is  None:
				return
			self.currentSelectedColumn += 1
			data = data[self.currentSelectedColumn]
			self["head"].l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)	
Ejemplo n.º 45
0
	def changed(self, what=""):
		if self.instance is None:
			return
		if self.start:
			offset = eDVBVolumecontrol.getInstance().getVolume()
			if self.allColors.has_key(str(offset)):
				self.instance.clear(self.bgColor)
				color = parseColor(self.allColors.get(str(offset)))
				self.instance.fillRect(eRect(((2*offset)-10), 0, 10, 25), color)
Ejemplo n.º 46
0
	def setMode(self, mode):
		show_two_lines = config.usage.servicelist_twolines.value and mode == self.MODE_FAVOURITES
		if config.usage.servicelist_number_of_services.value == "by skin":
			ItemHeight = self.ItemHeight * (2 if show_two_lines else 1)
			ServiceNameFont = self.ServiceNameFont
			ServiceNumberFont = self.ServiceNumberFont
			ServiceInfoFont = self.ServiceInfoFont
		else:
			ItemHeight = int(self.instance.size().height() / int(config.usage.servicelist_number_of_services.value)) * (2 if show_two_lines else 1)
			FontFactor = ItemHeight * 100 / self.ItemHeight
			ServiceNameFont = gFont(self.ServiceNameFont.family, int(self.ServiceNameFont.pointSize * FontFactor/(200 if show_two_lines else 100)))
			ServiceNumberFont = gFont(self.ServiceNumberFont.family, int(self.ServiceNumberFont.pointSize * FontFactor/(200 if show_two_lines else 100)))
			ServiceInfoFont = gFont(self.ServiceInfoFont.family, int(self.ServiceInfoFont.pointSize * FontFactor/(200 if show_two_lines else 100)))

		self.mode = mode
		self.l.setItemHeight(ItemHeight)
		self.l.setVisualMode(eListboxServiceContent.visModeComplex)

		if config.usage.service_icon_enable.value:
			self.l.setGetPiconNameFunc(getPiconName)
		else:
			self.l.setGetPiconNameFunc(None)

		rowWidth = self.instance.size().width() - 30 #scrollbar is fixed 20 + 10 Extra marge

		if mode is self.MODE_NORMAL or not config.usage.show_channel_numbers_in_servicelist.value:
			channelNumberWidth = 0
			channelNumberSpace = 0
		else:
			channelNumberWidth = config.usage.alternative_number_mode.value and getTextBoundarySize(self.instance, ServiceNumberFont, self.instance.size(), "0000").width() or getTextBoundarySize(self.instance, self.ServiceNumberFont, self.instance.size(), "00000").width()
			channelNumberSpace = self.fieldMargins

		self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, channelNumberWidth, ItemHeight))

		progressWidth = self.progressBarWidth
		if "perc" in config.usage.show_event_progress_in_servicelist.value:
			progressWidth = self.progressPercentWidth or self.progressBarWidth

		if "left" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(channelNumberWidth+channelNumberSpace, 0, progressWidth , ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins, 0, rowWidth - (channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins), ItemHeight))
		elif "right" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(rowWidth - progressWidth, 0, progressWidth, ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins), ItemHeight))
		else:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(0, 0, 0, 0))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace), ItemHeight))

		self.l.setElementFont(self.l.celServiceName, ServiceNameFont)
		self.l.setElementFont(self.l.celServiceNumber, ServiceNumberFont)
		self.l.setElementFont(self.l.celServiceInfo, ServiceInfoFont)
		if "perc" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementFont(self.l.celServiceEventProgressbar, ServiceInfoFont)
		self.l.setShowTwoLines(show_two_lines)
		self.l.setHideNumberMarker(config.usage.hide_number_markers.value)
		self.l.setServiceTypeIconMode(int(config.usage.servicetype_icon_mode.value))
		self.l.setCryptoIconMode(int(config.usage.crypto_icon_mode.value))
		self.l.setRecordIndicatorMode(int(config.usage.record_indicator_mode.value))
		self.l.setColumnWidth(-1 if show_two_lines else int(config.usage.servicelist_column.value))
Ejemplo n.º 47
0
	def initDatabase(self):
		self.myTimer.start(200)
		if self.lamedb.databaseState < 3:
			self.setTitle(_("reading lamedb - please wait - get transponders"))
			return
		elif self.lamedb.databaseState == 3:
			self.setTitle(_("reading lamedb - please wait - get services %s"%str(self.lamedb.readcnt)))
			return
		elif self.lamedb.databaseState == 4:
			self.setTitle(_("reading lamedb - please wait - build database"))
			self.lamedb.databaseState = 5
			return
		self.myTimer.stop()
		self.newServiceList = self["list"].buildServicesList(self.database)
		self["list"].setEntries(self.newServiceList)
		
		row = self["list"].getCurrent()
		if row is None:
			return
		head = []
		for x in xrange(2, len(row)):
			head.append([row[x][1]-row[1][3], row[x][3], ""])
		for x in xrange(len(self.row)):
			head[x][2]= self.row[x][1]
			if len(self.row[x])>3:
				head[x].append(True)
				
		self["newscaster"].setEntry()
		self["head"].setEntries(head)
		if self.currentSelectedColumn:
			data = self["head"].getCurrent()
			data = data[self.currentSelectedColumn]
			self["head"].l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)
		else:
			self["head"].l.setSelectionClip(eRect(0, 0, 0, 0))
		
		self.initSort()
		if self.usk is not None:
			for idx in xrange(len(self.newServiceList)):
				if self.newServiceList[idx][0] == self.usk:
					self["list"].instance.moveSelectionTo(idx)
					break
		self.updateSelection()
		self.setTitle(self.mainTitle)
Ejemplo n.º 48
0
	def __init__(self):
		GUIComponent.__init__(self)
		self.l = eListboxPythonMultiContent()
		self.l.setSelectionClip(eRect(0,0,0,0))
		if config.skin.xres.value == 1920:
			self.l.setItemHeight(35);
			self.l.setFont(0, gFont("Regular", 30))
		else:
			self.l.setItemHeight(25);
			self.l.setFont(0, gFont("Regular", 20))
Ejemplo n.º 49
0
	def __init__(self):
		GUIComponent.__init__(self)
		self.l = eListboxPythonMultiContent()
		self.l.setSelectionClip(eRect(0, 0, 0, 0))
		self.l.setItemHeight(25);
		self.foreColor = 0xffc000
		self.backColor = 0x000000
		self.time_base = 0
		self.time_epoch = 0
		self.font = gFont("Regular", 20)
Ejemplo n.º 50
0
	def left(self):
		print("left")
		if self.currentSelectedColumn:
			data = self["head"].getCurrent()
			if data is  None:
				return
			self.currentSelectedColumn -= 1
			if self.currentSelectedColumn:
				data_c = data[self.currentSelectedColumn]
				data_c2 = data[self.currentSelectedColumn +1]
				x1 = data_c2[1]
				x0 = data_c[1]
				if x0 < 0:
					x0 = 0
				self["head"].l.setSelectionClip(eRect(x0, data_c[0], x1-x0, data_c[4]), True)
			else:
				self["head"].l.setSelectionClip(eRect(0, 0, 0, 0), True)
		elif self["head"].getCurrent() is not None:
			self["head"].l.setSelectionClip(eRect(0, 0, 0, 0))
Ejemplo n.º 51
0
	def setMode(self, mode):
		
		self.mode = mode
		self.l.setItemHeight(self.ItemHeight)
		self.l.setVisualMode(eListboxServiceContent.visModeComplex)
		
		
		piconw = 0
		if config.usage.service_icon_enable.value:
			self.l.setGetPiconNameFunc(getPiconName)
			piconw = 67
			if config.skin.xres.value == 1920:
				piconw = 92
		else:
			self.l.setGetPiconNameFunc(None)
		
				
		rowWidth = self.instance.size().width() - 30 #scrollbar is fixed 20 + 10 Extra marge
		channelNumberSpace = 10
		self.progressBarWidth = 52
		self.fieldMargins = 0
			
		if mode == self.MODE_NORMAL:
			channelNumberWidth = 0
		else: 
			if config.skin.xres.value == 1920:
				channelNumberWidth = 70
			else:
				channelNumberWidth = 50
				
		self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, channelNumberWidth, self.ItemHeight))
		
		if config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(channelNumberWidth+channelNumberSpace + piconw, 0, self.progressBarWidth , self.ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace + self.fieldMargins, 0, rowWidth - (channelNumberWidth+channelNumberSpace + self.progressBarWidth + self.fieldMargins), self.ItemHeight))
		else:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(0, 0, 0, 0))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace), self.ItemHeight))
		
		self.l.setElementFont(self.l.celServiceName, self.ServiceNameFont)
		self.l.setElementFont(self.l.celServiceNumber, self.ServiceNumberFont)
		self.l.setElementFont(self.l.celServiceInfo, self.ServiceInfoFont)
		self.l.setHideNumberMarker(config.usage.hide_number_markers.value)
Ejemplo n.º 52
0
def setFullPixmap(dest, ptr, scaleSize, aspectRatio):
    if scaleSize.isValid() and aspectRatio.isValid():
        pic_scale_size = ptr.size().scale(scaleSize, aspectRatio)
        dest_size = dest.getSize()
        dest_width = dest_size.width()
        dest_height = dest_size.height()
        pic_scale_width = pic_scale_size.width()
        pic_scale_height = pic_scale_size.height()
        if pic_scale_width == dest_width:
            dest_rect = eRect(0, (dest_height - pic_scale_height) / 2,
                              pic_scale_width, pic_scale_height)
        else:
            dest_rect = eRect((dest_width - pic_scale_width) / 2, 0,
                              pic_scale_width, pic_scale_height)
        dest.instance.setScale(1)
        dest.instance.setScaleDest(dest_rect)
    else:
        dest.instance.setScale(0)
    dest.instance.setPixmap(ptr)
Ejemplo n.º 53
0
	def setMode(self, mode):
		if config.usage.servicelist_number_of_services.value == "by skin":
			ItemHeight = self.ItemHeight
			ServiceNameFont = self.ServiceNameFont
			ServiceNumberFont = self.ServiceNumberFont
			ServiceInfoFont = self.ServiceInfoFont
		else:
			ItemHeight = int(self.instance.size().height() / int(config.usage.servicelist_number_of_services.value))
			FontFactor = ItemHeight * 100 / self.ItemHeight
			ServiceNameFont = gFont(self.ServiceNameFont.family, int(self.ServiceNameFont.pointSize * FontFactor/100))
			ServiceNumberFont = gFont(self.ServiceNumberFont.family, int(self.ServiceNumberFont.pointSize * FontFactor/100))
			ServiceInfoFont = gFont(self.ServiceInfoFont.family, int(self.ServiceInfoFont.pointSize * FontFactor/100))

		self.mode = mode
		self.l.setItemHeight(ItemHeight)
		self.l.setVisualMode(eListboxServiceContent.visModeComplex)

		if config.usage.service_icon_enable.value:
			self.l.setGetPiconNameFunc(getPiconName)
		else:
			self.l.setGetPiconNameFunc(None)

		rowWidth = self.instance.size().width() - 30 #scrollbar is fixed 20 + 10 Extra marge

		if mode == self.MODE_NORMAL or not config.usage.show_channel_numbers_in_servicelist.value:
			channelNumberWidth = 0
			channelNumberSpace = 0
		else:
			channelNumberWidth = config.usage.alternative_number_mode.value and getTextBoundarySize(self.instance, ServiceNumberFont, self.instance.size(), "0000").width() or getTextBoundarySize(self.instance, self.ServiceNumberFont, self.instance.size(), "00000").width()
			channelNumberSpace = self.fieldMargins

		self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 0, channelNumberWidth, ItemHeight))

		progressWidth = self.progressBarWidth
		if "perc" in config.usage.show_event_progress_in_servicelist.value:
			progressWidth = self.progressPercentWidth or self.progressBarWidth

		if "left" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(channelNumberWidth+channelNumberSpace, 0, progressWidth , ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins, 0, rowWidth - (channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins), ItemHeight))
		elif "right" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(rowWidth - progressWidth, 0, progressWidth, ItemHeight))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace + progressWidth + self.fieldMargins), ItemHeight))
		else:
			self.l.setElementPosition(self.l.celServiceEventProgressbar, eRect(0, 0, 0, 0))
			self.l.setElementPosition(self.l.celServiceName, eRect(channelNumberWidth+channelNumberSpace, 0, rowWidth - (channelNumberWidth+channelNumberSpace), ItemHeight))

		self.l.setElementFont(self.l.celServiceName, ServiceNameFont)
		self.l.setElementFont(self.l.celServiceNumber, ServiceNumberFont)
		self.l.setElementFont(self.l.celServiceInfo, ServiceInfoFont)
		if "perc" in config.usage.show_event_progress_in_servicelist.value:
			self.l.setElementFont(self.l.celServiceEventProgressbar, ServiceInfoFont)
		self.l.setHideNumberMarker(config.usage.hide_number_markers.value)
		self.l.setServiceTypeIconMode(int(config.usage.servicetype_icon_mode.value))
		self.l.setCryptoIconMode(int(config.usage.crypto_icon_mode.value))
		self.l.setRecordIndicatorMode(int(config.usage.record_indicator_mode.value))
		self.l.setColumnWidth(int(config.usage.servicelist_column.value))
Ejemplo n.º 54
0
	def postWidgetCreate(self, instance):
		instance.setWrapAround(True)
		instance.selectionChanged.get().append(self.serviceChanged)
		instance.setContent(self.l)
		if config.skin.xres.value == 1920:
			self.l.setFont(0, gFont("Regular", 28))
			self.l.setFont(1, gFont("Regular", 18))
		else:
			self.l.setFont(0, gFont("Regular", 20))
			self.l.setFont(1, gFont("Regular", 14))
		self.l.setSelectionClip(eRect(0,0,0,0), False)
Ejemplo n.º 55
0
	def left(self):
		print "left"
		if self.currentSelectedColumn:
			data = self["head"].getCurrent()
			if data is  None:
				return
			self.currentSelectedColumn -= 1
			if self.currentSelectedColumn:
				data_c = data[self.currentSelectedColumn]
				data_c2 = data[self.currentSelectedColumn +1]
				x1 = data_c2[1]
				x0 = data_c[1]
				if x0 < 0:
					x0 = 0
				self["head"].l.setSelectionClip(eRect(x0, data_c[0], x1-x0, data_c[4]), True)
			else:
				self["head"].l.setSelectionClip(eRect(0,0,0,0), True)
#				self["laufschrift"]..l.setSelectionClip(eRect(data[1], data[0], data[3], data[4]), True)
		elif self["head"].getCurrent() is not None:
			self["head"].l.setSelectionClip(eRect(0,0,0,0))
Ejemplo n.º 56
0
	def hand(self):
		volumevalue = eDVBVolumecontrol.getInstance().getVolume()
		width = self.instance.size().width()
		height = self.instance.size().height()
		r = (min(width, height) / 2)
		self.wh = r/10
		i = 0
		if volumevalue > 25:
			i = 25
			self.instance.fillRect(eRect(width/2, 0, r, r), self.bColor)
		if volumevalue > 50:
			i = 50
			self.instance.fillRect(eRect(width/2, width/2, r, r), self.bColor)
		if volumevalue > 75:
			i = 75
			self.instance.fillRect(eRect(0, width/2, r, r), self.bColor)			
		i = i*0.6	
		if volumevalue > 0:
			while i <= self.numval:
				(endX, endY,) = self.calculate(i, r, r)
				self.draw_line(r, r, endX, endY)
				i = i + 1	
Ejemplo n.º 57
0
	def updateSelection(self):
		row = self["list"].getCurrent()
		if row is None:
			self.usk = None
			self.cur_service = None
			return
		self.usk = self["list"].getCurrent()[0]
		self.cur_service = self.database[self.usk[:16]]["services"][self.usk]
		firstColumn = row[1]	#wir fangen bei der zweiten Spaltean, das ServicetypeIcon wird also nicht mit selectiert
		lastColumn = row[len(row)-1]
#sollte doch das Icon mit selectiert werden, dann ist darauf zu achten, das das Icon KEINEN Rand hat und lastColumn[0] anstat firstColumb[0] verwendet werden muss
# um eine korrekte Anzeige des Selectionsbalken zu erhalten
		self["list"].l.setSelectionClip(eRect(firstColumn[1], lastColumn[0], lastColumn[1]+lastColumn[3], lastColumn[4]), True) #
		self.getInfo()
Ejemplo n.º 58
0
	def postWidgetCreate(self, instance):
		if self.type == EPG_TYPE_GRAPH:
			self.setOverjump_Empty(self.overjump_empty)
			instance.setWrapAround(True)
			instance.selectionChanged.get().append(self.serviceChanged)
			instance.setContent(self.l)
			self.l.setSelectionClip(eRect(0,0,0,0), False)
			self.setServiceFontsize()
			self.setEventFontsize()
		else:
			instance.setWrapAround(False)
			instance.selectionChanged.get().append(self.selectionChanged)
			instance.setContent(self.l)
			self.setEventFontsize()