aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-10 15:27:23 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2005-11-10 15:27:23 +0000
commit4739f2d47dc8e6aee519f90e00e011659adf47ed (patch)
treea8b82601dc7ecd499b0d8c94ff663e6cb6dc7a3d /lib
parentaafd3efd2bb9865fe1c5aa930624cd321f6e2533 (diff)
downloadenigma2-4739f2d47dc8e6aee519f90e00e011659adf47ed.tar.gz
enigma2-4739f2d47dc8e6aee519f90e00e011659adf47ed.zip
try to add a epglist (not working yet)
Diffstat (limited to 'lib')
-rw-r--r--lib/python/Components/EpgList.py44
-rw-r--r--lib/python/Screens/ChannelSelection.py5
-rw-r--r--lib/python/Screens/EpgSelection.py42
-rw-r--r--lib/python/Screens/InfoBar.py13
4 files changed, 100 insertions, 4 deletions
diff --git a/lib/python/Components/EpgList.py b/lib/python/Components/EpgList.py
new file mode 100644
index 00000000..5fa5476a
--- /dev/null
+++ b/lib/python/Components/EpgList.py
@@ -0,0 +1,44 @@
+from HTMLComponent import *
+from GUIComponent import *
+
+from enigma import *
+
+class EPGList(HTMLComponent, GUIComponent):
+ def __init__(self):
+ GUIComponent.__init__(self)
+ self.l = eListboxEPGContent()
+
+ def getCurrent(self):
+ r = eServiceEventPtr()
+ self.l.getCurrent(r)
+ return r
+
+ def moveUp(self):
+ self.instance.moveSelection(self.instance.moveUp)
+
+ def moveDown(self):
+ self.instance.moveSelection(self.instance.moveDown)
+
+ def GUIcreate(self, parent):
+ self.instance = eListbox(parent)
+ self.instance.setContent(self.l)
+
+ def GUIdelete(self):
+ self.instance = None
+
+ def setRoot(self, root):
+ self.l.setRoot(root)
+ self.l.sort()
+
+# def setMode(self, mode):
+# if mode == self.MODE_NORMAL:
+# self.instance.setItemHeight(20)
+# self.l.setVisualMode(eListboxServiceContent.visModeSimple)
+# else:
+# self.instance.setItemHeight(40)
+# self.l.setElementFont(self.l.celServiceName, gFont("Arial", 30))
+# self.l.setElementPosition(self.l.celServiceName, eRect(40, 0, self.instance.size().width(), 40))
+# self.l.setElementFont(self.l.celServiceNumber, gFont("Arial", 20))
+# self.l.setElementPosition(self.l.celServiceNumber, eRect(0, 10, 40, 30))
+#
+# self.l.setVisualMode(eListboxServiceContent.visModeComplex)
diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py
index 1fe572e9..c8bfb2cb 100644
--- a/lib/python/Screens/ChannelSelection.py
+++ b/lib/python/Screens/ChannelSelection.py
@@ -154,7 +154,10 @@ class ChannelSelection(Screen):
self.movemode = False
else:
self.movemode = True
-
+
+ def getCurrent(self):
+ return self["list"].getCurrent()
+
def showFavourites(self):
l = self["list" ]
l.setRoot(eServiceReference('1:0:1:0:0:0:0:0:0:0:(provider == "fav")'))
diff --git a/lib/python/Screens/EpgSelection.py b/lib/python/Screens/EpgSelection.py
new file mode 100644
index 00000000..aeab4f03
--- /dev/null
+++ b/lib/python/Screens/EpgSelection.py
@@ -0,0 +1,42 @@
+from Screen import Screen
+from Components.Button import Button
+from Components.EpgList import EPGList
+from Components.ActionMap import ActionMap
+
+from enigma import eServiceReference
+
+from Screens.FixedMenu import FixedMenu
+
+import xml.dom.minidom
+
+class EPGSelection(Screen):
+ def __init__(self, session):
+ Screen.__init__(self, session)
+
+ self["list"] = EPGList()
+# self["list"].setRoot(root)
+
+ class ChannelActionMap(ActionMap):
+ def action(self, contexts, action):
+ ActionMap.action(self, contexts, action)
+
+ self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions"],
+ {
+ "cancel": self.close,
+ "ok": self.eventSelected,
+ })
+ self["actions"].csel = self
+
+ def eventSelected(self):
+ ref = self["list"].getCurrent()
+# open eventdetail view... not finished yet
+ self.close()
+
+ def setRoot(self, root):
+ self["list"].setRoot(root)
+
+ def moveUp(self):
+ self["list"].moveUp()
+
+ def moveDown(self):
+ self["list"].moveDown()
diff --git a/lib/python/Screens/InfoBar.py b/lib/python/Screens/InfoBar.py
index 9892e40b..39f547e6 100644
--- a/lib/python/Screens/InfoBar.py
+++ b/lib/python/Screens/InfoBar.py
@@ -1,4 +1,5 @@
from Screen import Screen
+from EpgSelection import EPGSelection
from ChannelSelection import ChannelSelection
from Components.Clock import Clock
from Components.ActionMap import ActionMap
@@ -58,7 +59,8 @@ class InfoBar(Screen):
"hide": self.hide,
"toggleShow": self.toggleShow,
"showMovies": self.showMovies,
- "quit": self.quit
+ "quit": self.quit,
+ "showEPGList": self.showEPGList
})
# self["okbutton"] = Button("mainMenu", [self.mainMenu])
@@ -152,8 +154,13 @@ class InfoBar(Screen):
self.muteDialog.instance.show()
else:
self.muteDialog.instance.hide()
-
- def quit(self):
+
+ def showEPGList(self):
+# TODO hier irgendwie EPGSelection benutzen und setRoot benutzen um nen service zu uebergeben
+# self.session.nav.getCurrentlyPlayingServiceReference() sollte das wohl sein
+ print "hier soll mal ne EPGList aufgehen"
+
+ def quit(self):
configfile.save()
quitMainloop()