<key id="KEY_RADIO" mapto="keyRadio" flags="m" />
</map>
+ <map context="TimerEditActions">
+ <key id="KEY_INFO" mapto="log" flags="m" />
+ </map>
+
<map context="EPGSelectActions">
<key id="KEY_GREEN" mapto="timerAdd" flags="m" />
<key id="KEY_YELLOW" mapto="yellow" flags="m" />
<key id="KEY_ENTER" mapto="ok" flags="m" />
<key id="KEY_ESC" mapto="cancel" flags="m" />
</map>
+
+ <map context="DirectionActions">
+ <key id="KEY_UP" mapto="up" flags="m" />
+ <key id="KEY_DOWN" mapto="down" flags="m" />
+ <key id="KEY_LEFT" mapto="left" flags="m" />
+ <key id="KEY_RIGHT" mapto="right" flags="m" />
+ </map>
+
+ <map context="ColorActions">
+ <key id="KEY_RED" mapto="red" flags="m" />
+ <key id="KEY_GREEN" mapto="green" flags="m" />
+ <key id="KEY_YELLOW" mapto="yellow" flags="m" />
+ <key id="KEY_BLUE" mapto="blue" flags="m" />
+ </map>
<map context="MsgBoxActions">
<key id="KEY_GREEN" mapto="alwaysOK" flags="m" />
<widget name="key_yellow" position="280,0" size="140,40" backgroundColor="yellow" font="Regular;21" />
<widget name="key_blue" position="420,0" size="140,40" backgroundColor="blue" font="Regular;21" />
</screen>
+ <screen name="TimerLog" position="70,100" size="560,400" title="Timer log">
+ <widget name="loglist" position="0,45" size="560,250" scrollbarMode="showOnDemand" />
+ <widget name="logentry" position="0,300" size="560,140" font="Regular;20" />
+ <widget name="key_red" position="0,0" size="140,40" backgroundColor="red" font="Regular;21" />
+ <widget name="key_green" position="140,0" size="140,40" backgroundColor="green" font="Regular;21" />
+ <widget name="key_yellow" position="280,0" size="140,40" backgroundColor="yellow" font="Regular;21" />
+ <widget name="key_blue" position="420,0" size="140,40" backgroundColor="blue" font="Regular;21" />
+ </screen>
<screen name="clockDisplay" position="300,100" size="300,300">
<widget name="okbutton" position="10,10" size="280,40" />
<widget name="title" position="10,120" size="280,50" />
self["list"] = LanguageList(self.list)
self.updateList()
- self["actions"] = ActionMap(["WizardActions"],
+ self["actions"] = ActionMap(["OkCancelActions", "DirectionActions"],
{
"ok": self.save,
- "back": self.close,
+ "cancel": self.close,
"up": self.up,
- "down": self.down
+ "down": self.down,
+ "left": self.left,
+ "right": self.right
}, -1)
def save(self):
self["list"].instance.moveSelection(self["list"].instance.moveDown)
self.run()
self.updateList()
+
+ def left(self):
+ self["list"].instance.moveSelection(self["list"].instance.pageUp)
+ self.run()
+ self.updateList()
+
+ def right(self):
+ self["list"].instance.moveSelection(self["list"].instance.pageDown)
+ self.run()
+ self.updateList()
\ No newline at end of file
from Components.TimeInput import TimeInput
from Components.Label import Label
from Components.Button import Button
-from TimerEntry import TimerEntry
+from TimerEntry import TimerEntry, TimerLog
from RecordTimer import RecordTimerEntry, parseEvent
from time import *
from ServiceReference import ServiceReference
self["key_yellow"] = Button("")
self["key_blue"] = Button("")
- self["actions"] = ActionMap(["OkCancelActions", "ShortcutActions"],
+ self["actions"] = ActionMap(["OkCancelActions", "ShortcutActions", "TimerEditActions"],
{
"ok": self.openEdit,
"cancel": self.leave,
"red": self.removeTimer,
- "green": self.addCurrentTimer
+ "green": self.addCurrentTimer,
+ "log": self.showLog
})
self.session.nav.RecordTimer.on_state_change.append(self.onStateChange)
for timer in self.session.nav.RecordTimer.processed_timers:
self.list.append(TimerEntryComponent(timer, processed=True))
+ def showLog(self):
+ self.session.openWithCallback(self.finishedEdit, TimerLog, self["timerlist"].getCurrent()[0])
+
def openEdit(self):
self.session.openWithCallback(self.finishedEdit, TimerEntry, self["timerlist"].getCurrent()[0])
#self.session.open(TimerEdit, self["timerlist"].getCurrent()[0])
from Components.config import *
from Components.ActionMap import NumberActionMap
from Components.ConfigList import ConfigList
+from Components.MenuList import MenuList
+from Components.Button import Button
from Components.NimManager import nimmanager
from Components.Label import Label
from Components.Pixmap import Pixmap
from Screens.SubserviceSelection import SubserviceSelection
+from Screens.MessageBox import MessageBox
from enigma import eEPGCache
import time
import datetime
class TimerEntry(Screen):
def __init__(self, session, timer):
Screen.__init__(self, session)
- self.timer = timer;
+ self.timer = timer
self["oktext"] = Label(_("OK"))
self["canceltext"] = Label(_("Cancel"))
def keyCancel(self):
self.close((False,))
+
+class TimerLog(Screen):
+ def __init__(self, session, timer):
+ Screen.__init__(self, session)
+ self.timer = timer;
+ self.log_entries = self.timer.log_entries[:]
+
+ self.fillLogList()
+
+ self["loglist"] = MenuList(self.list)
+ self["logentry"] = Label()
+
+ self["key_red"] = Button(_("Delete entry"))
+ self["key_green"] = Button()
+ self["key_yellow"] = Button("")
+ self["key_blue"] = Button(_("Clear log"))
+
+ self.onShown.append(self.updateText)
+
+ self["actions"] = NumberActionMap(["OkCancelActions", "DirectionActions", "ColorActions"],
+ {
+ "ok": self.keyClose,
+ "cancel": self.keyClose,
+ "up": self.up,
+ "down": self.down,
+ "left": self.left,
+ "right": self.right,
+ "red": self.deleteEntry,
+ "blue": self.clearLog
+ }, -1)
+
+ def deleteEntry(self):
+ self.log_entries.remove(self["loglist"].getCurrent()[1])
+ self.fillLogList()
+ self["loglist"].l.setList(self.list)
+ self.updateText()
+
+ def fillLogList(self):
+ self.list = [ ]
+ for x in self.log_entries:
+ self.list.append((str(strftime("%Y-%m-%d %H-%M", localtime(x[0])) + " - " + x[2]), x))
+
+ def clearLog(self):
+ self.log_entries = []
+ self.fillLogList()
+ self["loglist"].l.setList(self.list)
+ self.updateText()
+
+ def keyClose(self):
+ if self.timer.log_entries != self.log_entries:
+ self.timer.log_entries = self.log_entries
+ self.close((True, self.timer))
+ else:
+ self.close((False,))
+
+ def up(self):
+ self["loglist"].instance.moveSelection(self["loglist"].instance.moveUp)
+ self.updateText()
+
+ def down(self):
+ self["loglist"].instance.moveSelection(self["loglist"].instance.moveDown)
+ self.updateText()
+
+ def left(self):
+ self["loglist"].instance.moveSelection(self["loglist"].instance.pageUp)
+ self.updateText()
+
+ def right(self):
+ self["loglist"].instance.moveSelection(self["loglist"].instance.pageDown)
+ self.updateText()
+
+ def updateText(self):
+ if len(self.list) > 0:
+ self["logentry"].setText(str(self["loglist"].getCurrent()[1][2]))
+ else:
+ self["logentry"].setText("")