[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdebase/runtime/kstyles/oxygen
From: Hugo Pereira Da Costa <hugo.pereira () free ! fr>
Date: 2010-04-07 1:07:32
Message-ID: 20100407010732.B1116AC857 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1111908 by hpereiradacosta:
backport r1111900, r1111907
Fixed window background for QMdiSubWindow. (was transparent since r1081687, and flat \
before that). Use normal RenderWindowBackground.
Also: use proper rect from QPaintEvent to render normal Window background.
fixed background reference in maximized QMdiSubWindows
M +25 -1 oxygen.cpp
--- branches/KDE/4.4/kdebase/runtime/kstyles/oxygen/oxygen.cpp #1111907:1111908
@@ -40,6 +40,7 @@
#include <QtGui/QGraphicsView>
#include <QtGui/QLineEdit>
#include <QtGui/QMainWindow>
+#include <QtGui/QMdiSubWindow>
#include <QtGui/QPaintEvent>
#include <QtGui/QProgressBar>
#include <QtGui/QPushButton>
@@ -3769,6 +3770,11 @@
widget->setContentsMargins(3,3,3,3);
widget->installEventFilter(this);
+ } else if( qobject_cast<QMdiSubWindow*>(widget) ) {
+
+ widget->setAutoFillBackground( false );
+ widget->installEventFilter( this );
+
} else if (qobject_cast<QToolBox*>(widget)) {
widget->setBackgroundRole(QPalette::NoRole);
@@ -6383,11 +6389,29 @@
if(widget->testAttribute(Qt::WA_StyledBackground) && \
!widget->testAttribute(Qt::WA_NoSystemBackground)) {
QPainter p(widget);
- _helper.renderWindowBackground(&p, widget->rect(), \
widget,widget->window()->palette()); + \
_helper.renderWindowBackground(&p, static_cast<QPaintEvent*>(ev)->rect(), \
widget,widget->window()->palette()); }
}
}
+ // mdi subwindow painting
+ if( QMdiSubWindow* mdi = qobject_cast<QMdiSubWindow*>( widget ) )
+ {
+ if (ev->type() == QEvent::Paint)
+ {
+
+ QPainter p(widget);
+ QRect r( static_cast<QPaintEvent*>( ev )->rect() );
+
+ if( mdi->isMaximized() ) _helper.renderWindowBackground(&p, r, widget, \
widget->palette() ); + else _helper.renderWindowBackground(&p, r, widget, \
widget, widget->palette(), 0, 50 ); +
+ // continue with normal painting
+ return false;
+
+ }
+
+ }
// dock widgets
if (QDockWidget*dw = qobject_cast<QDockWidget*>(obj))
{
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic