From ef1311d05403025f31ad45bc8b6e86c28f958de2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Thorbj=C3=B8rn=20Lindeijer?= <thorbjorn.lindeijer@nokia.com>
Date: Thu, 16 Apr 2009 10:27:25 +0200
Subject: [PATCH] Fixed restoring of full screen window state

Task-number: 247123
---
 src/plugins/coreplugin/mainwindow.cpp | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)

diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
index 543111816b1..446b7544bb3 100644
--- a/src/plugins/coreplugin/mainwindow.cpp
+++ b/src/plugins/coreplugin/mainwindow.cpp
@@ -1070,11 +1070,14 @@ static const char *settingsGroup = "MainWindow";
 static const char *geometryKey = "Geometry";
 static const char *colorKey = "Color";
 static const char *maxKey = "Maximized";
+static const char *fullScreenKey = "FullScreen";
 
 void MainWindow::readSettings()
 {
     m_settings->beginGroup(QLatin1String(settingsGroup));
+
     StyleHelper::setBaseColor(m_settings->value(QLatin1String(colorKey)).value<QColor>());
+
     const QVariant geom = m_settings->value(QLatin1String(geometryKey));
     if (geom.isValid()) {
         setGeometry(geom.toRect());
@@ -1083,8 +1086,10 @@ void MainWindow::readSettings()
     }
     if (m_settings->value(QLatin1String(maxKey), false).toBool())
         setWindowState(Qt::WindowMaximized);
+    setFullScreen(m_settings->value(QLatin1String(fullScreenKey), false).toBool());
 
     m_settings->endGroup();
+
     m_editorManager->readSettings(m_settings);
     m_navigationWidget->restoreSettings(m_settings);
     m_rightPaneWidget->readSettings(m_settings);
@@ -1093,14 +1098,18 @@ void MainWindow::readSettings()
 void MainWindow::writeSettings()
 {
     m_settings->beginGroup(QLatin1String(settingsGroup));
-    m_settings->setValue(colorKey, StyleHelper::baseColor());
-    const QString maxSettingsKey = QLatin1String(maxKey);
-    if (windowState() & Qt::WindowMaximized) {
-        m_settings->setValue(maxSettingsKey, true);
+
+    m_settings->setValue(QLatin1String(colorKey), StyleHelper::baseColor());
+
+    if (windowState() & (Qt::WindowMaximized | Qt::WindowFullScreen)) {
+        m_settings->setValue(QLatin1String(maxKey), (bool) (windowState() & Qt::WindowMaximized));
+        m_settings->setValue(QLatin1String(fullScreenKey), (bool) (windowState() & Qt::WindowFullScreen));
     } else {
-        m_settings->setValue(maxSettingsKey, false);
+        m_settings->setValue(QLatin1String(maxKey), false);
+        m_settings->setValue(QLatin1String(fullScreenKey), false);
         m_settings->setValue(QLatin1String(geometryKey), geometry());
     }
+
     m_settings->endGroup();
 
     m_fileManager->saveRecentFiles();
@@ -1209,7 +1218,7 @@ QPrinter *MainWindow::printer() const
 {
     if (!m_printer)
         m_printer = new QPrinter(QPrinter::HighResolution);
-    return  m_printer;
+    return m_printer;
 }
 
 void MainWindow::setFullScreen(bool on)
-- 
GitLab