raise SkinErrors instead of string
[enigma2.git] / lib / gui / elistboxcontent.cpp
index d0e8519891987508eec28f28d671a9fe06e971f7..8331ca1123ad6026d32d78b100d242e8ffa2edf9 100644 (file)
@@ -153,7 +153,7 @@ void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style,
 
                /* same for foreground */
        if (local_style && local_style->m_foreground_color_set)
-               painter.setBackgroundColor(local_style->m_foreground_color);
+               painter.setForegroundColor(local_style->m_foreground_color);
 
                /* if we have no transparent background */
        if (!local_style || !local_style->m_transparent_background)
@@ -165,8 +165,10 @@ void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style,
                        painter.clear();
        } else
        {
-               if (local_style && local_style->m_background)
+               if (local_style->m_background)
                        painter.blit(local_style->m_background, offset, eRect(), gPainter::BT_ALPHATEST);
+               else if (selected && !local_style->m_selection)
+                       painter.clear();
        }
 
        if (m_list && cursorValid())
@@ -272,7 +274,7 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style,
 
                /* same for foreground */
        if (local_style && local_style->m_foreground_color_set)
-               painter.setBackgroundColor(local_style->m_foreground_color);
+               painter.setForegroundColor(local_style->m_foreground_color);
 
        if (!local_style || !local_style->m_transparent_background)
                /* if we have no transparent background */
@@ -284,8 +286,10 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style,
                        painter.clear();
        } else
        {
-               if (local_style && local_style->m_background)
+               if (local_style->m_background)
                        painter.blit(local_style->m_background, offset, eRect(), gPainter::BT_ALPHATEST);
+               else if (selected && !local_style->m_selection)
+                       painter.clear();
        }
 
        if (m_list && cursorValid())
@@ -538,7 +542,7 @@ static void clearRegion(gPainter &painter, eWindowStyle &style, eListboxStyle *l
                painter.setForegroundColor(gRGB(color));
        }/* if we have a local foreground color set, use that. */
        else if (local_style && local_style->m_foreground_color_set)
-               painter.setBackgroundColor(local_style->m_foreground_color);
+               painter.setForegroundColor(local_style->m_foreground_color);
 }
 
 void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, const ePoint &offset, int selected)