# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2016-09-04 02:34:35 # Node ID c6761f5a99cbda900333f74e53e131b19e1f3dc1 # Parent 6289addb553dd4ff20fde6867f8d51af25d7ac19 save/load currently active panel 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(); } diff --git a/src/setting_defines.h b/src/setting_defines.h --- a/src/setting_defines.h +++ b/src/setting_defines.h @@ -30,6 +30,7 @@ const char SettingGroup_Commands[] = "Co // mainwindow setting keys const char SG_MainWindow_Size[] = "size"; const char SG_MainWindow_Pos[] = "pos"; +const char SG_MainWindow_ActivePanel[] = "activePanel"; // port setting keys const char SG_Port_SelectedPort[] = "selectedPort";