Index: plasma/plasma/panelview.h
===================================================================
--- plasma/plasma/panelview.h (revision 866709)
+++ plasma/plasma/panelview.h (revision 866715)
@@ -146,6 +146,7 @@
void leaveEvent(QEvent *event);
void drawBackground(QPainter * painter, const QRectF & rect);
void paintEvent(QPaintEvent *event);
+ bool event(QEvent *event);
private:
void createUnhideTrigger();
Index: plasma/plasma/panelcontroller.cpp
===================================================================
--- plasma/plasma/panelcontroller.cpp (revision 866709)
+++ plasma/plasma/panelcontroller.cpp (revision 866715)
@@ -328,6 +328,9 @@
{
Q_UNUSED(parent)
+ QPalette pal = palette();
+ pal.setBrush(backgroundRole(), Qt::transparent);
+ QWidget::setPalette(pal);
d->background = new Plasma::PanelSvg(this);
d->background->setImagePath("dialogs/background");
Index: plasma/plasma/panelview.cpp
===================================================================
--- plasma/plasma/panelview.cpp (revision 866709)
+++ plasma/plasma/panelview.cpp (revision 866715)
@@ -91,6 +91,10 @@
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ QPalette pal = palette();
+ pal.setBrush(backgroundRole(), Qt::transparent);
+ setPalette(pal);
+
// KWin setup
KWindowSystem::setOnAllDesktops(winId(), true);
@@ -797,7 +801,7 @@
{
if (PlasmaApp::hasComposite()) {
painter->setCompositionMode(QPainter::CompositionMode_Source);
- painter->fillRect(rect, Qt::transparent);
+ painter->fillRect(rect.toAlignedRect(), Qt::transparent);
} else {
Plasma::View::drawBackground(painter, rect);
}
@@ -818,6 +822,16 @@
}
}
+bool PanelView::event(QEvent *event)
+{
+ if (event->type() == QEvent::Paint) {
+ QPainter p(this);
+ p.setCompositionMode(QPainter::CompositionMode_Source);
+ p.fillRect(rect(), Qt::transparent);
+ }
+ return Plasma::View::event(event);
+}
+
void PanelView::animateHide(qreal progress)
{
int margin = 0;