[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