summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qguiapplication.h
diff options
context:
space:
mode:
authorDavid Faure <faure+bluesystems@kde.org>2012-11-23 15:29:03 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-28 16:21:57 +0100
commiteca4936ea213536966738d6fd4e076b493afa5b4 (patch)
tree7c5964b8c186b0910711e863e967df21cd31ef76 /src/gui/kernel/qguiapplication.h
parentb9c8cf2527fbbcfad194bd84f869cf0fa03ae8fd (diff)
Move session management code from QApplication to QGuiApplication.
QSessionManager was already in QtGui, but not usable since the only API to get to it was still in QtWidgets. Session management isn't related to widgets, it also applies to QML apps on the desktop. The virtual commitData and saveState methods have been removed, given the two signals which exist since 4.2, and an additional isSessionSaving() method was added instead. Change-Id: I8099e70df133303e74456706827da21f013fcc6a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/gui/kernel/qguiapplication.h')
-rw-r--r--src/gui/kernel/qguiapplication.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gui/kernel/qguiapplication.h b/src/gui/kernel/qguiapplication.h
index 6ff5ff75ac..27ea86ec6e 100644
--- a/src/gui/kernel/qguiapplication.h
+++ b/src/gui/kernel/qguiapplication.h
@@ -54,6 +54,7 @@ QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
+class QSessionManager;
class QGuiApplicationPrivate;
class QPlatformNativeInterface;
class QPlatformIntegration;
@@ -145,12 +146,24 @@ public:
static int exec();
bool notify(QObject *, QEvent *);
+#ifndef QT_NO_SESSIONMANAGER
+ // session management
+ bool isSessionRestored() const;
+ QString sessionId() const;
+ QString sessionKey() const;
+ bool isSavingSession() const;
+#endif
+
Q_SIGNALS:
void fontDatabaseChanged();
void screenAdded(QScreen *screen);
void lastWindowClosed();
void focusObjectChanged(QObject *focusObject);
void focusWindowChanged(QWindow *focusWindow);
+#ifndef QT_NO_SESSIONMANAGER
+ void commitDataRequest(QSessionManager &sessionManager);
+ void saveStateRequest(QSessionManager &sessionManager);
+#endif
protected:
bool event(QEvent *);