diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -499,6 +499,7 @@ void MainWindow::saveAllSettings(QSettin
plotControlPanel.saveSettings(settings);
plotMan->saveSettings(settings);
commandPanel.saveSettings(settings);
+ recordPanel.saveSettings(settings);
}
void MainWindow::loadAllSettings(QSettings* settings)
@@ -510,6 +511,7 @@ void MainWindow::loadAllSettings(QSettin
plotControlPanel.loadSettings(settings);
plotMan->loadSettings(settings);
commandPanel.loadSettings(settings);
+ recordPanel.loadSettings(settings);
}
void MainWindow::saveMWSettings(QSettings* settings)
diff --git a/src/recordpanel.cpp b/src/recordpanel.cpp
--- a/src/recordpanel.cpp
+++ b/src/recordpanel.cpp
@@ -17,17 +17,17 @@
along with serialplot. If not, see .
*/
-#include "recordpanel.h"
-#include "ui_recordpanel.h"
-
#include
#include
#include
#include
#include
#include
+#include
-#include
+#include "recordpanel.h"
+#include "ui_recordpanel.h"
+#include "setting_defines.h"
RecordPanel::RecordPanel(DataRecorder* recorder, ChannelManager* channelMan, QWidget *parent) :
QWidget(parent),
@@ -255,3 +255,32 @@ QString RecordPanel::getSeparator() cons
sep.replace("\\t", "\t");
return sep;
}
+
+void RecordPanel::saveSettings(QSettings* settings)
+{
+ settings->beginGroup(SettingGroup_Record);
+ settings->setValue(SG_Record_AutoIncrement, ui->cbAutoIncrement->isChecked());
+ settings->setValue(SG_Record_RecordPaused, ui->cbRecordPaused->isChecked());
+ settings->setValue(SG_Record_StopOnClose, ui->cbStopOnClose->isChecked());
+ settings->setValue(SG_Record_Header, ui->cbHeader->isChecked());
+ settings->setValue(SG_Record_DisableBuffering, ui->cbDisableBuffering->isChecked());
+ settings->setValue(SG_Record_Separator, ui->leSeparator->text());
+ settings->endGroup();
+}
+
+void RecordPanel::loadSettings(QSettings* settings)
+{
+ settings->beginGroup(SettingGroup_Record);
+ ui->cbAutoIncrement->setChecked(
+ settings->value(SG_Record_AutoIncrement, ui->cbAutoIncrement->isChecked()).toBool());
+ ui->cbRecordPaused->setChecked(
+ settings->value(SG_Record_RecordPaused, ui->cbRecordPaused->isChecked()).toBool());
+ ui->cbStopOnClose->setChecked(
+ settings->value(SG_Record_StopOnClose, ui->cbStopOnClose->isChecked()).toBool());
+ ui->cbHeader->setChecked(
+ settings->value(SG_Record_Header, ui->cbHeader->isChecked()).toBool());
+ ui->cbDisableBuffering->setChecked(
+ settings->value(SG_Record_DisableBuffering, ui->cbDisableBuffering->isChecked()).toBool());
+ ui->leSeparator->setText(settings->value(SG_Record_Separator, ui->leSeparator->text()).toString());
+ settings->endGroup();
+}
diff --git a/src/recordpanel.h b/src/recordpanel.h
--- a/src/recordpanel.h
+++ b/src/recordpanel.h
@@ -46,6 +46,11 @@ public:
bool isRecording();
bool recordPaused();
+ /// Stores settings into a `QSettings`
+ void saveSettings(QSettings* settings);
+ /// Loads settings from a `QSettings`.
+ void loadSettings(QSettings* settings);
+
signals:
void recordStarted();
void recordStopped();
diff --git a/src/setting_defines.h b/src/setting_defines.h
--- a/src/setting_defines.h
+++ b/src/setting_defines.h
@@ -1,5 +1,5 @@
/*
- Copyright © 2016 Hasan Yavuz Özderya
+ Copyright © 2017 Hasan Yavuz Özderya
This file is part of serialplot.
@@ -29,6 +29,7 @@ const char SettingGroup_CustomFrame[] =
const char SettingGroup_Channels[] = "Channels";
const char SettingGroup_Plot[] = "Plot";
const char SettingGroup_Commands[] = "Commands";
+const char SettingGroup_Record[] = "Record";
// mainwindow setting keys
const char SG_MainWindow_Size[] = "size";
@@ -90,4 +91,12 @@ const char SG_Commands_Name[] = "name";
const char SG_Commands_Type[] = "type";
const char SG_Commands_Data[] = "data";
+// record panel settings keys
+const char SG_Record_AutoIncrement[] = "autoIncrement";
+const char SG_Record_RecordPaused[] = "recordPaused";
+const char SG_Record_StopOnClose[] = "stopOnClose";
+const char SG_Record_Header[] = "header";
+const char SG_Record_Separator[] = "separator";
+const char SG_Record_DisableBuffering[] = "disableBuffering";
+
#endif // SETTING_DEFINES_H