From 384316f691c958f6d51001eb4ad134dd7cc13453 Mon Sep 17 00:00:00 2001 From: wmayer Date: Sat, 9 Apr 2016 17:06:50 +0200 Subject: [PATCH] + skip FreeCAD version when saving&reading main window state --- src/Gui/MainWindow.cpp | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Gui/MainWindow.cpp b/src/Gui/MainWindow.cpp index 2c6649f65..625d07865 100644 --- a/src/Gui/MainWindow.cpp +++ b/src/Gui/MainWindow.cpp @@ -1095,17 +1095,21 @@ void MainWindow::loadWindowSettings() { QString vendor = QString::fromLatin1(App::Application::Config()["ExeVendor"].c_str()); QString application = QString::fromLatin1(App::Application::Config()["ExeName"].c_str()); - QString version = QString::fromLatin1(App::Application::Config()["ExeVersion"].c_str()); int major = (QT_VERSION >> 0x10) & 0xff; int minor = (QT_VERSION >> 0x08) & 0xff; QString qtver = QString::fromLatin1("Qt%1.%2").arg(major).arg(minor); QSettings config(vendor, application); - config.beginGroup(version); - config.beginGroup(qtver); - this->resize(config.value(QString::fromLatin1("Size"), this->size()).toSize()); - QPoint pos = config.value(QString::fromLatin1("Position"), this->pos()).toPoint(); QRect rect = QApplication::desktop()->availableGeometry(); + int maxHeight = rect.height(); + int maxWidth = rect.width(); + + config.beginGroup(qtver); + QPoint pos = config.value(QString::fromLatin1("Position"), this->pos()).toPoint(); + maxWidth -= pos.x(); + maxHeight -= pos.y(); + this->resize(config.value(QString::fromLatin1("Size"), QSize(maxWidth, maxHeight)).toSize()); + int x1,x2,y1,y2; // make sure that the main window is not totally out of the visible rectangle rect.getCoords(&x1, &y1, &x2, &y2); @@ -1124,7 +1128,6 @@ void MainWindow::loadWindowSettings() statusBar()->setVisible(config.value(QString::fromLatin1("StatusBar"), true).toBool()); config.endGroup(); - config.endGroup(); ToolBarManager::getInstance()->restoreState(); std::clog << "Toolbars restored" << std::endl; @@ -1134,13 +1137,11 @@ void MainWindow::saveWindowSettings() { QString vendor = QString::fromLatin1(App::Application::Config()["ExeVendor"].c_str()); QString application = QString::fromLatin1(App::Application::Config()["ExeName"].c_str()); - QString version = QString::fromLatin1(App::Application::Config()["ExeVersion"].c_str()); int major = (QT_VERSION >> 0x10) & 0xff; int minor = (QT_VERSION >> 0x08) & 0xff; QString qtver = QString::fromLatin1("Qt%1.%2").arg(major).arg(minor); QSettings config(vendor, application); - config.beginGroup(version); config.beginGroup(qtver); config.setValue(QString::fromLatin1("Size"), this->size()); config.setValue(QString::fromLatin1("Position"), this->pos()); @@ -1148,7 +1149,6 @@ void MainWindow::saveWindowSettings() config.setValue(QString::fromLatin1("MainWindowState"), this->saveState()); config.setValue(QString::fromLatin1("StatusBar"), this->statusBar()->isVisible()); config.endGroup(); - config.endGroup(); DockWindowManager::instance()->saveState(); ToolBarManager::getInstance()->saveState();