diff options
| author | 2010-10-04 18:28:50 +0000 | |
|---|---|---|
| committer | 2010-10-04 18:28:50 +0000 | |
| commit | 400e5af390f9a252d1509b5285a890a8563bbd73 (patch) | |
| tree | 5fa7da6ea931292a631ccd5c792d7ac1faebe6a2 /src | |
| parent | fix for #983 (diff) | |
| download | KVIrc-400e5af390f9a252d1509b5285a890a8563bbd73.tar.gz KVIrc-400e5af390f9a252d1509b5285a890a8563bbd73.tar.bz2 KVIrc-400e5af390f9a252d1509b5285a890a8563bbd73.zip | |
fixed compilation under windows;
some paint performance-related patches
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@5041 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvirc/ui/kvi_frame.cpp | 22 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_ircview.cpp | 6 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_mdichild.cpp | 4 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_userlistview.cpp | 15 | ||||
| -rw-r--r-- | src/kvirc/ui/kvi_windowlist_tree.cpp | 3 | ||||
| -rw-r--r-- | src/modules/options/optw_interfacelookglobal.cpp | 8 |
6 files changed, 38 insertions, 20 deletions
diff --git a/src/kvirc/ui/kvi_frame.cpp b/src/kvirc/ui/kvi_frame.cpp index 56f15a186..1fa1f9bf4 100644 --- a/src/kvirc/ui/kvi_frame.cpp +++ b/src/kvirc/ui/kvi_frame.cpp @@ -94,9 +94,6 @@ KviFrame::KviFrame() : KviTalMainWindow(0,"kvirc_frame") { g_pFrame = this; -#ifdef COMPILE_PSEUDO_TRANSPARENCY - setAttribute(Qt::WA_TranslucentBackground); -#endif setWindowIcon(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_KVIRC))); m_pWinList = new KviPointerList<KviWindow>; @@ -839,6 +836,7 @@ void KviFrame::updatePseudoTransparency() #ifdef COMPILE_PSEUDO_TRANSPARENCY uint uOpacity = KVI_OPTION_UINT(KviOption_uintGlobalWindowOpacityPercent) < 50 ? 50 : KVI_OPTION_UINT(KviOption_uintGlobalWindowOpacityPercent); setWindowOpacity((float) uOpacity / 100); + if(g_pShadedParentGlobalDesktopBackground)m_pMdi->viewport()->update(); if(g_pShadedChildGlobalDesktopBackground) @@ -846,6 +844,15 @@ void KviFrame::updatePseudoTransparency() for(KviWindow * wnd = m_pWinList->first();wnd;wnd = m_pWinList->next())wnd->updateBackgrounds(); m_pWindowList->updatePseudoTransparency(); } + + if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) + { + setAttribute(Qt::WA_TranslucentBackground); + setAttribute(Qt::WA_NoSystemBackground); + } else { + setAttribute(Qt::WA_TranslucentBackground, false); + setAttribute(Qt::WA_NoSystemBackground, false); + } #endif } @@ -1158,9 +1165,12 @@ void KviFrame::setUsesBigPixmaps(bool bUse) #ifdef COMPILE_PSEUDO_TRANSPARENCY void KviFrame::paintEvent(QPaintEvent *e) { - QPainter *p = new QPainter(this); - p->fillRect(e->rect(), palette().color(backgroundRole())); - delete p; + if(KVI_OPTION_BOOL(KviOption_boolUseCompositingForTransparency) && g_pApp->supportsCompositing()) + { + QPainter *p = new QPainter(this); + p->fillRect(e->rect(), palette().brush(QPalette::Window)); + delete p; + } } #endif diff --git a/src/kvirc/ui/kvi_ircview.cpp b/src/kvirc/ui/kvi_ircview.cpp index 95a9d2096..e52410d57 100644 --- a/src/kvirc/ui/kvi_ircview.cpp +++ b/src/kvirc/ui/kvi_ircview.cpp @@ -224,6 +224,7 @@ KviIrcView::KviIrcView(QWidget *parent,KviFrame *pFrm,KviWindow *pWnd) { setObjectName("irc_view"); setAttribute(Qt::WA_NoSystemBackground); + setAttribute(Qt::WA_OpaquePaintEvent); // Ok...here we go // initialize the initializable @@ -301,10 +302,11 @@ KviIrcView::KviIrcView(QWidget *parent,KviFrame *pFrm,KviWindow *pWnd) m_pScrollBar->setTracking(true); m_pScrollBar->show(); m_pScrollBar->setFocusProxy(this); - + m_pScrollBar->setAutoFillBackground(true); m_pToolsButton = new QToolButton(this); m_pToolsButton->setObjectName("btntools"); + m_pToolsButton->setAutoFillBackground(true); QIcon is1(*(g_pIconManager->getSmallIcon(KVI_SMALLICON_POPUPMENU))); m_pToolsButton->setAutoRaise(true); @@ -1034,8 +1036,6 @@ void KviIrcView::paintEvent(QPaintEvent *p) QPainter pa(this); - SET_ANTI_ALIASING(pa); - pa.setFont(font()); if(!m_pFm) { diff --git a/src/kvirc/ui/kvi_mdichild.cpp b/src/kvirc/ui/kvi_mdichild.cpp index d7a472698..76bef38a8 100644 --- a/src/kvirc/ui/kvi_mdichild.cpp +++ b/src/kvirc/ui/kvi_mdichild.cpp @@ -50,6 +50,10 @@ #include <QTimer> +#ifdef COMPILE_PSEUDO_TRANSPARENCY + extern QPixmap * g_pShadedChildGlobalDesktopBackground; +#endif + KviMdiChild::KviMdiChild(KviMdiManager * par, const char * name) : QMdiSubWindow(par) { diff --git a/src/kvirc/ui/kvi_userlistview.cpp b/src/kvirc/ui/kvi_userlistview.cpp index a719cb185..86e47053e 100644 --- a/src/kvirc/ui/kvi_userlistview.cpp +++ b/src/kvirc/ui/kvi_userlistview.cpp @@ -1625,10 +1625,15 @@ void KviUserListView::maybeTip(KviUserListToolTip * pTip, const QPoint & pnt) KviUserListViewArea::KviUserListViewArea(KviUserListView * pPar) : QWidget(pPar) { + setAttribute(Qt::WA_NoSystemBackground); + setAttribute(Qt::WA_OpaquePaintEvent); + m_pListView = pPar; m_pScrollBar = new QScrollBar(Qt::Vertical,this); m_pScrollBar->setObjectName("scrollbar"); + m_pScrollBar->setAutoFillBackground(true); + m_pScrollBar->setRange(0,0); m_pScrollBar->setValue(0); connect(m_pScrollBar,SIGNAL(valueChanged(int)),this,SLOT(scrollBarMoved(int))); @@ -1702,14 +1707,18 @@ void KviUserListViewArea::scrollBarMoved(int iNewVal) void KviUserListViewArea::paintEvent(QPaintEvent * e) { + QPainter p(this); + // update the scroll bar int iWidth = width() - m_pScrollBar->width(); QRect r = e->rect(); if(r.right() > iWidth) + { r.setRight(iWidth); - - QPainter p(this); +// p.fillRect(iWidth, 0, m_pScrollBar->width(), m_pScrollBar->height(), palette().brush(backgroundRole())); + } + p.setClipRect(r); QFontMetrics fm(p.fontMetrics()); @@ -1739,8 +1748,6 @@ void KviUserListViewArea::paintEvent(QPaintEvent * e) } #endif - p.setClipRect(r); - KviUserListEntry * pEntry = m_pListView->m_pTopItem; int iTheY = KVI_USERLIST_BORDER_WIDTH - m_iTopItemOffset; diff --git a/src/kvirc/ui/kvi_windowlist_tree.cpp b/src/kvirc/ui/kvi_windowlist_tree.cpp index c9cb73fea..751919f2f 100644 --- a/src/kvirc/ui/kvi_windowlist_tree.cpp +++ b/src/kvirc/ui/kvi_windowlist_tree.cpp @@ -171,6 +171,9 @@ KviTreeWindowListTreeWidget::KviTreeWindowListTreeWidget(QWidget * par) { setObjectName("tree_windowlist"); setRootIsDecorated(true); + setAttribute(Qt::WA_NoSystemBackground); + setAttribute(Qt::WA_OpaquePaintEvent); + setSelectionMode(QAbstractItemView::NoSelection); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); setFont(KVI_OPTION_FONT(KviOption_fontTreeWindowList)); diff --git a/src/modules/options/optw_interfacelookglobal.cpp b/src/modules/options/optw_interfacelookglobal.cpp index de9f6f0fb..aa31c13c7 100644 --- a/src/modules/options/optw_interfacelookglobal.cpp +++ b/src/modules/options/optw_interfacelookglobal.cpp @@ -127,13 +127,7 @@ KviThemeTransparencyOptionsWidget::~KviThemeTransparencyOptionsWidget() void KviThemeTransparencyOptionsWidget::enableGlobalBackgroundPixmapSelector(bool) { #ifdef COMPILE_PSEUDO_TRANSPARENCY - #ifdef COMPILE_X11_SUPPORT - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseCompositingForTransparencyBoolSelector->isChecked())); - #elif defined(COMPILE_ON_WINDOWS) || defined(COMPILE_ON_MINGW) - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseWindowsFakeDesktopTransparencyBoolSelector->isChecked())); - #else - m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked()); - #endif + m_pGlobalBackgroundPixmapSelector->setEnabled(m_pUseTransparencyBoolSelector->isChecked() && !(m_pUseCompositingForTransparencyBoolSelector->isChecked())); #endif } |
