ok, hab den fehler gefunden...was so ein buchstabe ausmachen kann.
in /usr/lib/enigma2/python/Screens die Datei InfoBar.py öffnen und die untenstehenden Anpassungen machen:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
def handleLeave(self, how):
self.is_closing = True
if how == "ask":
if config.usage.setup_level.index < 2: # -expert
list = (
(_("Yes"), "quit"),
(_("No"), "continue")
)
else:
list = (
(_("Yes"), "quit"),
(_("Yes, returning to movie list"), "movielist"),
(_("Yes, and delete this movie"), "quitanddelete"),
(_("Yes, and after deleting return to movie list"), "returnanddelete"),
(_("No"), "continue"),
(_("No, but restart from begin"), "restart")
)
from Screens.ChoiceBox import ChoiceBox
self.session.openWithCallback(self.leavePlayerConfirmed, ChoiceBox, title=_("Stop playing this movie?"), list = list)
else:
self.leavePlayerConfirmed([True, how])
def leavePlayer(self):
self.handleLeave(config.usage.on_movie_stop.value)
|
Zeile 14 ist neu.
|
Source code
|
1
2
3
4
5
6
7
|
def deleteConfirmed(self, answer):
if answer:
self.leavePlayerConfirmed((True, "quitanddeleteconfirmed"))
def returnanddeleteConfirmed(self, answer):
if answer:
self.leavePlayerConfirmed((True, "returnanddeleteconfirmed"))
|
Zeile 5 - 7 sind neu.
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
def leavePlayerConfirmed(self, answer):
answer = answer and answer[1]
if answer in ("quitanddelete", "quitanddeleteconfirmed", "returnanddelete", "returnanddeleteconfirmed"):
ref = self.session.nav.getCurrentlyPlayingServiceReference()
from enigma import eServiceCenter
serviceHandler = eServiceCenter.getInstance()
info = serviceHandler.info(ref)
name = info and info.getName(ref) or _("this recording")
if answer == "quitanddelete":
from Screens.MessageBox import MessageBox
self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Do you really want to delete %s?") % name)
return
elif answer == "returnanddelete":
from Screens.MessageBox import MessageBox
self.session.openWithCallback(self.returnanddeleteConfirmed, MessageBox, _("Do you really want to delete %s?") % name)
return
elif answer in("quitanddeleteconfirmed", "returnanddeleteconfirmed"):
offline = serviceHandler.offlineOperations(ref)
if offline.deleteFromDisk(0):
from Screens.MessageBox import MessageBox
self.session.openWithCallback(self.close, MessageBox, _("You cannot delete this!"), MessageBox.TYPE_ERROR)
return
if answer in ("quit", "quitanddeleteconfirmed"):
self.close()
elif answer in ("movielist", "returnanddeleteconfirmed"):
ref = self.session.nav.getCurrentlyPlayingServiceReference()
self.returning = True
from Screens.MovieSelection import MovieSelection
self.session.openWithCallback(self.movieSelected, MovieSelection, ref)
self.session.nav.stopService()
elif answer == "restart":
self.doSeek(0)
|
Zeile 4 um , "returnanddelete", "returnanddeleteconfirmed" ergänzt
Zeile 15 - 18 hinzugefügt
Zeile 20 abgeändert: elif answer in("quitanddeleteconfirmed", "returnanddeleteconfirmed"): statt elif answer == "quitanddeleteconfirmed":
Zeile 29 abgeändert: elif answer in ("movielist", "returnanddeleteconfirmed"): statt elif answer == "movielist":
Das müsste alles sein. ich bin mir bewusst, dass man evtl. das ganze noch ein wenig vereinfachen könnte. da ich aber nicht weiss, ob deleteConfirmed noch sonst wo gebraucht wird, habe ich lieber eine neue funktion geschrieben.
funktionieren tut der code. vielleicht check dmm das ja noch ein...