diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-26 19:44:12 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2007-07-26 19:44:12 +0000 |
| commit | 13bd9764b67721730bb77da340717d9c40e8c740 (patch) | |
| tree | 93322db36a2ff9b9a4309479fa7dfeb056c2fd6f /lib/gui/elistboxcontent.cpp | |
| parent | 470e1bf98764d9e0c6cdc463b2f2e1a2bb453ce8 (diff) | |
| download | enigma2-13bd9764b67721730bb77da340717d9c40e8c740.tar.gz enigma2-13bd9764b67721730bb77da340717d9c40e8c740.zip | |
add possibility to set backgroundcolor for multicontent text entries too
Diffstat (limited to 'lib/gui/elistboxcontent.cpp')
| -rw-r--r-- | lib/gui/elistboxcontent.cpp | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index d4d8f609..cba25a18 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -479,7 +479,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c goto error_out; } - ePyObject px, py, pwidth, pheight, pfnt, pstring, pflags, pcolor, pfillColor, pborderWidth, pborderColor; + ePyObject px, py, pwidth, pheight, pfnt, pstring, pflags, pcolor, pbackColor, pbackColorSelected, pborderWidth, pborderColor; /* we have a list of tuples: @@ -531,14 +531,20 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c } if (size > 9) { - pfillColor = PyTuple_GET_ITEM(item, 9); - if (pfillColor == Py_None) - pfillColor=ePyObject(); + pbackColor = PyTuple_GET_ITEM(item, 9); + if (pbackColor == Py_None) + pbackColor=ePyObject(); } if (size > 10) - pborderWidth = PyTuple_GET_ITEM(item, 10); + { + pbackColorSelected = PyTuple_GET_ITEM(item, 10); + if (pbackColorSelected == Py_None) + pbackColorSelected=ePyObject(); + } if (size > 11) - pborderColor = PyTuple_GET_ITEM(item, 11); + pborderWidth = PyTuple_GET_ITEM(item, 11); + if (size > 12) + pborderColor = PyTuple_GET_ITEM(item, 12); } switch (type) @@ -577,9 +583,15 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c rc &= itemrect; painter.clip(rc); - if (pfillColor && !selected) + if (pbackColor && !selected) + { + int color = PyInt_AsLong(pbackColor); + painter.setBackgroundColor(gRGB(color)); + painter.clear(); + } + else if (pbackColorSelected && selected) { - int color = PyInt_AsLong(pfillColor); + int color = PyInt_AsLong(pbackColorSelected); painter.setBackgroundColor(gRGB(color)); painter.clear(); } @@ -600,7 +612,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c int color = PyInt_AsLong(pborderColor); painter.setForegroundColor(gRGB(color)); } - else if (pcolor) + else if (pcolor) // reset to normal color style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); rc.setRect(x, y, width, bwidth); @@ -704,7 +716,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c goto error_out; } - if (pcolor || pborderColor || pfillColor) + if (pcolor || pborderColor || pbackColor || pbackColorSelected) style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); } } |
