aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/options/optw_messages.cpp
diff options
context:
space:
mode:
authorGravatar Fabio Bas2009-02-27 15:11:49 +0000
committerGravatar Fabio Bas2009-02-27 15:11:49 +0000
commitcdb7d60c0c6c81d909715e7dcd99f3c63ed3d575 (patch)
tree37c5c3310e9b5856a6e42cd62736eea270069506 /src/modules/options/optw_messages.cpp
parentsmall fix for openbox (diff)
downloadKVIrc-cdb7d60c0c6c81d909715e7dcd99f3c63ed3d575.tar.gz
KVIrc-cdb7d60c0c6c81d909715e7dcd99f3c63ed3d575.tar.bz2
KVIrc-cdb7d60c0c6c81d909715e7dcd99f3c63ed3d575.zip
support for real transparency using compositing under X11
removed old kde3 "krootpixmap" fake transparency git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@3104 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/options/optw_messages.cpp')
-rw-r--r--src/modules/options/optw_messages.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/modules/options/optw_messages.cpp b/src/modules/options/optw_messages.cpp
index c79b47bd7..cc8159e39 100644
--- a/src/modules/options/optw_messages.cpp
+++ b/src/modules/options/optw_messages.cpp
@@ -226,7 +226,15 @@ void KviMessageListWidgetItemDelegate::paint(QPainter * p, const QStyleOptionVie
const KviTalListWidget *tb = (const KviTalListWidget *)parent();
KviMessageListWidgetItem *it = static_cast<KviMessageListWidgetItem*>(index.internalPointer());
#ifdef COMPILE_PSEUDO_TRANSPARENCY
- if(g_pShadedChildGlobalDesktopBackground)
+ if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing())
+ {
+ p->save();
+ p->setCompositionMode(QPainter::CompositionMode_Source);
+ QColor col=KVI_OPTION_COLOR(KviOption_colorGlobalTransparencyFade);
+ col.setAlphaF((float)((float)KVI_OPTION_UINT(KviOption_uintGlobalTransparencyChildFadeFactor) / (float)100));
+ p->fillRect(opt.rect, col);
+ p->restore();
+ } else if(g_pShadedChildGlobalDesktopBackground)
{
QPoint pnt = tb->viewport()->mapToGlobal(opt.rect.topLeft());
p->drawTiledPixmap(opt.rect,*g_pShadedChildGlobalDesktopBackground, pnt);