--- /dev/null
+#######################################################################\r
+#\r
+# ShowMe-Tool for Dreambox-Enigma2\r
+# Coded by Vali (c)2010\r
+# Support: www.dreambox-tools.info\r
+#\r
+#\r
+# This plugin is licensed under the Creative Commons \r
+# Attribution-NonCommercial-ShareAlike 3.0 Unported License.\r
+# To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/\r
+# or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.\r
+#\r
+# Alternatively, this plugin may be distributed and executed on hardware which\r
+# is licensed by Dream Multimedia GmbH.\r
+#\r
+#\r
+# This plugin is NOT free software. It is open source, you are allowed to\r
+# modify it (if you keep the license), but it may not be commercially \r
+# distributed other than under the conditions noted above.\r
+#\r
+#\r
+#######################################################################\r
+\r
+\r
+\r
+from Screens.Screen import Screen\r
+from Components.ActionMap import ActionMap\r
+from Components.AVSwitch import AVSwitch\r
+from Components.Pixmap import Pixmap\r
+from enigma import ePicLoad, getDesktop\r
+\r
+\r
+\r
+class ShowMe(Screen):\r
+ if (getDesktop(0).size().width()) == 1280:\r
+ skin="""\r
+ <screen flags="wfNoBorder" position="0,0" size="1280,720" title="Show..." backgroundColor="#ffffffff">\r
+ <widget name="Picture" position="0,0" size="1280,720" zPosition="1"/>\r
+ </screen>"""\r
+ elif (getDesktop(0).size().width()) == 1024:\r
+ skin="""\r
+ <screen flags="wfNoBorder" position="0,0" size="1024,576" title="Show..." backgroundColor="#ffffffff">\r
+ <widget name="Picture" position="0,0" size="1024,576" zPosition="1"/>\r
+ </screen>"""\r
+ else:\r
+ skin="""\r
+ <screen flags="wfNoBorder" position="0,0" size="720,576" title="Show..." backgroundColor="#ffffffff">\r
+ <widget name="Picture" position="0,0" size="720,576" zPosition="1"/>\r
+ </screen>"""\r
+\r
+ def __init__(self, session, whatPic = None):\r
+ self.skin = ShowMe.skin\r
+ Screen.__init__(self, session)\r
+ self.whatPic = whatPic\r
+ self.EXscale = (AVSwitch().getFramebufferScale())\r
+ self.EXpicload = ePicLoad()\r
+ self["Picture"] = Pixmap()\r
+ self["actions"] = ActionMap(["WizardActions"],\r
+ {\r
+ "ok": self.close,\r
+ "back": self.close\r
+ }, -1)\r
+ self.EXpicload.PictureData.get().append(self.DecodeAction)\r
+ self.onLayoutFinish.append(self.Show_Picture)\r
+\r
+ def Show_Picture(self):\r
+ if self.whatPic is not None:\r
+ self.EXpicload.setPara([self["Picture"].instance.size().width(), self["Picture"].instance.size().height(), self.EXscale[0], self.EXscale[1], 0, 1, "#121214"])\r
+ self.EXpicload.startDecode(self.whatPic)\r
+\r
+ def DecodeAction(self, pictureInfo=" "):\r
+ if self.whatPic is not None:\r
+ ptr = self.EXpicload.getData()\r
+ self["Picture"].instance.setPixmap(ptr)\r
+\r
+\r
from enigma import eServiceReference, eServiceCenter, getDesktop, eTimer, gFont, eListboxPythonMultiContent, RT_HALIGN_LEFT, RT_WRAP
from RecordTimer import RecordTimerEntry, parseEvent, AFTEREVENT
from ServiceReference import ServiceReference
+from ShowMe import ShowMe
from time import localtime
config.plugins.MerlinPG.Columns = ConfigYesNo(default=True)
config.plugins.MerlinPG.StartFirst = ConfigYesNo(default=False)
config.plugins.MerlinPG.Primetime = ConfigInteger(default=20, limits=(0, 23))
+config.plugins.MerlinPG.PTlow = ConfigInteger(default=10, limits=(0, 59))
+config.plugins.MerlinPG.PThi = ConfigInteger(default=20, limits=(0, 59))
class MerlinPGsetup(ConfigListScreen, Screen):
skin = """
- <screen position="center,center" size="500,400" title="Merlin Programm Guide">
- <widget name="config" position="10,5" size="480,90" scrollbarMode="showOnDemand" />
- <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/help.png" position="0,100" size="500,300"/>
- </screen>"""
+ <screen position="center,center" size="500,300" title="Merlin Programm Guide">
+ <widget name="config" position="10,10" size="480,280" scrollbarMode="showOnDemand" />
+ </screen>"""
def __init__(self, session):
Screen.__init__(self, session)
clist = []
clist.append(getConfigListEntry(_("Show EPG in columns:"), config.plugins.MerlinPG.Columns))
clist.append(getConfigListEntry(_("Start allways on channel 1:"), config.plugins.MerlinPG.StartFirst))
- clist.append(getConfigListEntry(_("Primetime:"), config.plugins.MerlinPG.Primetime))
+ clist.append(getConfigListEntry(_("Primetime (h):"), config.plugins.MerlinPG.Primetime))
+ clist.append(getConfigListEntry(_("Primetime from (m):"), config.plugins.MerlinPG.PTlow))
+ clist.append(getConfigListEntry(_("Primetime to (m):"), config.plugins.MerlinPG.PThi))
ConfigListScreen.__init__(self, clist)
self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.set, "cancel": self.exit}, -2)
def set(self):
+ if not config.plugins.MerlinPG.PThi.value > config.plugins.MerlinPG.PTlow.value:
+ return
for x in self["config"].list:
x[1].save()
self.close()
r3=self.descr_rect
t = localtime(beginTime)
self.evCnt = self.evCnt + 1
- if t[3] == config.plugins.MerlinPG.Primetime.value:
+ if (t[3]==config.plugins.MerlinPG.Primetime.value) and (t[4]>config.plugins.MerlinPG.PTlow.value) and (t[4]<config.plugins.MerlinPG.PThi.value):
res = [
None,
(eListboxPythonMultiContent.TYPE_TEXT, r1.left(), r1.top(), r1.width(), r1.height(), 0, RT_HALIGN_LEFT, " _________________"),
if tmp is None:
return ( None )
bt = localtime(tmp[2])
- return ( bt[3] )
+ return ( bt[3], bt[4] )
def foudPrimetime(self):
- #self.instance.moveSelection(self.instance.moveTop)
for OneLine in range(0,self.evCnt):
- evBgTime = int(self.getBgTime())
+ evBgTime, evBgMin = self.getBgTime()
if evBgTime is not None:
- if evBgTime == config.plugins.MerlinPG.Primetime.value:
+ if (evBgTime==config.plugins.MerlinPG.Primetime.value) and (evBgMin>config.plugins.MerlinPG.PTlow.value) and (evBgMin<config.plugins.MerlinPG.PThi.value):
break
self.moveDown()
else:
<widget itemHeight="70" name="epg_list3" position="522,80" scrollbarMode="showOnDemand" size="225,560" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list4" position="753,80" scrollbarMode="showOnDemand" size="225,560" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list5" position="984,80" scrollbarMode="showOnDemand" size="225,560" transparent="1" zPosition="4"/>
- <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="60,655" size="400,24"/>
- <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="470,655" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
+ <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="60,655" size="430,24"/>
+ <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="500,655" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
<convert type="ClockToText">Format:%H:%M %a %d. %b</convert>
</widget>
</screen>"""
<widget itemHeight="70" name="epg_list2" position="281,80" scrollbarMode="showOnDemand" size="225,420" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list3" position="512,80" scrollbarMode="showOnDemand" size="225,420" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list4" position="743,80" scrollbarMode="showOnDemand" size="225,420" transparent="1" zPosition="4"/>
- <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="50,518" size="400,24"/>
- <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="460,518" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
+ <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="50,518" size="430,24"/>
+ <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="490,518" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
<convert type="ClockToText">Format:%H:%M %a %d. %b</convert>
</widget>
</screen>"""
<widget itemHeight="70" name="epg_list2" position="205,90" scrollbarMode="showOnDemand" size="155,420" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list3" position="360,90" scrollbarMode="showOnDemand" size="155,420" transparent="1" zPosition="4"/>
<widget itemHeight="70" name="epg_list4" position="515,90" scrollbarMode="showOnDemand" size="155,420" transparent="1" zPosition="4"/>
- <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="50,518" size="400,24"/>
- <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="460,518" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
+ <ePixmap pixmap="/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/buttons.png" position="50,518" size="430,24"/>
+ <widget backgroundColor="background" font="Regular;18" foregroundColor="#ffc000" position="490,518" render="Label" size="200,24" source="global.CurrentTime" transparent="1" valign="center" zPosition="3">
<convert type="ClockToText">Format:%H:%M %a %d. %b</convert>
</widget>
</screen>"""
self["epg_list2"] = MerlinEPGList(type = EPG_TYPE_SINGLE, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
self["epg_list3"] = MerlinEPGList(type = EPG_TYPE_SINGLE, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
self["epg_list4"] = MerlinEPGList(type = EPG_TYPE_SINGLE, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
- self["actions"] = ActionMap(["OkCancelActions", "EPGSelectActions", "DirectionActions", "ColorActions", "MenuActions", "NumberActions"], {
+ self["actions"] = ActionMap(["OkCancelActions", "EPGSelectActions", "DirectionActions", "ColorActions", "MenuActions", "NumberActions", "HelpActions"], {
"ok": self.showEventInfo,
"cancel": self.close,
"nextBouquet": self.AllUp,
"blue": self.ZapForRefresh,
"yellow": self.go2Primetime,
"menu": self.menuClicked,
+ "displayHelp": self.myhelp,
"0": self.go2now,
"1": self.go2first,
"7": self.findPrvBqt,
for i in range(0,(self.Fields*3)):
self["epg_list"+str(xFL)].foudPrimetime()
+ def myhelp(self):
+ self.session.open(ShowMe, "/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/help.jpg")
+
class Merlin_PGd(Screen):
self["currCh"] = Label(_("Channel"))
self["prg_list"] = MenuList(self.getChannels())
self["epg_list"] = EPGList(type = EPG_TYPE_SINGLE, selChangedCB = self.onSelectionChanged, timer = session.nav.RecordTimer)
- self["actions"] = ActionMap(["OkCancelActions", "EPGSelectActions", "ColorActions", "MenuActions"], {
+ self["actions"] = ActionMap(["OkCancelActions", "EPGSelectActions", "ColorActions", "MenuActions", "HelpActions"], {
"ok": self.ok,
"cancel": self.close,
"nextBouquet": self.prgDown,
"blue": self.ZapForRefresh,
"yellow": self.go2now,
"info": self.ok,
- "menu": self.menuClicked
+ "menu": self.menuClicked,
+ "displayHelp": self.myhelp
},-2)
self.onLayoutFinish.append(self.onLayoutReady)
def go2now(self):
self["epg_list"].instance.moveSelection(self["epg_list"].instance.moveTop)
+ def myhelp(self):
+ self.session.open(ShowMe, "/usr/lib/enigma2/python/Plugins/Extensions/Merlin_PG/help.jpg")
+