Made QWindow::setVisible() send show and hide events.

Change-Id: Ideae15f7bd6801d7afe2354627c0893b0b6a32ca
Reviewed-on: http://codereview.qt.nokia.com/2741
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
This commit is contained in:
Samuel Rødal 2011-08-08 12:39:38 +02:00 committed by Gunnar Sletta
parent 2ac6eb142e
commit 24c7776c62
3 changed files with 19 additions and 14 deletions

View File

@ -123,7 +123,18 @@ void QWindow::setVisible(bool visible)
if (!d->platformWindow) if (!d->platformWindow)
create(); create();
if (visible) {
QShowEvent showEvent;
QGuiApplication::sendEvent(this, &showEvent);
}
d->platformWindow->setVisible(visible); d->platformWindow->setVisible(visible);
if (!visible) {
QHideEvent hideEvent;
QGuiApplication::sendEvent(this, &hideEvent);
}
} }
bool QWindow::visible() const bool QWindow::visible() const
@ -515,12 +526,10 @@ void QWindow::resizeEvent(QResizeEvent *)
void QWindow::showEvent(QShowEvent *) void QWindow::showEvent(QShowEvent *)
{ {
qDebug() << "unimplemented:" << __FILE__ << __LINE__;
} }
void QWindow::hideEvent(QHideEvent *) void QWindow::hideEvent(QHideEvent *)
{ {
qDebug() << "unimplemented:" << __FILE__ << __LINE__;
} }
bool QWindow::event(QEvent *event) bool QWindow::event(QEvent *event)
@ -568,6 +577,14 @@ bool QWindow::event(QEvent *event)
exposeEvent(static_cast<QExposeEvent *>(event)); exposeEvent(static_cast<QExposeEvent *>(event));
break; break;
case QEvent::Show:
showEvent(static_cast<QShowEvent *>(event));
break;
case QEvent::Hide:
hideEvent(static_cast<QHideEvent *>(event));
break;
default: default:
return QObject::event(event); return QObject::event(event);
} }

View File

@ -74,14 +74,4 @@ WId QEglFSWindow::winId() const
return m_winid; return m_winid;
} }
void QEglFSWindow::setVisible(bool visible)
{
if (visible) {
QWindowSystemInterface::handleMapEvent(window());
} else {
QWindowSystemInterface::handleUnmapEvent(window());
}
}
QT_END_NAMESPACE QT_END_NAMESPACE

View File

@ -58,8 +58,6 @@ public:
void setGeometry(const QRect &); void setGeometry(const QRect &);
WId winId() const; WId winId() const;
void setVisible(bool visible);
private: private:
WId m_winid; WId m_winid;
}; };