fix restart of playback after EOF (fixes bug #241)
[enigma2.git] / lib / gui / ewindowstyle.cpp
index 86ff8a4267919783f8cacfca82107db6cf0d33d0..0ecdc2a245c79ae36ef750194d24ae3702592282 100644 (file)
@@ -9,6 +9,13 @@ eWindowStyle::~eWindowStyle() {}
 
 DEFINE_REF(eWindowStyleManager);
 
+ePtr<eWindowStyleManager> NewWindowStylePtr(void)
+{
+       ePtr<eWindowStyleManager> ptr;
+       eWindowStyleManager::getInstance(ptr);
+       return ptr;
+}
+
 eWindowStyleManager::eWindowStyleManager()
 {
        m_instance = this;
@@ -19,14 +26,16 @@ eWindowStyleManager::~eWindowStyleManager()
        m_instance = 0;
 }
 
-void eWindowStyleManager::getStyle(ePtr<eWindowStyle> &style)
+void eWindowStyleManager::getStyle(int style_id, ePtr<eWindowStyle> &style)
 {
-       style = m_current_style;
+       std::map<int, ePtr<eWindowStyle> >::iterator it = m_current_style.find(style_id);
+       ASSERT(it != m_current_style.end());
+       style = it->second;
 }
 
-void eWindowStyleManager::setStyle(eWindowStyle *style)
+void eWindowStyleManager::setStyle(int style_id, eWindowStyle *style)
 {
-       m_current_style = style;
+       m_current_style[style_id] = style;
 }
 
 eWindowStyleManager *eWindowStyleManager::m_instance;
@@ -109,6 +118,10 @@ void eWindowStyleSimple::setStyle(gPainter &painter, int what)
                painter.setForegroundColor(gColor(0x2F));
                painter.setBackgroundColor(gColor(0x2A));
                break;
+       case styleListboxMarkedAndSelected:
+               painter.setForegroundColor(gColor(0x3F));
+               painter.setBackgroundColor(gColor(0x3A));
+               break;
        }
 }