diff --git a/src/EditProfileDialog.cpp b/src/EditProfileDialog.cpp index 2eee77924..cf3417145 100644 --- a/src/EditProfileDialog.cpp +++ b/src/EditProfileDialog.cpp @@ -33,6 +33,7 @@ #include #include #include +#include // Konsole #include "ColorScheme.h" @@ -850,10 +851,24 @@ void ColorSchemeViewDelegate::paint(QPainter* painter, const QStyleOptionViewIte Q_ASSERT(scheme); + bool transparencyAvailable = KWindowSystem::compositingActive(); + // draw background - QBrush brush(scheme->backgroundColor()); - painter->fillRect( option.rect , brush ); - + QColor color = scheme->backgroundColor(); + + if ( transparencyAvailable ) + { + painter->save(); + color.setAlphaF(scheme->opacity()); + painter->setCompositionMode( QPainter::CompositionMode_Source ); + painter->fillRect( option.rect , color ); + painter->restore(); + } + else + { + painter->fillRect( option.rect , color ); + } + // draw border on selected items if ( option.state & QStyle::State_Selected ) {