QSystemTrayIcon example: ignore non-spontaneous QCloseEvent
Apparently this code is needed on other platforms now, not only macOS. Fixes: QTBUG-98504 Change-Id: Ie0a7e38609e8fc8c11915784dd3652a3517bb639 Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> (cherry picked from commit 46cadf7b48288fce4de6147ae38de493354c23d0) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
44f6c0ed1e
commit
84911c30d4
@ -173,11 +173,11 @@
|
|||||||
|
|
||||||
We have reimplemented the QWidget::closeEvent() event handler to
|
We have reimplemented the QWidget::closeEvent() event handler to
|
||||||
receive widget close events, showing the above message to the
|
receive widget close events, showing the above message to the
|
||||||
users when they are closing the editor window. On \macos we need to
|
users when they are closing the editor window. We need to
|
||||||
avoid showing the message and accepting the close event when the
|
avoid showing the message and accepting the close event when the
|
||||||
user really intends to quit the application, that is, 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
|
user has triggered "Quit" in the menu bar, or in the tray icon's
|
||||||
shortcut.
|
context menu, or pressed Command+Q shortcut on \macOS.
|
||||||
|
|
||||||
In addition to the functions and slots discussed above, we have
|
In addition to the functions and slots discussed above, we have
|
||||||
also implemented several convenience functions to simplify the
|
also implemented several convenience functions to simplify the
|
||||||
|
@ -111,11 +111,8 @@ void Window::setVisible(bool visible)
|
|||||||
//! [2]
|
//! [2]
|
||||||
void Window::closeEvent(QCloseEvent *event)
|
void Window::closeEvent(QCloseEvent *event)
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_MACOS
|
if (!event->spontaneous() || !isVisible())
|
||||||
if (!event->spontaneous() || !isVisible()) {
|
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (trayIcon->isVisible()) {
|
if (trayIcon->isVisible()) {
|
||||||
QMessageBox::information(this, tr("Systray"),
|
QMessageBox::information(this, tr("Systray"),
|
||||||
tr("The program will keep running in the "
|
tr("The program will keep running in the "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user