summaryrefslogtreecommitdiffstats
path: root/examples/widgets/mainwindows/application/mainwindow.cpp
diff options
context:
space:
mode:
authorFrederik Gladhorn <frederik.gladhorn@theqtcompany.com>2016-03-18 11:33:04 +0000
committerThe Qt Project <gerrit-noreply@qt-project.org>2016-03-18 11:38:12 +0000
commit458bf6b8582bca1daa47b40a0d6b51fc015bac87 (patch)
tree6cc5cc4bbe72708039b9ee50e91e34b51284d943 /examples/widgets/mainwindows/application/mainwindow.cpp
parent55878865db64bd2fa1d7fa158c56fe460ef939eb (diff)
parent6380cc710e4fdc0299966ff817f8cb34ace7870c (diff)
Merge "Merge remote-tracking branch 'origin/5.6.0' into 5.6" into refs/staging/5.6
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 86dfae166f3..861b908189d 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();
+ }
+}