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>
bb10
Friedemann Kleint 2012-07-16 16:14:17 +02:00 committed by Qt by Nokia
parent a94e917eeb
commit cdc436ebe6
2 changed files with 14 additions and 28 deletions

View File

@ -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)

View File

@ -102,7 +102,7 @@ static QAlphaWidget* q_blend = 0;
QAlphaWidget::QAlphaWidget(QWidget* w, Qt::WindowFlags f)
: QWidget(QApplication::desktop()->screen(QApplication::desktop()->screenNumber(w)), f)
{
#ifndef Q_WS_WIN
#ifndef Q_OS_WIN
setEnabled(false);
#endif
setAttribute(Qt::WA_NoSystemBackground, true);
@ -112,7 +112,7 @@ QAlphaWidget::QAlphaWidget(QWidget* w, Qt::WindowFlags f)
QAlphaWidget::~QAlphaWidget()
{
#if defined(Q_WS_WIN) && !defined(Q_OS_WINCE)
#if defined(Q_OS_WIN) && !defined(Q_OS_WINCE)
// Restore user-defined opacity value
if (widget)
widget->setWindowOpacity(1);
@ -270,10 +270,10 @@ void QAlphaWidget::render()
if (widget) {
if (!showWidget) {
#ifdef Q_WS_WIN
#ifdef Q_OS_WIN
setEnabled(true);
setFocus();
#endif // Q_WS_WIN
#endif // Q_OS_WIN
widget->hide();
} else {
//Since we are faking the visibility of the widget
@ -383,7 +383,7 @@ static QRollEffect* q_roll = 0;
QRollEffect::QRollEffect(QWidget* w, Qt::WindowFlags f, DirFlags orient)
: QWidget(0, f), orientation(orient)
{
#ifndef Q_WS_WIN
#ifndef Q_OS_WIN
setEnabled(false);
#endif
@ -408,7 +408,7 @@ QRollEffect::QRollEffect(QWidget* w, Qt::WindowFlags f, DirFlags orient)
if (orientation & (DownScroll|UpScroll))
currentHeight = 0;
pm = widget->grab(QRect());
pm = widget->grab();
}
/*
@ -538,7 +538,7 @@ void QRollEffect::scroll()
qApp->removeEventFilter(this);
if (widget) {
if (!showWidget) {
#ifdef Q_WS_WIN
#ifdef Q_OS_WIN
setEnabled(true);
setFocus();
#endif