From 3886e738754cc5107e6b88ac25b1bf8680b67af8 Mon Sep 17 00:00:00 2001 From: Michael Carpenter Date: Fri, 3 Jan 2014 23:19:34 -0500 Subject: [PATCH] If no windows are saved as shown (EMStudio was closed with no windows visible), then it defaults to showing the tunable memory window. --- core/src/mainwindow.cpp | 55 +++++++++++++++++++++++++++++++++++------ 1 file changed, 48 insertions(+), 7 deletions(-) diff --git a/core/src/mainwindow.cpp b/core/src/mainwindow.cpp index fb91bbf..039b3e6 100644 --- a/core/src/mainwindow.cpp +++ b/core/src/mainwindow.cpp @@ -1330,6 +1330,7 @@ void MainWindow::interrogationComplete() { emsMdiWindow->show(); } + bool oneShown = false; //Check to see if at least one window is visisble. QSettings windowsettings; int size = windowsettings.beginReadArray("rawwindows"); for (int i=0;irestoreGeometry(windowsettings.value("location").toByteArray()); - tablesMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + tablesMdiWindow->setHidden(hidden); } else if (type == "firmwareMetaMdiWindow") { firmwareMetaMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - firmwareMetaMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + firmwareMetaMdiWindow->setHidden(hidden); } else if (type == "interrogateProgressMdiWindow") { @@ -1369,27 +1380,52 @@ void MainWindow::interrogationComplete() else if (type == "emsMdiWindow") { emsMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - emsMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + emsMdiWindow->setHidden(hidden); } else if (type == "flagsMdiWindow") { flagsMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - flagsMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + flagsMdiWindow->setHidden(hidden); } else if (type == "gaugesMdiWindow") { gaugesMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - gaugesMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + gaugesMdiWindow->setHidden(hidden); } else if (type == "packetStatusMdiWindow") { packetStatusMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - packetStatusMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + packetStatusMdiWindow->setHidden(hidden); } else if (type == "aboutMdiWindow") { aboutMdiWindow->restoreGeometry(windowsettings.value("location").toByteArray()); - aboutMdiWindow->setHidden(windowsettings.value("hidden",true).toBool()); + bool hidden = windowsettings.value("hidden",true).toBool(); + if (!hidden) + { + oneShown = true; + } + aboutMdiWindow->setHidden(hidden); } else if (type == "emsStatusMdiWindow") { @@ -1401,6 +1437,11 @@ void MainWindow::interrogationComplete() } } + if (!oneShown) + { + //No windows are currently shown. Show the emsMdiWindow + emsMdiWindow->setHidden(false); + } /* QMdiSubWindow *tablesMdiWindow; QMdiSubWindow *firmwareMetaMdiWindow; QMdiSubWindow *interrogateProgressMdiWindow;