from Components.config import config, ConfigSubsection, ConfigSelection, ConfigSubList, getConfigListEntry, KEY_LEFT, KEY_RIGHT, KEY_0, ConfigNothing, ConfigPIN
from Components.ConfigList import ConfigList
-from enigma import eTimer, eDVBCI_UI
+from Components.SystemInfo import SystemInfo
+
+from enigma import eTimer, eDVBCI_UI, eDVBCIInterfaces
MAX_NUM_CI = 4
print "MMIDialog with action" + str(action)
+ self.mmiclosed = False
self.tag = None
self.slotid = slotid
self.timer = eTimer()
- self.timer.timeout.get().append(self.keyCancel)
+ self.timer.callback.append(self.keyCancel)
#else the skins fails
self["title"] = Label("")
def keyCancel(self):
self.timer.stop()
- if not self.tag:
+ if not self.tag or self.mmiclosed:
self.closeMmi()
- return
- if self.tag == "WAIT":
+ elif self.tag == "WAIT":
self.handler.stopMMI(self.slotid)
self.closeMmi()
elif self.tag in [ "MENU", "LIST" ]:
self.timer.stop()
if len(screen) > 0 and screen[0][0] == "CLOSE":
timeout = screen[0][1]
+ self.mmiclosed = True
if timeout > 0:
self.timer.start(timeout*1000, True)
else:
self.keyCancel()
else:
+ self.mmiclosed = False
self.tag = screen[0][0]
for entry in screen:
if entry[0] == "PIN":
self.ci = { }
self.dlgs = { }
eDVBCI_UI.getInstance().ciStateChanged.get().append(self.ciStateChanged)
+ SystemInfo["CommonInterface"]= eDVBCIInterfaces.getInstance().getNumOfSlots() > 0
def setSession(self, session):
self.session = session