aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGravatar Fabio Bas2010-10-04 18:28:50 +0000
committerGravatar Fabio Bas2010-10-04 18:28:50 +0000
commit400e5af390f9a252d1509b5285a890a8563bbd73 (patch)
tree5fa7da6ea931292a631ccd5c792d7ac1faebe6a2 /src
parentfix for #983 (diff)
downloadKVIrc-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.cpp22
-rw-r--r--src/kvirc/ui/kvi_ircview.cpp6
-rw-r--r--src/kvirc/ui/kvi_mdichild.cpp4
-rw-r--r--src/kvirc/ui/kvi_userlistview.cpp15
-rw-r--r--src/kvirc/ui/kvi_windowlist_tree.cpp3
-rw-r--r--src/modules/options/optw_interfacelookglobal.cpp8
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
}