# HG changeset patch
# User Chris Cannam
# Date 1380017189 -3600
# Node ID 763b1fbeb31cc511f2b47598c5e16620928a5a0e
# Parent  d4d2f93191556d05559d828d0b9b43685e5d15e9# Parent  c0a20cd1a9ff1591bd9c521a1d327ae81af1b160
Merge from the default branch

diff -r d4d2f9319155 -r 763b1fbeb31c main/MainWindow.cpp
--- a/main/MainWindow.cpp	Mon Sep 16 17:40:41 2013 +0100
+++ b/main/MainWindow.cpp	Tue Sep 24 11:06:29 2013 +0100
@@ -3094,8 +3094,11 @@
 
     QSettings settings;
     settings.beginGroup("MainWindow");
-    settings.setValue("size", size());
-    settings.setValue("position", pos());
+    settings.setValue("maximised", isMaximized());
+    if (!isMaximized()) {
+        settings.setValue("size", size());
+        settings.setValue("position", pos());
+    }
     settings.endGroup();
 
     if (m_preferencesDialog &&
diff -r d4d2f9319155 -r 763b1fbeb31c main/main.cpp
--- a/main/main.cpp	Mon Sep 16 17:40:41 2013 +0100
+++ b/main/main.cpp	Tue Sep 24 11:06:29 2013 +0100
@@ -363,14 +363,21 @@
     if (width > height * 2) width = height * 2;
 
     settings.beginGroup("MainWindow");
+
     QSize size = settings.value("size", QSize(width, height)).toSize();
     gui->resizeConstrained(size);
+
     if (settings.contains("position")) {
         QRect prevrect(settings.value("position").toPoint(), size);
         if (!(available & prevrect).isEmpty()) {
             gui->move(prevrect.topLeft());
         }
     }
+
+    if (settings.value("maximised", false).toBool()) {
+        gui->setWindowState(Qt::WindowMaximized);
+    }
+
     settings.endGroup();
     
     gui->show();