diff options
Diffstat (limited to 'lib/gui/elistboxcontent.cpp')
| -rw-r--r-- | lib/gui/elistboxcontent.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/lib/gui/elistboxcontent.cpp b/lib/gui/elistboxcontent.cpp index 4da1618c..dccd1b05 100644 --- a/lib/gui/elistboxcontent.cpp +++ b/lib/gui/elistboxcontent.cpp @@ -182,7 +182,7 @@ void eListboxPythonStringContent::paint(gPainter &painter, eWindowStyle &style, { if (local_style->m_background && cursorValid) painter.blit(local_style->m_background, offset, eRect(), gPainter::BT_ALPHATEST); - else + else if (selected && !local_style->m_selection) painter.clear(); } @@ -319,7 +319,7 @@ void eListboxPythonConfigContent::paint(gPainter &painter, eWindowStyle &style, { if (local_style->m_background && cursorValid) painter.blit(local_style->m_background, offset, eRect(), gPainter::BT_ALPHATEST); - else + else if (selected && !local_style->m_selection) painter.clear(); } @@ -533,6 +533,8 @@ static void clearRegionHelper(gPainter &painter, eListboxStyle *local_style, con painter.blit(local_style->m_background, offset, eRect(), 0); return; } + else if (local_style->m_transparent_background) + return; } painter.clear(); } @@ -556,6 +558,8 @@ static void clearRegionSelectedHelper(gPainter &painter, eListboxStyle *local_st painter.blit(local_style->m_background, offset, eRect(), 0); return; } + else if (local_style->m_transparent_background) + return; } painter.clear(); } @@ -1002,7 +1006,7 @@ void eListboxPythonMultiContent::paint(gPainter &painter, eWindowStyle &style, c } } - if (selected && (!local_style || !local_style->m_selection)) + if (selected && !sel_clip.valid() && (!local_style || !local_style->m_selection)) style.drawFrame(painter, eRect(offset, m_itemsize), eWindowStyle::frameListboxEntry); error_out: @@ -1041,7 +1045,7 @@ int eListboxPythonMultiContent::currentCursorSelectable() { bool retval = ret == Py_True; Py_DECREF(ret); - return ret; + return retval; } eDebug("call m_selectableFunc failed!!! assume not callable"); } |
