diff options
Diffstat (limited to 'src/qmmpui/uihelper.cpp')
| -rw-r--r-- | src/qmmpui/uihelper.cpp | 31 |
1 files changed, 5 insertions, 26 deletions
diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp index 44b450bad..4a6bd6bc2 100644 --- a/src/qmmpui/uihelper.cpp +++ b/src/qmmpui/uihelper.cpp @@ -23,6 +23,7 @@ #include <QWidget> #include <QAction> #include <QSettings> +#include <QApplication> #include <qmmp/soundcore.h> #include <qmmp/metadatamanager.h> #include "filedialog.h" @@ -245,34 +246,12 @@ void UiHelper::showMainWindow() void UiHelper::exit() { -#if QT_VERSION < 0x040700 - bool closed = true; - QWidget *w; + //send non-spontaneous close event + //for all windows + foreach (QWidget *widget, qApp->topLevelWidgets()) + widget->close(); - while ((w = qApp->activeModalWidget()) && closed) - { - if (!w->isVisible()) - break; - - closed = w->close(); - } - - QWidgetList list = qApp->topLevelWidgets(); - - while (closed && !list.isEmpty()) - { - w = list.takeLast(); - - if (w->isVisible() && w->windowType() != Qt::Desktop) - { - closed = w->close(); - list = qApp->topLevelWidgets(); - list.removeOne(w); - } - } -#else qApp->closeAllWindows(); -#endif qApp->quit(); } |
