def __init__(self, session): Screen.__init__(self, session) self.vbcallback = None self.vbhandler = VBHandler(session) self.vbserver = VBServerThread() self.vbserver.open(1) self.vbserver.start() # comment for dev self.restart_browser() vbcfg.LOG("browser start") self._timer_infobar = eTimer() self._timer_infobar.callback.append(self._cb_register_infobar) self._timer_infobar.start(1000) self._event = ServiceEventTracker(screen=self, eventmap={ iPlayableService.evHBBTVInfo: self._cb_ait_detected, iPlayableService.evUpdatedInfo: self._cb_info_updated }) self._applicationList = None self._app_info = None try: from Screens.InfoBarGenerics import gHbbtvApplication self.m_vuplus = gHbbtvApplication.getUseAit() except: self.m_vuplus = False
def _cb_stop_browser(self): self._close_timer.stop() try: if self._cb_set_title in vbcfg.g_main.vbhandler.onSetTitleCB: vbcfg.g_main.vbhandler.onSetTitleCB.remove(self._cb_set_title) except Exception: pass try: if self._cb_close_window in vbcfg.g_main.vbhandler.onCloseCB: vbcfg.g_main.vbhandler.onCloseCB.remove(self._cb_close_window) except Exception: pass self.toggle_top() from enigma import gMainDC gMainDC.getInstance().setResolution(self.WIDTH, self.HEIGHT) vbcfg.setPosition(vbcfg.g_position) fbClass.getInstance().unlock() eRCInput.getInstance().unlock() getDesktop(0).paint() self.is_browser_opened = False vbcfg.LOG("Stop Browser") self.setTitle(_("BrowserMain")) if self.m_url is not None: self.keyCancel() if vbcfg.g_service: self.session.nav.playService(vbcfg.g_service) else: self.keyRight() self.keyLeft()
def stop_hbbtv_application(self): self._close_timer.stop() self._close_timer = None try: if self._cb_set_title in vbcfg.g_main.vbhandler.onSetTitleCB: vbcfg.g_main.vbhandler.onSetTitleCB.remove(self._cb_set_title) except Exception: pass try: if self._cb_close_window in vbcfg.g_main.vbhandler.onCloseCB: vbcfg.g_main.vbhandler.onCloseCB.remove(self._cb_close_window) except Exception: pass from enigma import getDesktop, gMainDC dsk = getDesktop(0) desktop_size = dsk.size() gMainDC.getInstance().setResolution(desktop_size.width(), desktop_size.height()) vbcfg.setPosition(vbcfg.g_position) fbClass.getInstance().unlock() eRCInput.getInstance().unlock() dsk.paint() vbcfg.LOG("Stop HbbTV") self.close()
def start_hbbtv_application(self): vbcfg.g_main.vbhandler.soft_volume = -1 self.setTitle(_('HbbTV Plugin')) vbcfg.LOG("Starting HbbTV") vbcfg.DEBUG("url : %s" % self._url and self._url) vbcfg.DEBUG("info: %s" % self._info and self._info) if self._info and self._info["control"] == 1 and vbcfg.g_channel_info is not None: (sid, onid, tsid, name) = vbcfg.g_channel_info params = struct.pack('iiiiii', 0, self._info["orgid"], sid, onid, tsid, 0) + vbcfg.g_channel_info[3] ret = VBController.command('HBBTV_LOADAIT', params) else: ret = VBController.command('HBBTV_OPENURL', self._url) if ret is False: self._close_timer.start(1000) vbcfg.ERR("Failed to start hbbtv")
def layoutFinished(self): self["menuitemFile"].setText(_("File")) self["menuitemTool"].setText(_("Tools")) self["menuitemHelp"].setText(_("Help")) self["menulist"].hide() self["submenulist"].hide() self["bottomArea"].setText(_("Opera Web Browser Plugin v2.0")) self.setTitle(_("BrowserMain")) self.set_menu_item() vbcfg.LOG("Starting Browser") if self.m_url is not None: self.keyMenu() if self.m_webapp: self._cb_start_browser(self.m_url, 1, 'YOUTUBETV_OPENURL') else: self._cb_start_browser(self.m_url, 1)
def _cb_start_browser(self, data=None, mode=0, opcode='BROWSER_OPENURL'): if not vbcfg.g_main.check_browser(): if self.m_url is not None: if vbcfg.g_service: self.session.nav.playService(vbcfg.g_service) return vbcfg.LOG("open url: %s %d" % (data, mode)) if strIsEmpty(data): return try: if self._cb_set_title not in vbcfg.g_main.vbhandler.onSetTitleCB: vbcfg.g_main.vbhandler.onSetTitleCB.append(self._cb_set_title) except Exception: pass try: if self._cb_close_window not in vbcfg.g_main.vbhandler.onCloseCB: vbcfg.g_main.vbhandler.onCloseCB.append(self._cb_close_window) except Exception: pass vbcfg.g_position = vbcfg.getPosition() fbClass.getInstance().lock() eRCInput.getInstance().lock() self.toggle_top() ret = VBController.command(opcode, data) self._current_url = data if ret: self.is_browser_opened = True else: self.is_browser_opened = False vbcfg.ERR("Failed to open url: %s" % data) vbcfg.g_main.vbhandler.soft_volume = -1
def _cb_set_title(self, title=None): vbcfg.LOG("page title: %s" % title) if title is None: return self.setTitle(title)