run teletext plugin when pressing teletext
authorFelix Domke <tmbinc@elitedvb.net>
Sat, 11 Mar 2006 00:59:07 +0000 (00:59 +0000)
committerFelix Domke <tmbinc@elitedvb.net>
Sat, 11 Mar 2006 00:59:07 +0000 (00:59 +0000)
data/keymap.xml
lib/python/Screens/InfoBar.py
lib/python/Screens/InfoBarGenerics.py

index ffcfa95dbaf37432cd03d21600666546c228e0f2..93c0118cabb1b8f6618791bf55109b4909e93b3e 100644 (file)
                <key id="KEY_PLAYPAUSE" mapto="toggleMark" flags="m" />
                <key id="KEY_NEXTSONG" mapto="jumpNextMark" flags="m" />
        </map>
+       
+       <map context="InfobarTeletextActions">
+               <key id="KEY_TEXT" mapto="startTeletext" flags="m" />
+       </map>
 
        <map context="ChannelSelectBaseActions">
                <key id="KEY_RED" mapto="showAllServices" flags="m" />
index ae5318ecbbb7f759d424eef51266138f77a0973c..dfafc1161d2d105aed5b37b5cf21012815521635 100644 (file)
@@ -17,7 +17,7 @@ from Screens.InfoBarGenerics import InfoBarShowHide, \
        InfoBarAudioSelection, InfoBarAdditionalInfo, InfoBarNotifications, InfoBarDish, \
        InfoBarSubserviceSelection, InfoBarTuner, InfoBarShowMovies, InfoBarTimeshift,  \
        InfoBarServiceNotifications, InfoBarPVRState, InfoBarCueSheetSupport, InfoBarSimpleEventView, \
-       InfoBarSummarySupport, InfoBarTimeshiftState
+       InfoBarSummarySupport, InfoBarTimeshiftState, InfoBarTeletextPlugin
 
 from Screens.HelpMenu import HelpableScreen, HelpMenu
 
@@ -30,7 +30,7 @@ class InfoBar(InfoBarShowHide, InfoBarPowerKey,
        InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, 
        HelpableScreen, InfoBarAdditionalInfo, InfoBarNotifications, InfoBarDish,
        InfoBarSubserviceSelection, InfoBarTuner, InfoBarTimeshift, InfoBarSeek,
-       InfoBarSummarySupport, InfoBarTimeshiftState, Screen):
+       InfoBarSummarySupport, InfoBarTimeshiftState, InfoBarTeletextPlugin, Screen):
 
        def __init__(self, session):
                Screen.__init__(self, session)
@@ -46,7 +46,8 @@ class InfoBar(InfoBarShowHide, InfoBarPowerKey,
                                InfoBarNumberZap, InfoBarChannelSelection, InfoBarMenu, InfoBarEPG, \
                                InfoBarEvent, InfoBarServiceName, InfoBarInstantRecord, InfoBarAudioSelection, \
                                InfoBarAdditionalInfo, InfoBarNotifications, InfoBarDish, InfoBarSubserviceSelection, \
-                               InfoBarTuner, InfoBarTimeshift, InfoBarSeek, InfoBarSummarySupport, InfoBarTimeshiftState:
+                               InfoBarTuner, InfoBarTimeshift, InfoBarSeek, InfoBarSummarySupport, InfoBarTimeshiftState, \
+                               InfoBarTeletextPlugin:
                        x.__init__(self)
 
                self.helpList.append((self["actions"], "InfobarActions", [("showMovies", "Watch a Movie...")]))
index 7a7eb8ff78c3a9cf86cfe1de33d025980763c3c5..037fe18e4542472ef1bf9aafad242219c4e149f9 100644 (file)
@@ -1,32 +1,33 @@
-from Screen import Screen
-from Components.ActionMap import ActionMap, HelpableActionMap
-from Components.ActionMap import NumberActionMap
-from Components.Label import *
-from Components.ProgressBar import *
-from Components.config import configfile, configsequencearg
-from Components.config import config, configElement, ConfigSubsection, configSequence, configElementBoolean
 from ChannelSelection import ChannelSelection, BouquetSelector
 
-from Components.Pixmap import Pixmap, PixmapConditional
+from Components.ActionMap import ActionMap, HelpableActionMap
+from Components.ActionMap import NumberActionMap
 from Components.BlinkingPixmap import BlinkingPixmapConditional
-from Components.ServiceName import ServiceName
-from Components.EventInfo import EventInfo, EventInfoProgress
 from Components.Clock import Clock
+from Components.EventInfo import EventInfo, EventInfoProgress
+from Components.Harddisk import harddiskmanager
 from Components.Input import Input
+from Components.Label import *
+from Components.Pixmap import Pixmap, PixmapConditional
+from Components.PluginComponent import plugins
+from Components.ProgressBar import *
+from Components.ServiceEventTracker import ServiceEventTracker
+from Components.ServiceName import ServiceName
+from Components.config import config, configElement, ConfigSubsection, configSequence, configElementBoolean
+from Components.config import configfile, configsequencearg
 
-from ServiceReference import ServiceReference
 from EpgSelection import EPGSelection
+from Plugins.Plugin import PluginDescriptor
 
-from Screens.MessageBox import MessageBox
+from Screen import Screen
 from Screens.ChoiceBox import ChoiceBox
-from Screens.InputBox import InputBox
 from Screens.Dish import Dish
-from Screens.Standby import Standby
 from Screens.EventView import EventViewEPGSelect, EventViewSimple
+from Screens.InputBox import InputBox
+from Screens.MessageBox import MessageBox
 from Screens.MinuteInput import MinuteInput
-from Components.Harddisk import harddiskmanager
-
-from Components.ServiceEventTracker import ServiceEventTracker
+from Screens.Standby import Standby
+from ServiceReference import ServiceReference
 
 from Tools import Notifications
 from Tools.Directories import *
@@ -1414,3 +1415,21 @@ class InfoBarSummarySupport:
        
        def createSummary(self):
                return InfoBarSummary
+
+class InfoBarTeletextPlugin:
+       def __init__(self):
+               self.teletext_plugin = None
+               
+               for p in plugins.getPlugins(PluginDescriptor.WHERE_TELETEXT):
+                       self.teletext_plugin = p
+               
+               if self.teletext_plugin is not None:
+                       self["TeletextActions"] = HelpableActionMap(self, "InfobarTeletextActions",
+                               {
+                                       "startTeletext": (self.startTeletext, "View teletext...")
+                               })
+               else:
+                       print "no teletext plugin found!"
+
+       def startTeletext(self):
+               self.teletext_plugin(session=self.session, service=self.session.nav.getCurrentService())