make alpha blended panels work

unfortunately all windows must have alpha channel
wilder-5.14
Marco Martin 13 years ago
parent ce5eaa8bd7
commit 7639cbb6a8
  1. 1
      desktopcorona.cpp
  2. 5
      panelview.cpp
  3. 5
      view.cpp

@ -186,6 +186,7 @@ void DesktopCorona::checkViews()
} else if (m_views.count() < m_desktopWidget->screenCount()) {
for (int i = m_views.count(); i < m_desktopWidget->screenCount(); ++i) {
View *view = new View(this);
QSurfaceFormat format;
view->init();
view->show();

@ -25,12 +25,11 @@
PanelView::PanelView(Plasma::Corona *corona, QWindow *parent)
: View(corona, parent)
{
//FIXME: this works only if done in View
/*QSurfaceFormat format;
QSurfaceFormat format;
format.setAlphaBufferSize(8);
setFormat(format);
setClearBeforeRendering(true);
setColor(QColor(Qt::transparent));*/
setColor(QColor(Qt::transparent));
setFlags(Qt::FramelessWindowHint);
}

@ -28,6 +28,11 @@ View::View(Plasma::Corona *corona, QWindow *parent)
: QQuickView(parent),
m_corona(corona)
{
//FIXME: for some reason all windows must have alpha enable otherwise the ones that do won't paint.
//Probably is an architectural problem
QSurfaceFormat format;
format.setAlphaBufferSize(8);
setFormat(format);
}
View::~View()

Loading…
Cancel
Save