from Components.Button import Button
from Components.ServiceList import ServiceList
from Components.ActionMap import ActionMap
+from EpgSelection import EPGSelection
+from enigma import eServiceReference, eEPGCache, eEPGCachePtr
-from enigma import eServiceReference
-
-from Screens.Menu import FixedMenu
+from Screens.FixedMenu import FixedMenu
import xml.dom.minidom
def __init__(self, session):
Screen.__init__(self, session)
+ self.entry_marked = False
self.movemode = False
self.bouquet_mark_edit = False
## FIXME
self.__marked = [ ]
- self["key_red"] = Button("red")
- self["key_green"] = Button("green")
- self["key_yellow"] = Button("yellow")
- self["key_blue"] = Button("blue")
+ self["key_red"] = Button("All")
+ self["key_green"] = Button("Provider")
+ self["key_yellow"] = Button("Satellite")
+ self["key_blue"] = Button("Favourites")
self["list"] = ServiceList()
self["list"].setRoot(eServiceReference("""1:0:1:0:0:0:0:0:0:0:(type == 1)"""))
class ChannelActionMap(ActionMap):
def action(self, contexts, action):
if action[:7] == "bouquet":
- print "setting root to " + action[8:]
- self.csel["list"].setRoot(eServiceReference("1:0:1:0:0:0:0:0:0:0:" + action[8:]))
+ l = self.csel["list"]
+ l.setMode(l.MODE_NORMAL)
+ l.setRoot(eServiceReference("1:7:1:0:0:0:0:0:0:0:" + action[8:]))
else:
ActionMap.action(self, contexts, action)
- self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions"],
+ self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions", "ContextMenuActions"],
{
"cancel": self.close,
"ok": self.channelSelected,
"mark": self.doMark,
- "contextMenu": self.doContext
+ "contextMenu": self.doContext,
+ "showFavourites": self.showFavourites,
+ "showEPGList": self.showEPGList
})
self["actions"].csel = self
+ def showEPGList(self):
+ ref=self["list"].getCurrent()
+ ptr=eEPGCache.getInstance()
+ if ptr.startTimeQuery(ref) != -1:
+ self.session.open(EPGSelection, ref)
+ else:
+ print 'no epg for service', ref.toString()
+
# marked edit mode
-
def startMarkedEdit(self):
self.bouquet_mark_edit = True
self.clearMarks()
l = self["list"]
for x in marked:
- print "mark: " + str(x)
l.addMarked(x)
def endMarkedEdit(self, abort):
# ...
def channelSelected(self):
- self.session.nav.playService(self["list"].getCurrent())
- self.close()
+ ref = self["list"].getCurrent()
+ if self.movemode:
+ if self.entry_marked:
+ self["list"].setCurrentMarked(False)
+ self.entry_marked = False
+ else:
+ self["list"].setCurrentMarked(True)
+ self.entry_marked = True
+ elif (ref.flags & 7) == 7:
+ l = self["list"]
+ l.setMode(l.MODE_NORMAL)
+ l.setRoot(ref)
+ else:
+ self.session.nav.playService(ref)
+ self.close()
#called from infoBar
def zap(self):
self.session.open(ChannelContextMenu, self)
def setMoveMode(self, mode):
- self.movemode = mode
-
+ if mode:
+ self.movemode = False
+ else:
+ self.movemode = True
+
+ def showFavourites(self):
+ l = self["list" ]
+ l.setRoot(eServiceReference('1:0:1:0:0:0:0:0:0:0:(provider == "fav")'))
+ l.setMode(l.MODE_FAVOURITES)