X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/08fca93e7f2a37a452399d08c5c84b969b7e52af..92456d9542585d58e011fa4f0b501de3ef9c1819:/lib/python/Components/MediaPlayer.py diff --git a/lib/python/Components/MediaPlayer.py b/lib/python/Components/MediaPlayer.py index b6b2e432..b2cb4eb5 100644 --- a/lib/python/Components/MediaPlayer.py +++ b/lib/python/Components/MediaPlayer.py @@ -24,15 +24,15 @@ STATE_REWIND = 3 STATE_FORWARD = 4 STATE_NONE = 5 -PlayIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "play-small-fs8.png")) -PauseIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "pause-small-fs8.png")) -StopIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "stop-small-fs8.png")) -RewindIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "rewind-small-fs8.png")) -ForwardIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "forward-small-fs8.png")) +PlayIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_play.png")) +PauseIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_pause.png")) +StopIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_stop.png")) +RewindIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_rewind.png")) +ForwardIcon = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "ico_mp_forward.png")) def PlaylistEntryComponent(serviceref, state): res = [ serviceref ] - res.append((eListboxPythonMultiContent.TYPE_TEXT, 35, 0, 250, 32, 0, RT_VALIGN_CENTER, os.path.split(serviceref.getPath().split('/')[-1])[1])) + res.append((eListboxPythonMultiContent.TYPE_TEXT,25, 0, 470, 32, 0, RT_VALIGN_CENTER, os.path.split(serviceref.getPath().split('/')[-1])[1])) png = None if state == STATE_PLAY: png = PlayIcon @@ -46,29 +46,32 @@ def PlaylistEntryComponent(serviceref, state): png = ForwardIcon if png is not None: - res.append((eListboxPythonMultiContent.TYPE_PIXMAP, 0, 0, 33, 32, png)) + res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 5, 0, 16, 16, png)) return res -class PlayList(HTMLComponent, GUIComponent, MenuList): +class PlayList(MenuList, HTMLComponent, GUIComponent): def __init__(self): GUIComponent.__init__(self) self.l = eListboxPythonMultiContent() self.list = [] self.l.setList(self.list) self.l.setFont(0, gFont("Regular", 18)) - self.currPlaying = 0 + self.currPlaying = -1 self.oldCurrPlaying = -1 def clear(self): - self.list = [] + del self.list[:] self.l.setList(self.list) - - def GUIcreate(self, parent): - self.instance = eListbox(parent) - self.instance.setContent(self.l) - self.instance.setItemHeight(32) - + self.currPlaying = 0 + self.oldCurrPlaying = -1 + + GUI_WIDGET = eListbox + + def postWidgetCreate(self, instance): + instance.setContent(self.l) + instance.setItemHeight(22) + def getSelection(self): return self.l.getCurrentSelection()[0] @@ -79,15 +82,17 @@ class PlayList(HTMLComponent, GUIComponent, MenuList): self.list.append(PlaylistEntryComponent(serviceref, STATE_NONE)) def deleteFile(self, index): - if self.currPlaying > index: + if self.currPlaying >= index: self.currPlaying -= 1 - self.list = self.list[:index] + self.list[index + 1:] - + del self.list[index] + def setCurrentPlaying(self, index): self.oldCurrPlaying = self.currPlaying self.currPlaying = index def updateState(self, state): + if self.currPlaying == -1: + return if len(self.list) > self.oldCurrPlaying and self.oldCurrPlaying != -1: self.list[self.oldCurrPlaying] = PlaylistEntryComponent(self.list[self.oldCurrPlaying][0], STATE_NONE) self.list[self.currPlaying] = PlaylistEntryComponent(self.list[self.currPlaying][0], state) @@ -121,4 +126,4 @@ class PlayList(HTMLComponent, GUIComponent, MenuList): return list def __len__(self): - return len(self.list) \ No newline at end of file + return len(self.list)