summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-07-16 16:14:17 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-17 15:56:15 +0200
commitcdc436ebe625153c626784a15cb224556fca3728 (patch)
tree80efcd6165d5f73117e19d1c1caf2c68ebed5e30 /src/widgets/kernel
parenta94e917eeb7b19eb19c3cf74d71a9b4cabfb1124 (diff)
Fix widget animations.
- Update opacity. - Change Q_WS_WIN to Q_OS_WIN. Task-number: QTBUG-25436 Change-Id: I76c1e4668dc2ee4f4d861da320c10aa05e57e804 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
Diffstat (limited to 'src/widgets/kernel')
-rw-r--r--src/widgets/kernel/qwidget.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index bc1d9da2bb..ca5a410a42 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -2061,31 +2061,17 @@ void QWidgetPrivate::updateIsOpaque()
void QWidgetPrivate::setOpaque(bool opaque)
{
- if (isOpaque == opaque)
- return;
- isOpaque = opaque;
-#ifdef Q_WS_MAC
- macUpdateIsOpaque();
-#endif
-#ifdef Q_WS_X11
- x11UpdateIsOpaque();
-#endif
-#ifdef Q_WS_WIN
- winUpdateIsOpaque();
-#endif
+ if (isOpaque != opaque) {
+ isOpaque = opaque;
+ updateIsTranslucent();
+ }
}
void QWidgetPrivate::updateIsTranslucent()
{
-#ifdef Q_WS_MAC
- macUpdateIsOpaque();
-#endif
-#ifdef Q_WS_X11
- x11UpdateIsOpaque();
-#endif
-#ifdef Q_WS_WIN
- winUpdateIsOpaque();
-#endif
+ Q_Q(QWidget);
+ if (QWindow *window = q->windowHandle())
+ window->setOpacity(isOpaque ? qreal(1.0) : qreal(0.0));
}
static inline void fillRegion(QPainter *painter, const QRegion &rgn, const QBrush &brush)