Added Zap-History Browser plugin
authorNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Fri, 26 Sep 2008 17:36:09 +0000 (17:36 +0000)
committerNabil Hanna <ali@users.schwerkraft.elitedvb.net>
Fri, 26 Sep 2008 17:36:09 +0000 (17:36 +0000)
Makefile.am
configure.ac
zaphistorybrowser/CONTROL/control [new file with mode: 0644]
zaphistorybrowser/Makefile.am [new file with mode: 0644]
zaphistorybrowser/src/Makefile.am [new file with mode: 0644]
zaphistorybrowser/src/__init__.py [new file with mode: 0644]
zaphistorybrowser/src/plugin.py [new file with mode: 0644]

index 691d221..9e20367 100644 (file)
@@ -1,3 +1,3 @@
 AUTOMAKE_OPTIONS = gnu
-SUBDIRS = antiscrollbar movietagger webinterface wirelesslan netcaster lastfm logomanager vlcplayer simplerss trafficinfo fritzcall webcamviewer emailclient autotimer epgrefresh werbezapper httpproxy startuptostandby imdb ofdb networkwizard movieretitle moviecut tageditor cdinfo unwetterzentrale youtubeplayer
+SUBDIRS = antiscrollbar movietagger webinterface wirelesslan netcaster lastfm logomanager vlcplayer simplerss trafficinfo fritzcall webcamviewer emailclient autotimer epgrefresh werbezapper httpproxy startuptostandby imdb ofdb networkwizard movieretitle moviecut tageditor cdinfo unwetterzentrale youtubeplayer zaphistorybrowser
 
index 6fea58c..c867c33 100644 (file)
@@ -139,4 +139,7 @@ youtubeplayer/Makefile
 youtubeplayer/src/Makefile
 youtubeplayer/src/Nemesis.GlassLine_Mod/Makefile
 
+zaphistorybrowser/Makefile
+zaphistorybrowser/src/Makefile
+
 ])
diff --git a/zaphistorybrowser/CONTROL/control b/zaphistorybrowser/CONTROL/control
new file mode 100644 (file)
index 0000000..4e9984b
--- /dev/null
@@ -0,0 +1,11 @@
+Package: enigma2-plugin-extensions-zaphistorybrowser
+Version: 0.1-r0
+Description: Shows a list containing the zapping-history and allows user to zap to the entries or to modify them
+Architecture: all
+Section: extra
+Priority: optional
+Maintainer: Nabil Hanna <nabil1978@web.de>
+Homepage: http://code.google.com/p/enigma2
+Depends: enigma2
+Source: http://enigma2-plugins.schwerkraft.elitedvb.net/
+
diff --git a/zaphistorybrowser/Makefile.am b/zaphistorybrowser/Makefile.am
new file mode 100644 (file)
index 0000000..308a09c
--- /dev/null
@@ -0,0 +1 @@
+SUBDIRS = src\r
diff --git a/zaphistorybrowser/src/Makefile.am b/zaphistorybrowser/src/Makefile.am
new file mode 100644 (file)
index 0000000..4d00cc1
--- /dev/null
@@ -0,0 +1,3 @@
+installdir = /usr/lib/enigma2/python/Plugins/Extensions/ZapHistoryBrowser\r
+\r
+install_PYTHON = __init__.py plugin.py\r
diff --git a/zaphistorybrowser/src/__init__.py b/zaphistorybrowser/src/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/zaphistorybrowser/src/plugin.py b/zaphistorybrowser/src/plugin.py
new file mode 100644 (file)
index 0000000..a640e9f
--- /dev/null
@@ -0,0 +1,83 @@
+##
+## Zap-History Browser
+## by AliAbdul
+##
+from Components.ActionMap import ActionMap
+from Components.Label import Label
+from Components.MenuList import MenuList
+from enigma import eServiceCenter
+from Plugins.Plugin import PluginDescriptor
+from Screens.Screen import Screen
+
+################################################
+
+class ZapHistoryBrowser(Screen):
+       skin = """
+       <screen position="200,80" size="320,440" title="Zap-History Browser" >
+               <ePixmap pixmap="skin_default/buttons/red.png" position="10,0" size="140,40" transparent="1" alphatest="on" />
+               <ePixmap pixmap="skin_default/buttons/green.png" position="170,0" size="140,40" transparent="1" alphatest="on" />
+               <widget name="key_red" position="10,0" zPosition="1" size="140,40" font="Regular;20" valign="center" halign="center" backgroundColor="#1f771f" transparent="1" />
+               <widget name="key_green" position="170,0" zPosition="1" size="140,40" font="Regular;20" valign="center" halign="center" backgroundColor="#1f771f" transparent="1" />
+               <widget name="list" position="0,40" size="320,400" scrollbarMode="showOnDemand" />
+       </screen>"""
+
+       def __init__(self, session, servicelist):
+               Screen.__init__(self, session)
+               
+               self.servicelist = servicelist
+               self.serviceHandler = eServiceCenter.getInstance()
+               
+               self["list"] = MenuList([])
+               self["key_red"] = Label(_("Clear"))
+               self["key_green"] = Label(_("Delete"))
+               
+               self["actions"] = ActionMap(["OkCancelActions", "ColorActions"],
+                       {
+                               "ok": self.zap,
+                               "cancel": self.close,
+                               "red": self.clear,
+                               "green": self.delete
+                       }, prio=-1)
+               
+               self.onLayoutFinish.append(self.buildList)
+
+       def buildList(self):
+               list = []
+               for x in self.servicelist.history:
+                       if len(x) == 2:
+                               #print "Single-Bouquet!!!"
+                               ref = x[1]
+                       else:
+                               #print "Multi-Bouquet!!!"
+                               ref = x[2]
+                       info = self.serviceHandler.info(ref)
+                       name = info.getName(ref).replace('\xc2\x86', '').replace('\xc2\x87', '')
+                       list.append(name)
+               list.reverse()
+               self["list"].setList(list)
+
+       def zap(self):
+               length = len(self.servicelist.history)
+               if length > 0:
+                       self.servicelist.history_pos = (length - self["list"].getSelectionIndex()) - 1
+                       self.servicelist.setHistoryPath()
+
+       def clear(self):
+               for i in range(0, len(self.servicelist.history)):
+                       del self.servicelist.history[0]
+               self.buildList()
+
+       def delete(self):
+               length = len(self.servicelist.history)
+               if length > 0:
+                       idx = (length - self["list"].getSelectionIndex()) - 1
+                       del self.servicelist.history[idx]
+                       self.buildList()
+
+################################################
+
+def main(session, servicelist, **kwargs):
+       session.open(ZapHistoryBrowser, servicelist)
+
+def Plugins(**kwargs):
+       return PluginDescriptor(name=_("Zap-History Browser"), where=PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)