From: smlee Date: Fri, 25 Jul 2014 09:00:02 +0000 (+0900) Subject: [hbbtv] compatibility for SD skin X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=8b1d0631f9d3a8cc9ce1892cc8a912245cc2bef5 [hbbtv] compatibility for SD skin --- diff --git a/lib/python/Plugins/Extensions/HbbTV/browser.py b/lib/python/Plugins/Extensions/HbbTV/browser.py index c4b5d22..73af39e 100644 --- a/lib/python/Plugins/Extensions/HbbTV/browser.py +++ b/lib/python/Plugins/Extensions/HbbTV/browser.py @@ -929,7 +929,7 @@ class Browser(Screen): self.setTitle(title) def _cb_close_window(self): - self._close_timer.start(2000) + self._close_timer.start(1000) def _cb_start_browser(self, data=None, mode=0, opcode='BROWSER_OPENURL'): if not vbcfg.g_main.check_browser(): @@ -985,13 +985,13 @@ class Browser(Screen): self.toggle_top() - from enigma import getDesktop, gMainDC - desktop_size = getDesktop(0).size() - gMainDC.getInstance().setResolution(desktop_size.width(), desktop_size.height()) + 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") diff --git a/lib/python/Plugins/Extensions/HbbTV/hbbtv.py b/lib/python/Plugins/Extensions/HbbTV/hbbtv.py index af45545..385c956 100644 --- a/lib/python/Plugins/Extensions/HbbTV/hbbtv.py +++ b/lib/python/Plugins/Extensions/HbbTV/hbbtv.py @@ -46,7 +46,7 @@ class HbbTVWindow(Screen): self.setTitle(title) def _cb_close_window(self): - self._close_timer.start(2000) + self._close_timer.start(1000) def start_hbbtv_application(self): vbcfg.g_main.vbhandler.soft_volume = -1 @@ -84,12 +84,14 @@ class HbbTVWindow(Screen): pass from enigma import getDesktop, gMainDC - desktop_size = getDesktop(0).size() + 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() diff --git a/lib/python/Plugins/Extensions/HbbTV/plugin.py b/lib/python/Plugins/Extensions/HbbTV/plugin.py index 3cc62b0..22d5f69 100644 --- a/lib/python/Plugins/Extensions/HbbTV/plugin.py +++ b/lib/python/Plugins/Extensions/HbbTV/plugin.py @@ -35,6 +35,8 @@ _OPCODE_LIST = [ 'CONTROL_TITLE', 'CONTROL_OK', 'CONTROL_OUT_OF_MEMORY', + 'CONTROL_INVALIDATE', + 'CONTROL_GET_FBSIZE', 'CONTROL_GET_VOLUME', 'CONTROL_SET_VOLUME', 'CONTROL_VOLUME_UP', @@ -123,6 +125,18 @@ class VBHandler(VBHandlers): vbcfg.need_restart = True; return (True, None) + def _CB_CONTROL_INVALIDATE(self, result, packet): + # redraw enigma + from enigma import getDesktop + getDesktop(0).paint() + return (True, None) + + def _CB_CONTROL_GET_FBSIZE(self, result, packet): + from enigma import getDesktop + desktop_size = getDesktop(0).size() + data = "%dx%d" % (desktop_size.width(), desktop_size.height()) + return (True, data) + def _CB_CONTROL_SET_VOLUME(self, result, packet): if self.max_volume < 0: self.max_volume = VolumeControl.instance.volctrl.getVolume()