diff options
| -rw-r--r-- | data/skin.xml | 2 | ||||
| -rw-r--r-- | lib/gui/ewindowstyle.cpp | 4 | ||||
| -rw-r--r-- | lib/gui/ewindowstyle.h | 3 | ||||
| -rw-r--r-- | lib/gui/ewindowstyleskinned.cpp | 4 | ||||
| -rw-r--r-- | lib/gui/ewindowstyleskinned.h | 2 | ||||
| -rw-r--r-- | lib/service/listboxservice.cpp | 2 |
6 files changed, 15 insertions, 2 deletions
diff --git a/data/skin.xml b/data/skin.xml index 50646655..68985630 100644 --- a/data/skin.xml +++ b/data/skin.xml @@ -21,6 +21,8 @@ <color name="ListboxSelectedForeground" color="#ffffff" /> <color name="ListboxMarkedBackground" color="#ff0000" /> <color name="ListboxMarkedForeground" color="#ffffff" /> + <color name="ListboxMarkedAndSelectedBackground" color="#800000" /> + <color name="ListboxMarkedAndSelectedForeground" color="#ffffff" /> <color name="WindowTitleForeground" color="#ffffff" /> <color name="WindowTitleBackground" color="#33294a6b" /> <borderset name="bsWindow"> diff --git a/lib/gui/ewindowstyle.cpp b/lib/gui/ewindowstyle.cpp index 86ff8a42..4cfaa8d4 100644 --- a/lib/gui/ewindowstyle.cpp +++ b/lib/gui/ewindowstyle.cpp @@ -109,6 +109,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; } } diff --git a/lib/gui/ewindowstyle.h b/lib/gui/ewindowstyle.h index 04d9d44a..3c9c805b 100644 --- a/lib/gui/ewindowstyle.h +++ b/lib/gui/ewindowstyle.h @@ -18,7 +18,8 @@ public: styleLabel, styleListboxSelected, styleListboxNormal, - styleListboxMarked + styleListboxMarked, + styleListboxMarkedAndSelected }; virtual void drawFrame(gPainter &painter, const eRect &frame, int type) = 0; diff --git a/lib/gui/ewindowstyleskinned.cpp b/lib/gui/ewindowstyleskinned.cpp index 5da4696e..a3cc3c5f 100644 --- a/lib/gui/ewindowstyleskinned.cpp +++ b/lib/gui/ewindowstyleskinned.cpp @@ -70,6 +70,10 @@ void eWindowStyleSkinned::setStyle(gPainter &painter, int what) painter.setForegroundColor(m_color[colListboxMarkedForeground]); painter.setBackgroundColor(m_color[colListboxMarkedBackground]); break; + case styleListboxMarkedAndSelected: + painter.setForegroundColor(m_color[colListboxMarkedAndSelectedForeground]); + painter.setBackgroundColor(m_color[colListboxMarkedAndSelectedBackground]); + break; } } diff --git a/lib/gui/ewindowstyleskinned.h b/lib/gui/ewindowstyleskinned.h index 17988f65..1c16a7b5 100644 --- a/lib/gui/ewindowstyleskinned.h +++ b/lib/gui/ewindowstyleskinned.h @@ -61,6 +61,8 @@ public: colListboxSelectedForeground, colListboxMarkedBackground, colListboxMarkedForeground, + colListboxMarkedAndSelectedBackground, + colListboxMarkedAndSelectedForeground, colWindowTitleForeground, colWindowTitleBackground, diff --git a/lib/service/listboxservice.cpp b/lib/service/listboxservice.cpp index 13538e99..c869b49c 100644 --- a/lib/service/listboxservice.cpp +++ b/lib/service/listboxservice.cpp @@ -358,7 +358,7 @@ void eListboxServiceContent::paint(gPainter &painter, eWindowStyle &style, const if (m_current_marked && selected) style.setStyle(painter, eWindowStyle::styleListboxMarked); else if (cursorValid() && isMarked(*m_cursor)) - style.setStyle(painter, eWindowStyle::styleListboxMarked); + style.setStyle(painter, selected ? eWindowStyle::styleListboxMarkedAndSelected : eWindowStyle::styleListboxMarked); else style.setStyle(painter, selected ? eWindowStyle::styleListboxSelected : eWindowStyle::styleListboxNormal); painter.clear(); |
