summaryrefslogtreecommitdiffstats
path: root/examples/widgets/mainwindows/application/mainwindow.cpp
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-03-07 16:53:34 +0100
committerOswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>2016-03-07 17:08:56 +0100
commitf93032848e6b090b671d0035557a32bed65d2b4e (patch)
tree8cb6a0705c19d3cc6002f70ed5dddd0dd7adcab9 /examples/widgets/mainwindows/application/mainwindow.cpp
parentbcd88d8e9984bff664740aae3cff708a069dbbdd (diff)
parentd0cdc7ad1e2728caf363abf328b2ad81f2ed5a5b (diff)
Merge remote-tracking branch 'origin/5.6.0' into 5.7v5.7.0-alpha1
Diffstat (limited to 'examples/widgets/mainwindows/application/mainwindow.cpp')
-rw-r--r--examples/widgets/mainwindows/application/mainwindow.cpp16
1 files changed, 16 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();
+ }
+}