diff options
author | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2016-03-17 16:02:44 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> | 2016-03-17 16:02:45 +0100 |
commit | 6380cc710e4fdc0299966ff817f8cb34ace7870c (patch) | |
tree | 3461e7708f169c6acb1b6d3e02d1838a0609fc66 /examples | |
parent | 35dce99b5664e47b2210c2dfe36300376e837f1d (diff) | |
parent | d0cdc7ad1e2728caf363abf328b2ad81f2ed5a5b (diff) |
Merge remote-tracking branch 'origin/5.6.0' into 5.6
Change-Id: Iac8ff05cd76cbacf859138a73e8e2ed0a979c75a
Diffstat (limited to 'examples')
-rw-r--r-- | examples/widgets/mainwindows/application/mainwindow.cpp | 16 | ||||
-rw-r--r-- | examples/widgets/mainwindows/application/mainwindow.h | 2 |
2 files changed, 18 insertions, 0 deletions
diff --git a/examples/widgets/mainwindows/application/mainwindow.cpp b/examples/widgets/mainwindows/application/mainwindow.cpp index 86dfae166f..861b908189 100644 --- a/examples/widgets/mainwindows/application/mainwindow.cpp +++ b/examples/widgets/mainwindows/application/mainwindow.cpp @@ -59,6 +59,10 @@ MainWindow::MainWindow() connect(textEdit->document(), &QTextDocument::contentsChanged, this, &MainWindow::documentWasModified); + QGuiApplication::setFallbackSessionManagementEnabled(false); + connect(qApp, &QGuiApplication::commitDataRequest, + this, &MainWindow::commitData); + setCurrentFile(QString()); setUnifiedTitleAndToolBarOnMac(true); } @@ -383,3 +387,15 @@ QString MainWindow::strippedName(const QString &fullFileName) return QFileInfo(fullFileName).fileName(); } //! [49] + +void MainWindow::commitData(QSessionManager &manager) +{ + if (manager.allowsInteraction()) { + if (!maybeSave()) + manager.cancel(); + } else { + // Non-interactive: save without asking + if (textEdit->document()->isModified()) + save(); + } +} diff --git a/examples/widgets/mainwindows/application/mainwindow.h b/examples/widgets/mainwindows/application/mainwindow.h index 08b4aa17f5..9712604125 100644 --- a/examples/widgets/mainwindows/application/mainwindow.h +++ b/examples/widgets/mainwindows/application/mainwindow.h @@ -47,6 +47,7 @@ QT_BEGIN_NAMESPACE class QAction; class QMenu; class QPlainTextEdit; +class QSessionManager; QT_END_NAMESPACE //! [0] @@ -69,6 +70,7 @@ private slots: bool saveAs(); void about(); void documentWasModified(); + void commitData(QSessionManager &); private: void createActions(); |