예제 #1
0
 def wizard_set_language(self):
     global lang_str
     global lang_new
     try:
         oe.dbg_log('oeWindows::wizard_set_language', 'enter_function', oe.LOGDEBUG)
         langCodes = {"Bulgarian":"resource.language.bg_bg","Czech":"resource.language.cs_cz","German":"resource.language.de_de","English":"resource.language.en_gb","Spanish":"resource.language.es_es","Basque":"resource.language.eu_es","Finnish":"resource.language.fi_fi","French":"resource.language.fr_fr","Hebrew":"resource.language.he_il","Hungarian":"resource.language.hu_hu","Italian":"resource.language.it_it","Lithuanian":"resource.language.lt_lt","Latvian":"resource.language.lv_lv","Norwegian":"resource.language.nb_no","Dutch":"resource.language.nl_nl","Polish":"resource.language.pl_pl","Portuguese (Brazil)":"resource.language.pt_br","Portuguese":"resource.language.pt_pt","Romanian":"resource.language.ro_ro","Russian":"resource.language.ru_ru","Slovak":"resource.language.sk_sk","Swedish":"resource.language.sv_se","Turkish":"resource.language.tr_tr","Ukrainian":"resource.language.uk_ua"}
         languagesList = sorted(list(langCodes.keys()))
         cur_lang = xbmc.getLanguage()
         for index, lang in enumerate(languagesList):
             if cur_lang in lang:
                 langIndex = index
                 break
             else:
                 pass
         selLanguage = xbmcDialog.select(oe._(32310), languagesList, preselect=langIndex)
         if selLanguage >= 0:
             langKey = languagesList[selLanguage]
             lang_new = langCodes[langKey]
             if lang_new == "resource.language.en_gb":
                 oe.write_setting("system", "language", "")
             else:
                 oe.write_setting("system", "language", str(lang_new))
             lang_str = 'SetGUILanguage(' + str(lang_new) + ')'
             self.getControl(self.wizWinTitle).setLabel(oe._(32300))
             self.set_wizard_title(oe._(32301))
             self.set_wizard_text(oe._(32302))
             oe.winOeMain.set_wizard_button_title(oe._(32310))
             oe.winOeMain.set_wizard_button_1(langKey, self, 'wizard_set_language')
             self.showButton(1, 32303)
             self.setFocusId(self.buttons[1]['id'])
         oe.dbg_log('oeWindows::wizard_set_language', 'exit_function', oe.LOGDEBUG)
     except Exception as e:
         oe.dbg_log('oeWindows::wizard_set_language', f'ERROR: ({repr(e)})')
예제 #2
0
 def disable_device_standby(self, listItem=None):
     devices = oe.read_setting('bluetooth', 'standby')
     if devices is not None:
         devices = devices.split(',')
     else:
         devices = []
     if listItem.getProperty('entry') in devices:
         devices.remove(listItem.getProperty('entry'))
     oe.write_setting('bluetooth', 'standby', ','.join(devices))
예제 #3
0
 def enable_device_standby(self, listItem=None):
     devices = oe.read_setting('bluetooth', 'standby')
     if not devices == None:
         devices = devices.split(',')
     else:
         devices = []
     if not listItem.getProperty('entry') in devices:
         devices.append(listItem.getProperty('entry'))
     oe.write_setting('bluetooth', 'standby', ','.join(devices))
예제 #4
0
 def wizard_set_hostname(self):
     currentHostname = self.struct['ident']['settings']['hostname']['value']
     xbmcKeyboard = xbmc.Keyboard(currentHostname)
     result_is_valid = False
     while not result_is_valid:
         xbmcKeyboard.doModal()
         if xbmcKeyboard.isConfirmed():
             result_is_valid = True
             validate_string = self.struct['ident']['settings']['hostname'][
                 'validate']
             if validate_string != '':
                 if not re.search(validate_string, xbmcKeyboard.getText()):
                     result_is_valid = False
         else:
             result_is_valid = True
     if xbmcKeyboard.isConfirmed():
         self.struct['ident']['settings']['hostname'][
             'value'] = xbmcKeyboard.getText()
         self.set_hostname()
         oe.winOeMain.getControl(1401).setLabel(
             self.struct['ident']['settings']['hostname']['value'])
         oe.write_setting(
             'system', 'hostname',
             self.struct['ident']['settings']['hostname']['value'])
