aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-25 05:51:44 +0000
committerStefan Pluecken <stefan.pluecken@multimedia-labs.de>2005-11-25 05:51:44 +0000
commite330dbae62e83dd2aa2ff63a984519a84b23c3ad (patch)
tree7138f778d7a7817f01413931ab29d88ca2f13c7e /lib/python
parent6f1188bea106d335f993729e4971770deac88619 (diff)
downloadenigma2-e330dbae62e83dd2aa2ff63a984519a84b23c3ad.tar.gz
enigma2-e330dbae62e83dd2aa2ff63a984519a84b23c3ad.zip
add a blinking point to the infobar
the blinking point appears when doing an instant record it is a hack up to now the point looks ugly, because the transparency needs to be explored first
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/BlinkingPoint.py55
-rw-r--r--lib/python/Components/Makefile.am3
-rw-r--r--lib/python/Components/Pixmap.py25
-rw-r--r--lib/python/Screens/InfoBarGenerics.py9
4 files changed, 90 insertions, 2 deletions
diff --git a/lib/python/Components/BlinkingPoint.py b/lib/python/Components/BlinkingPoint.py
new file mode 100644
index 00000000..b5a45dbb
--- /dev/null
+++ b/lib/python/Components/BlinkingPoint.py
@@ -0,0 +1,55 @@
+from HTMLComponent import *
+from GUIComponent import *
+
+from Pixmap import Pixmap
+
+from enigma import *
+
+import time
+
+class BlinkingPoint(GUIComponent, Pixmap):
+ SHOWN = 0
+ HIDDEN = 1
+
+ def __init__(self):
+ Pixmap.__init__(self)
+ GUIComponent.__init__(self)
+
+ self.state = self.SHOWN
+ self.blinking = False
+
+ self.timer = eTimer()
+ self.timer.timeout.get().append(self.blink)
+
+ def createWidget(self, parent):
+ return self.getePixmap(parent, "/usr/share/enigma2/record.png")
+
+ def removeWidget(self, w):
+ pass
+
+ def showPoint(self):
+ print "Show point"
+ self.state = self.SHOWN
+ self.instance.show()
+
+ def hidePoint(self):
+ print "Hide point"
+ self.state = self.HIDDEN
+ self.instance.hide()
+
+ def blink(self):
+ if self.blinking == True:
+ if (self.state == self.SHOWN):
+ self.hidePoint()
+ elif (self.state == self.HIDDEN):
+ self.showPoint()
+
+ def startBlinking(self):
+ self.blinking = True
+ self.timer.start(500)
+
+ def stopBlinking(self):
+ self.blinking = False
+ if (self.state == self.SHOWN):
+ self.hidePoint()
+ self.timer.stop() \ No newline at end of file
diff --git a/lib/python/Components/Makefile.am b/lib/python/Components/Makefile.am
index c2787d9c..31eb61c1 100644
--- a/lib/python/Components/Makefile.am
+++ b/lib/python/Components/Makefile.am
@@ -9,4 +9,5 @@ install_PYTHON = \
GUIComponent.py MenuList.py TextInput.py __init__.py MovieList.py \
InputDevice.py ServicePosition.py SetupDevices.py Harddisk.py \
AVSwitch.py Network.py RFmod.py DiskInfo.py NimManager.py Lcd.py \
- EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py
+ EpgList.py ScrollLabel.py Timezones.py Language.py HelpMenuList.py \
+ BlinkingPoint.py Pixmap.py
diff --git a/lib/python/Components/Pixmap.py b/lib/python/Components/Pixmap.py
new file mode 100644
index 00000000..c97c0ab1
--- /dev/null
+++ b/lib/python/Components/Pixmap.py
@@ -0,0 +1,25 @@
+import skin
+
+from enigma import *
+
+class Pixmap:
+ """Pixmap can be used for components which use a pixmap"""
+
+ def __init__(self):
+ self.instance = None
+
+ def GUIcreate(self, parent):
+ self.instance = self.createWidget(parent)
+ #self.instance.setText(self.message)
+
+ def GUIdelete(self):
+ self.removeWidget(self.instance)
+ self.instance = None
+
+ def getePixmap(self, parent, filename):
+ pixmap = ePixmap(parent)
+ pixmap.setPixmapFromFile(filename)
+ return pixmap
+
+ def removeWidget(self, instance):
+ pass
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index 18ae1059..6c15c707 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -6,6 +6,7 @@ from Components.config import configfile, configsequencearg
from Components.config import config, configElement, ConfigSubsection, configSequence
from ChannelSelection import ChannelSelection
+from Components.BlinkingPoint import BlinkingPoint
from Components.ServiceName import ServiceName
from Components.EventInfo import EventInfo
@@ -386,15 +387,19 @@ class InfoBarInstantRecord:
"""Instant Record - handles the instantRecord action in order to
start/stop instant records"""
def __init__(self):
- self["InstnantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
+ self["InstantRecordActions"] = HelpableActionMap(self, "InfobarInstantRecord",
{
"instantRecord": (self.instantRecord, "Instant Record..."),
})
self.recording = None
+
+ self["BlinkingPoint"] = BlinkingPoint()
+ self.onShown.append(self["BlinkingPoint"].hidePoint)
def stopCurrentRecording(self):
self.session.nav.RecordTimer.removeEntry(self.recording)
self.recording = None
+ self["BlinkingPoint"].stopBlinking()
def startInstantRecording(self):
serviceref = self.session.nav.getCurrentlyPlayingServiceReference()
@@ -412,6 +417,8 @@ class InfoBarInstantRecord:
# fix me, description.
self.recording = self.session.nav.recordWithTimer(time.time(), time.time() + 3600, serviceref, epg, "instant record")
self.recording.dontSave = True
+
+ self["BlinkingPoint"].startBlinking()
def recordQuestionCallback(self, answer):
if answer == False: