示例#1
0
 def icon(self):
     if self.iconstr:
         from Tools.LoadPixmap import LoadPixmap
         return LoadPixmap(os.path.join(self.path, self.iconstr))
     else:
         return self._icon
示例#2
0
    def __init__(self, session, artItem, addParams):
        self.session = session
        self.artItem = artItem

        #############################################
        # calculate num of rich desc items and pages
        #############################################
        self.richDesc = {
            'items_count': 0,
            'pages_count': 0,
            'page': 0,
            'avalable_params': []
        }
        for item in ArticleContent.RICH_DESC_PARAMS:
            if item in artItem.richDescParams:
                self.richDesc['items_count'] += 1
                self.richDesc['avalable_params'].append(item)
        # yes I know, len(self.richDesc['avalable_params']) == self.richDesc['items_count']

        self.richDesc['pages_count'] = self.richDesc[
            'items_count'] / self.MAX_RICH_DESC_ROW_NUM
        if self.richDesc['items_count'] % self.MAX_RICH_DESC_ROW_NUM > 0:
            self.richDesc['pages_count'] += 1
        if self.richDesc['items_count'] < self.MAX_RICH_DESC_ROW_NUM:
            self.richDesc['rows_count'] = self.richDesc['items_count']
        else:
            self.richDesc['rows_count'] = self.MAX_RICH_DESC_ROW_NUM
        #############################################

        self.__prepareSkin()
        Screen.__init__(self, session)

        for idx in range(self.richDesc['rows_count']):
            self["dsc_label_{0}".format(idx + 1)] = Label("")
            self["dsc_text_{0}".format(idx + 1)] = Label("")

        self["title"] = Label("")
        self["text"] = ScrollLabel(" ")
        self["page_marker"] = Cover3()
        #############################################
        # COVER
        #############################################
        self["cover"] = Cover()
        self.cover = {
            'src': '',
            'downloader': None,
            'files_to_remove': [],
            'image_path': ''
        }
        try:
            self.cover['image_path'] = os.path.join(
                addParams['buffering_path'], '.iptv_buffering.jpg')
        except Exception:
            printExc()
        #############################################

        #############################################
        # SPINER
        #############################################
        try:
            for idx in range(5):
                spinnerName = "spinner"
                if idx: spinnerName += '_%d' % idx
                self[spinnerName] = Cover3()
        except Exception:
            printExc()
        self.spinner = {}
        self.spinner["pixmap"] = [
            LoadPixmap(GetIconDir('radio_button_on.png')),
            LoadPixmap(GetIconDir('radio_button_off.png'))
        ]
        # spinner timer
        self.spinner["timer"] = eTimer()
        self.spinner["timer_conn"] = eConnectCallback(
            self.spinner["timer"].timeout, self.updateSpinner)
        self.spinner["timer_interval"] = 200
        self.spinner["enabled"] = False
        #############################################

        self["actions"] = ActionMap(
            [
                'IPTVAlternateVideoPlayer', 'MoviePlayerActions',
                'MediaPlayerActions', 'WizardActions', 'DirectionActions'
            ], {
                "ok": self.key_ok,
                "back": self.key_back,
                "left": self.key_left,
                "right": self.key_right,
                "up": self.key_up,
                "down": self.key_down,
            }, -1)

        self.onClose.append(self.__onClose)
        #self.onShow.append(self.onStart)
        self.onLayoutFinish.append(self.onStart)
示例#3
0
 def applySkin(self, desktop, parent):
     attribs = []
     if self.skinAttributes is not None:
         attribs = []
         for (attrib, value) in self.skinAttributes:
             if attrib == "foregroundColorMarked":
                 self.l.setColor(eListboxServiceContent.markedForeground,
                                 parseColor(value))
             elif attrib == "foregroundColorMarkedSelected":
                 self.l.setColor(
                     eListboxServiceContent.markedForegroundSelected,
                     parseColor(value))
             elif attrib == "backgroundColorMarked":
                 self.l.setColor(eListboxServiceContent.markedBackground,
                                 parseColor(value))
             elif attrib == "backgroundColorMarkedSelected":
                 self.l.setColor(
                     eListboxServiceContent.markedBackgroundSelected,
                     parseColor(value))
             elif attrib == "foregroundColorServiceNotAvail":
                 self.l.setColor(eListboxServiceContent.serviceNotAvail,
                                 parseColor(value))
             elif attrib == "foregroundColorEvent" or attrib == "colorServiceDescription":
                 self.l.setColor(eListboxServiceContent.eventForeground,
                                 parseColor(value))
             elif attrib == "foregroundColorEventSelected" or attrib == "colorServiceDescriptionSelected":
                 self.l.setColor(
                     eListboxServiceContent.eventForegroundSelected,
                     parseColor(value))
             elif attrib == "foregroundColorEventborder":
                 self.l.setColor(
                     eListboxServiceContent.eventborderForeground,
                     parseColor(value))
             elif attrib == "foregroundColorEventborderSelected":
                 self.l.setColor(
                     eListboxServiceContent.eventborderForegroundSelected,
                     parseColor(value))
             elif attrib == "colorEventProgressbar":
                 self.l.setColor(
                     eListboxServiceContent.serviceEventProgressbarColor,
                     parseColor(value))
             elif attrib == "colorEventProgressbarSelected":
                 self.l.setColor(
                     eListboxServiceContent.
                     serviceEventProgressbarColorSelected,
                     parseColor(value))
             elif attrib == "colorEventProgressbarBorder":
                 self.l.setColor(
                     eListboxServiceContent.
                     serviceEventProgressbarBorderColor, parseColor(value))
             elif attrib == "colorEventProgressbarBorderSelected":
                 self.l.setColor(
                     eListboxServiceContent.
                     serviceEventProgressbarBorderColorSelected,
                     parseColor(value))
             elif attrib == "picServiceEventProgressbar":
                 pic = LoadPixmap(resolveFilename(SCOPE_ACTIVE_SKIN, value))
                 if pic:
                     self.l.setPixmap(self.l.picServiceEventProgressbar,
                                      pic)
             elif attrib == "serviceItemHeight":
                 self.ItemHeight = int(value)
             elif attrib == "serviceNameFont":
                 font = parseFont(value, ((1, 1), (1, 1)))
                 self.ServiceNameFontName = font.family
                 self.ServiceNameFontSize = font.pointSize
             elif attrib == "serviceInfoFont":
                 font = parseFont(value, ((1, 1), (1, 1)))
                 self.ServiceInfoFontName = font.family
                 self.ServiceInfoFontSize = font.pointSize
             elif attrib == "serviceNumberFont":
                 font = parseFont(value, ((1, 1), (1, 1)))
                 self.ServiceNumberFontName = font.family
                 self.ServiceNumberFontSize = font.pointSize
             else:
                 attribs.append((attrib, value))
         self.skinAttributes = attribs
         self.setServiceFontsize()
     rc = GUIComponent.applySkin(self, desktop, parent)
     self.listHeight = self.instance.size().height()
     self.listWidth = self.instance.size().width()
     self.setItemsPerPage()
     return rc
