summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gui/kernel/qwindow.cpp')
-rw-r--r--src/gui/kernel/qwindow.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/src/gui/kernel/qwindow.cpp b/src/gui/kernel/qwindow.cpp
index 95331a2415..9eb011abb1 100644
--- a/src/gui/kernel/qwindow.cpp
+++ b/src/gui/kernel/qwindow.cpp
@@ -123,7 +123,18 @@ void QWindow::setVisible(bool visible)
if (!d->platformWindow)
create();
+
+ if (visible) {
+ QShowEvent showEvent;
+ QGuiApplication::sendEvent(this, &showEvent);
+ }
+
d->platformWindow->setVisible(visible);
+
+ if (!visible) {
+ QHideEvent hideEvent;
+ QGuiApplication::sendEvent(this, &hideEvent);
+ }
}
bool QWindow::visible() const
@@ -515,12 +526,10 @@ void QWindow::resizeEvent(QResizeEvent *)
void QWindow::showEvent(QShowEvent *)
{
- qDebug() << "unimplemented:" << __FILE__ << __LINE__;
}
void QWindow::hideEvent(QHideEvent *)
{
- qDebug() << "unimplemented:" << __FILE__ << __LINE__;
}
bool QWindow::event(QEvent *event)
@@ -568,6 +577,14 @@ bool QWindow::event(QEvent *event)
exposeEvent(static_cast<QExposeEvent *>(event));
break;
+ case QEvent::Show:
+ showEvent(static_cast<QShowEvent *>(event));
+ break;
+
+ case QEvent::Hide:
+ hideEvent(static_cast<QHideEvent *>(event));
+ break;
+
default:
return QObject::event(event);
}