# HG changeset patch # User Hasan Yavuz Ă–ZDERYA # Date 2016-09-07 02:51:33 # Node ID 8096ef7aa74f16fcdf1c559057fb63aee906cd1f # Parent c331aa68f3c2a373658e8b7026524a1a75675905 save/load plot settings diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -433,6 +433,7 @@ void MainWindow::saveAllSettings(QSettin portControl.saveSettings(settings); dataFormatPanel.saveSettings(settings); channelMan.saveSettings(settings); + plotControlPanel.saveSettings(settings); } void MainWindow::loadAllSettings(QSettings* settings) @@ -441,6 +442,7 @@ void MainWindow::loadAllSettings(QSettin portControl.loadSettings(settings); dataFormatPanel.loadSettings(settings); channelMan.loadSettings(settings); + plotControlPanel.loadSettings(settings); } void MainWindow::saveMWSettings(QSettings* settings) diff --git a/src/plotcontrolpanel.cpp b/src/plotcontrolpanel.cpp --- a/src/plotcontrolpanel.cpp +++ b/src/plotcontrolpanel.cpp @@ -23,7 +23,7 @@ #include "plotcontrolpanel.h" #include "ui_plotcontrolpanel.h" - +#include "setting_defines.h" /// Used for scale range selection combobox struct Range @@ -150,3 +150,25 @@ void PlotControlPanel::setChannelNamesMo { ui->lvChannelNames->setModel(model); } + +void PlotControlPanel::saveSettings(QSettings* settings) +{ + settings->beginGroup(SettingGroup_Plot); + settings->setValue(SG_Plot_NumOfSamples, numOfSamples()); + settings->setValue(SG_Plot_AutoScale, autoScale()); + settings->setValue(SG_Plot_YMax, yMax()); + settings->setValue(SG_Plot_YMin, yMin()); + settings->endGroup(); +} + +void PlotControlPanel::loadSettings(QSettings* settings) +{ + settings->beginGroup(SettingGroup_Plot); + ui->spNumOfSamples->setValue( + settings->value(SG_Plot_NumOfSamples, numOfSamples()).toInt()); + ui->cbAutoScale->setChecked( + settings->value(SG_Plot_AutoScale, autoScale()).toBool()); + ui->spYmax->setValue(settings->value(SG_Plot_YMax, yMax()).toDouble()); + ui->spYmin->setValue(settings->value(SG_Plot_YMin, yMin()).toDouble()); + settings->endGroup(); +} diff --git a/src/plotcontrolpanel.h b/src/plotcontrolpanel.h --- a/src/plotcontrolpanel.h +++ b/src/plotcontrolpanel.h @@ -22,6 +22,7 @@ #include #include +#include namespace Ui { class PlotControlPanel; @@ -42,6 +43,11 @@ public: void setChannelNamesModel(QAbstractItemModel * model); + /// Stores plot settings into a `QSettings` + void saveSettings(QSettings* settings); + /// Loads plot settings from a `QSettings`. + void loadSettings(QSettings* settings); + signals: void numOfSamplesChanged(int value); void scaleChanged(bool autoScaled, double yMin = 0, double yMax = 1); diff --git a/src/setting_defines.h b/src/setting_defines.h --- a/src/setting_defines.h +++ b/src/setting_defines.h @@ -69,4 +69,10 @@ const char SG_CustomFrame_DebugMode[] = const char SG_Channels_Channel[] = "channel"; const char SG_Channels_Name[] = "name"; +// plot settings keys +const char SG_Plot_NumOfSamples[] = "numOfSamples"; +const char SG_Plot_AutoScale[] = "autoScale"; +const char SG_Plot_YMax[] = "yMax"; +const char SG_Plot_YMin[] = "yMin"; + #endif // SETTING_DEFINES_H