From 15a8fe81499c156e251986f5bd33801f54c140e9 Mon Sep 17 00:00:00 2001 From: Fraxinas Date: Mon, 20 Apr 2009 09:13:58 +0200 Subject: [PATCH] allow progress in TemplatedMultiContent lists - patch by courtesy of nightman --- lib/gui/elistboxcontent.cpp | 4 ++++ lib/python/Components/Converter/TemplatedMultiContent.py | 6 +++--- lib/python/Components/MultiContent.py | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 081bde7..3c9457e 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -909,6 +909,10 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c if ((filled < 0) && data) /* if the string is in a negative number, it refers to the 'data' list. */ filled = PyInt_AsLong(PyTuple_GetItem(data, -filled)); + + /* don't do anything if percent out of range */ + if ((filled < 0) || (filled > 100)) + continue; int bwidth = pborderWidth ? PyInt_AsLong(pborderWidth) : 2; diff --git a/lib/python/Components/Converter/TemplatedMultiContent.py b/lib/python/Components/Converter/TemplatedMultiContent.py index 203af23..25c4b1a 100644 --- a/lib/python/Components/Converter/TemplatedMultiContent.py +++ b/lib/python/Components/Converter/TemplatedMultiContent.py @@ -5,7 +5,7 @@ class TemplatedMultiContent(StringList): def __init__(self, args): StringList.__init__(self, args) from enigma import eListboxPythonMultiContent, gFont, RT_HALIGN_LEFT, RT_HALIGN_CENTER, RT_HALIGN_RIGHT, RT_VALIGN_TOP, RT_VALIGN_CENTER, RT_VALIGN_BOTTOM, RT_WRAP - from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmap, MultiContentEntryPixmapAlphaTest, MultiContentTemplateColor + from Components.MultiContent import MultiContentEntryText, MultiContentEntryPixmap, MultiContentEntryPixmapAlphaTest, MultiContentTemplateColor, MultiContentEntryProgress l = locals() del l["self"] # cleanup locals a bit del l["args"] @@ -37,7 +37,7 @@ class TemplatedMultiContent(StringList): if what[0] == self.CHANGED_SPECIFIC and what[1] == "style": self.setTemplate() return - + if self.source: self.content.setList(self.source.list) self.setTemplate() @@ -50,7 +50,7 @@ class TemplatedMultiContent(StringList): if style == self.active_style: return # style did not change - # if skin defined "templates", that means that it defines multiple styles in a dict. template should still be a default + # if skin defined "templates", that means that it defines multiple styles in a dict. template should still be a default templates = self.template.get("templates") template = self.template.get("template") diff --git a/lib/python/Components/MultiContent.py b/lib/python/Components/MultiContent.py index ff0219f..6afd094 100644 --- a/lib/python/Components/MultiContent.py +++ b/lib/python/Components/MultiContent.py @@ -10,3 +10,7 @@ def MultiContentEntryPixmap(pos = (0, 0), size = (0, 0), png = None, backcolor = def MultiContentEntryPixmapAlphaTest(pos = (0, 0), size = (0, 0), png = None, backcolor = None, backcolor_sel = None): return (eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, pos[0], pos[1], size[0], size[1], png, backcolor, backcolor_sel) + +def MultiContentEntryProgress(pos = (0, 0), size = (0, 0), percent = None, borderWidth = None, foreColor = None, backColor = None, backColorSelected = None): + return (eListboxPythonMultiContent.TYPE_PROGRESS, pos[0], pos[1], size[0], size[1], percent, borderWidth, foreColor, backColor, backColorSelected) + -- 2.7.4