summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/widgets/desktop/systray/doc/src/systray.qdoc6
-rw-r--r--examples/widgets/desktop/systray/window.cpp5
2 files changed, 10 insertions, 1 deletions
diff --git a/examples/widgets/desktop/systray/doc/src/systray.qdoc b/examples/widgets/desktop/systray/doc/src/systray.qdoc
index 074012b6a7..fa2dbb2721 100644
--- a/examples/widgets/desktop/systray/doc/src/systray.qdoc
+++ b/examples/widgets/desktop/systray/doc/src/systray.qdoc
@@ -173,7 +173,11 @@
We have reimplemented the QWidget::closeEvent() event handler to
receive widget close events, showing the above message to the
- users when they are closing the editor window.
+ users when they are closing the editor window. On OS X we need to
+ avoid showing the message and accepting the close event when the
+ user really intends to quit the application, that is, when the
+ user has triggered "Quit" in the menu bar or pressed the Command+Q
+ shortcut.
In addition to the functions and slots discussed above, we have
also implemented several convenience functions to simplify the
diff --git a/examples/widgets/desktop/systray/window.cpp b/examples/widgets/desktop/systray/window.cpp
index 931e443de7..d499f498af 100644
--- a/examples/widgets/desktop/systray/window.cpp
+++ b/examples/widgets/desktop/systray/window.cpp
@@ -102,6 +102,11 @@ void Window::setVisible(bool visible)
//! [2]
void Window::closeEvent(QCloseEvent *event)
{
+#ifdef Q_OS_OSX
+ if (!event->spontaneous() || !isVisible()) {
+ return;
+ }
+#endif
if (trayIcon->isVisible()) {
QMessageBox::information(this, tr("Systray"),
tr("The program will keep running in the "