示例#4
0
    def __init__(self, session, title="", **kwargs):
        Screen.__init__(self, session)
        self.setTitle(_(title))
        self.keys_list = []
        self.shiftkeys_list = []
        self.lang = language.getLanguage()
        self.nextLang = None
        self.shiftMode = False
        self.selectedKey = 0
        self.smsChar = None
        self.sms = NumericalTextInput(self.smsOK)

        self.key_bg = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_bg.png"))
        self.key_sel = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_sel.png"))
        self.key_backspace = LoadPixmap(path=resolveFilename(
            SCOPE_ACTIVE_SKIN, "buttons/vkey_backspace.png"))
        self.key_all = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_all.png"))
        self.key_clr = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_clr.png"))
        self.key_esc = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_esc.png"))
        self.key_ok = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_ok.png"))
        self.key_shift = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_shift.png"))
        self.key_shift_sel = LoadPixmap(path=resolveFilename(
            SCOPE_ACTIVE_SKIN, "buttons/vkey_shift_sel.png"))
        self.key_space = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_space.png"))
        self.key_left = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_left.png"))
        self.key_right = LoadPixmap(
            path=resolveFilename(SCOPE_ACTIVE_SKIN, "buttons/vkey_right.png"))

        self.keyImages = {
            "BACKSPACE": self.key_backspace,
            "ALL": self.key_all,
            "EXIT": self.key_esc,
            "OK": self.key_ok,
            "SHIFT": self.key_shift,
            "SPACE": self.key_space,
            "LEFT": self.key_left,
            "RIGHT": self.key_right
        }
        self.keyImagesShift = {
            "BACKSPACE": self.key_backspace,
            "CLEAR": self.key_clr,
            "EXIT": self.key_esc,
            "OK": self.key_ok,
            "SHIFT": self.key_shift_sel,
            "SPACE": self.key_space,
            "LEFT": self.key_left,
            "RIGHT": self.key_right
        }

        self["country"] = StaticText("")
        self["header"] = Label()
        self["text"] = Input(currPos=len(
            kwargs.get("text", "").decode("utf-8", 'ignore')),
                             allMarked=False,
                             **kwargs)
        self["list"] = VirtualKeyBoardList([])

        self["actions"] = NumberActionMap(
            [
                "OkCancelActions", "WizardActions", "ColorActions",
                "KeyboardInputActions", "InputBoxActions", "InputAsciiActions"
            ], {
                "gotAsciiCode": self.keyGotAscii,
                "ok": self.okClicked,
                "cancel": self.exit,
                "left": self.left,
                "right": self.right,
                "up": self.up,
                "down": self.down,
                "red": self.exit,
                "green": self.ok,
                "yellow": self.switchLang,
                "blue": self.shiftClicked,
                "deleteBackward": self.backClicked,
                "deleteForward": self.forwardClicked,
                "back": self.exit,
                "pageUp": self.cursorRight,
                "pageDown": self.cursorLeft,
                "1": self.keyNumberGlobal,
                "2": self.keyNumberGlobal,
                "3": self.keyNumberGlobal,
                "4": self.keyNumberGlobal,
                "5": self.keyNumberGlobal,
                "6": self.keyNumberGlobal,
                "7": self.keyNumberGlobal,
                "8": self.keyNumberGlobal,
                "9": self.keyNumberGlobal,
                "0": self.keyNumberGlobal,
            }, -2)
        self.setLang()
        self.onExecBegin.append(self.setKeyboardModeAscii)
        self.onLayoutFinish.append(self.buildVirtualKeyBoard)
        self.onClose.append(self.__onClose)