[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/apps/plasma/applets/folderview
From:       Fredrik Höglund <fredrik () kde ! org>
Date:       2010-03-08 21:03:20
Message-ID: 1268082200.913464.22212.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 1100854 by fredrik:

- Use Plasma::WindowEffects to override the shadow instead of using
  Xlib directly.
- Enable the blur effect and set the blur region for the popups.


 M  +8 -7      dialog.cpp  
 M  +11 -12    popupview.cpp  


--- trunk/KDE/kdebase/apps/plasma/applets/folderview/dialog.cpp #1100853:1100854
@@ -30,6 +30,7 @@
 
 #include <Plasma/Applet>
 #include <Plasma/FrameSvg>
+#include <Plasma/WindowEffects>
 
 #ifdef Q_WS_X11
 #  include <QX11Info>
@@ -45,12 +46,12 @@
 #ifdef Q_WS_X11
     setAttribute(Qt::WA_X11NetWmWindowTypeDropDownMenu);
 
-    if (!QX11Info::isCompositingManagerRunning()) {
+    if (KWindowSystem::compositingActive()) {
+        setAttribute(Qt::WA_NoSystemBackground, false);
+        Plasma::WindowEffects::overrideShadow(winId(), true);
+    } else {
         setAttribute(Qt::WA_NoSystemBackground);
     }
-
-    Atom atom = XInternAtom(QX11Info::display(), "_KDE_SHADOW_OVERRIDE", False);
-    XChangeProperty(QX11Info::display(), winId(), atom, atom, 32, PropModeReplace, 0, 0);
 #endif
 
     KWindowSystem::setState(effectiveWinId(), NET::SkipTaskbar | NET::SkipPager);
@@ -155,11 +156,11 @@
     m_background->resizeFrame(rect().size());
     m_view->setGeometry(contentsRect());
 
-#ifdef Q_WS_X11
-    if (!QX11Info::isCompositingManagerRunning()) {
+    if (KWindowSystem::compositingActive()) {
+        Plasma::WindowEffects::enableBlurBehind(winId(), true, m_background->mask());
+    } else {
         setMask(m_background->mask());
     }
-#endif
 }
 
 void Dialog::paintEvent(QPaintEvent *event)
--- trunk/KDE/kdebase/apps/plasma/applets/folderview/popupview.cpp #1100853:1100854
@@ -57,13 +57,9 @@
 #include <Plasma/BusyWidget>
 #include <Plasma/FrameSvg>
 #include <Plasma/Theme>
+#include <Plasma/WindowEffects>
 
-#ifdef Q_WS_X11
-#  include <QX11Info>
-#  include <X11/Xlib.h>
-#endif
 
-
 QTime PopupView::s_lastOpenClose;
 
 PopupView::PopupView(const KUrl &url, const QPoint &pos,
@@ -85,6 +81,11 @@
       m_previewPlugins(previewPlugins)
 {
     setAttribute(Qt::WA_TranslucentBackground);
+#ifdef Q_WS_X11
+    if (KWindowSystem::compositingActive()) {
+        setAttribute(Qt::WA_NoSystemBackground, false);
+    }
+#endif
 
 #ifdef Q_WS_WIN
     setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint | Qt::Tool);
@@ -128,10 +129,7 @@
         pt.ry() = available.top();
     }
 
-#ifdef Q_WS_X11
-    Atom atom = XInternAtom(QX11Info::display(), "_KDE_SHADOW_OVERRIDE", False);
-    XChangeProperty(QX11Info::display(), winId(), atom, atom, 32, PropModeReplace, 0, 0);
-#endif
+    Plasma::WindowEffects::overrideShadow(winId(), true);
 
     move(pt);
     show();
@@ -477,11 +475,12 @@
     if (m_view) {
         m_view->setGeometry(contentsRect());
     }
-#ifdef Q_WS_X11
-    if (!QX11Info::isCompositingManagerRunning()) {
+
+    if (KWindowSystem::compositingActive()) {
+        Plasma::WindowEffects::enableBlurBehind(winId(), true, m_background->mask());
+    } else {
         setMask(m_background->mask());
     }
-#endif
 }
 
 void PopupView::paintEvent(QPaintEvent *event)
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic