dont open epglist when no epg is avail
[enigma2.git] / lib / python / Screens / ChannelSelection.py
index 1fe572e90f30ac57fbd92f358506c2114434d3f9..c31b794906604284a7e0f559ca408d46d149807c 100644 (file)
@@ -2,8 +2,8 @@ from Screen import Screen
 from Components.Button import Button
 from Components.ServiceList import ServiceList
 from Components.ActionMap import ActionMap
-
-from enigma import eServiceReference
+from EpgSelection import EPGSelection
+from enigma import eServiceReference, eEPGCache, eEPGCachePtr
 
 from Screens.FixedMenu import FixedMenu
 
@@ -75,18 +75,26 @@ class ChannelSelection(Screen):
                                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,
-                               "showFavourites": self.showFavourites
+                               "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()
@@ -154,7 +162,7 @@ class ChannelSelection(Screen):
                        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")'))