예제 #5
0
    def onClick(self, controlID):
        global strModule
        global prevModule
        try:
            oe.dbg_log(f'wizard::onClick({str(controlID)})', 'enter_function', oe.LOGDEBUG)
            for btn in self.buttons:
                if controlID == self.buttons[btn]['id'] and self.buttons[btn]['id'] > 2:
                    if hasattr(self.buttons[btn]['modul'], self.buttons[btn]['action']):
                        getattr(self.buttons[btn]['modul'], self.buttons[btn]['action'])()
            for btn in self.radiobuttons:
                if controlID == self.radiobuttons[btn]['id'] and self.radiobuttons[btn]['id'] > 1:
                    if hasattr(self.radiobuttons[btn]['modul'], self.radiobuttons[btn]['action']):
                        getattr(self.radiobuttons[btn]['modul'], self.radiobuttons[btn]['action'])()
            if controlID == self.guiNetList:
                selectedItem = self.getControl(controlID).getSelectedItem()
                if selectedItem.getProperty('action') != '':
                    if hasattr(oe.dictModules[self.last_wizard], selectedItem.getProperty('action')):
                        getattr(oe.dictModules[self.last_wizard], selectedItem.getProperty('action'))(selectedItem)
                        return
            if controlID == 1501:
                self.wizards.remove(strModule)
                oe.remove_node(strModule)
                if strModule == "system":
                    self.onInit()
                else:
                    self.wizards.remove(prevModule)
                    oe.remove_node(prevModule)
                    self.onClick(1500)
                oe.dbg_log(f'wizard::onClick({str(controlID)})', 'exit_function', oe.LOGDEBUG)

            if controlID == 1500:
                self.getControl(1390).setLabel('1')
                oe.xbmcm.waitForAbort(0.5)
                self.is_last_wizard = True
                self.getControl(1391).setLabel('')
                self.getControl(self.buttons[3]['id']).setVisible(False)
                self.getControl(self.buttons[4]['id']).setVisible(False)
                self.getControl(self.radiobuttons[1]['id']).setVisible(False)
                self.getControl(self.radiobuttons[2]['id']).setVisible(False)
                self.showButton(2, 32307)
                self.set_wizard_title('')
                self.set_wizard_text('')
                self.set_wizard_list_title('')
                self.set_wizard_button_title('')

                for module in sorted(oe.dictModules, key=lambda x: list(oe.dictModules[x].menu.keys())):
                    strModule = module
                    if hasattr(oe.dictModules[strModule], 'do_wizard') and oe.dictModules[strModule].ENABLED:
                        if strModule == self.last_wizard:
                            if hasattr(oe.dictModules[strModule], 'exit'):
                                oe.dictModules[strModule].exit()
                                if hasattr(oe.dictModules[strModule], 'is_wizard'):
                                    del oe.dictModules[strModule].is_wizard
                        setting = oe.read_setting(strModule, 'wizard_completed')
                        if self.wizards != []:
                            prevModule = self.wizards[-1]
                        if oe.read_setting(strModule, 'wizard_completed') == None and strModule not in self.wizards:
                            self.last_wizard = strModule
                            if hasattr(oe.dictModules[strModule], 'do_init'):
                                oe.dictModules[strModule].do_init()
                            self.getControl(1390).setLabel('')
                            oe.dictModules[strModule].do_wizard()
                            self.wizards.append(strModule)
                            oe.write_setting(strModule, 'wizard_completed', 'True')
                            self.is_last_wizard = False
                            break
                if self.is_last_wizard == True:
                    xbmc.executebuiltin('UpdateAddonRepos')
                    langAddon = f"InstallAddon({lang_new})"
                    xbmc.executebuiltin(langAddon)
                    oe.xbmcm.waitForAbort(0.5)
                    xbmc.executebuiltin('SendClick(10100,11)')
                    oe.write_setting('libreelec', 'wizard_completed', 'True')
                    self.visible = False
                    self.close()
                    xbmc.executebuiltin(lang_str)
            oe.dbg_log(f'wizard::onClick({str(controlID)})', 'exit_function', oe.LOGDEBUG)
        except Exception as e:
            oe.dbg_log('oeWindows.wizard::onClick()', f'ERROR: ({repr(e)})')
예제 #6
0
 def idle_timeout(self, **kwargs):
     if 'listItem' in kwargs:
         self.set_value(kwargs['listItem'])
     oe.write_setting('bluetooth', 'idle_timeout', self.struct['bluez']['settings']['idle_timeout']['value'])
예제 #7
0
 def set_value(self, listItem):
     self.struct[listItem.getProperty('category')]['settings'][
         listItem.getProperty('entry')]['value'] = listItem.getProperty(
             'value')
     oe.write_setting('updates', listItem.getProperty('entry'),
                      str(listItem.getProperty('value')))