diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -45,6 +46,13 @@ Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) #endif +const QMap panelSettingMap({ + {0, "Port"}, + {1, "DataFormat"}, + {2, "Plot"}, + {3, "Commands"} + }); + MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), @@ -437,15 +445,25 @@ void MainWindow::saveMWSettings(QSetting settings->beginGroup(SettingGroup_MainWindow); settings->setValue(SG_MainWindow_Size, size()); settings->setValue(SG_MainWindow_Pos, pos()); + // save active panel + settings->setValue(SG_MainWindow_ActivePanel, + panelSettingMap.value(ui->tabWidget->currentIndex())); settings->endGroup(); } void MainWindow::loadMWSettings(QSettings* settings) { + settings->beginGroup(SettingGroup_MainWindow); // load window geometry - settings->beginGroup(SettingGroup_MainWindow); resize(settings->value(SG_MainWindow_Size, size()).toSize()); move(settings->value(SG_MainWindow_Pos, pos()).toPoint()); + + // set active panel + QString tabSetting = + settings->value(SG_MainWindow_ActivePanel, QString()).toString(); + ui->tabWidget->setCurrentIndex( + panelSettingMap.key(tabSetting, ui->tabWidget->currentIndex())); + settings->endGroup(); }