OSDN Git Service

Alpha 1 development in progress
[dennco/dennco.git] / Source / platform / qt / qtdnserialportimpl.cpp
index a3ba5e7..76538e5 100644 (file)
@@ -24,6 +24,7 @@
 #include "mainwindow.h"
 #include "TKLog.h"
 #include "DNUtils.h"
+#include "DNSettings.h"
 
 #include <QThread>
 #include <QtCore/QVariant>
@@ -393,6 +394,68 @@ QtDNSerialPortSettingDialog::QtDNSerialPortSettingDialog(QWidget *parent)
     connect(ui->portsComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(procItemPortChanged(int)));
     connect(ui->okPushButton, SIGNAL(clicked()), this, SLOT(procOKButtonClick()));
     connect(ui->cancelPushButton, SIGNAL(clicked()), this, SLOT(procCancelButtonClick()));
+
+    //default setting
+    QString defaultPortName = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_PORTNAME , ""));
+    for (int i = 0; i < ui->portsComboBox->count(); i++)
+    {
+        if (ui->portsComboBox->itemText(i) == defaultPortName)
+        {
+            ui->portsComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
+    QString defaultBaudRate = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_RATE, "9600"));
+    for (int i = 0; i < ui->ratesComboBox->count(); i++)
+    {
+        if (ui->ratesComboBox->itemText(i) == defaultBaudRate)
+        {
+            ui->ratesComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
+    QString defaultDataBits = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_DATABITS, "8"));
+    for (int i = 0; i < ui->dataBitsComboBox->count(); i++)
+    {
+        if (ui->dataBitsComboBox->itemText(i) == defaultDataBits)
+        {
+            ui->dataBitsComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
+    QString defaultParity = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_PARITY, "No parity"));
+    for (int i = 0; i < ui->parityComboBox->count(); i++)
+    {
+        if (ui->parityComboBox->itemText(i) == defaultParity)
+        {
+            ui->parityComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
+    QString defaultStopBits = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_STOPBITS, "one stop"));
+    for (int i = 0; i < ui->stopBitsComboBox->count(); i++)
+    {
+        if (ui->stopBitsComboBox->itemText(i) == defaultStopBits)
+        {
+            ui->stopBitsComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
+    QString defaultFlowControl = QString::fromStdString(DNSettings::getValue(DNSettings::SERIAL_FLOWCONTROL, "No flow control"));
+    for (int i = 0; i < ui->flowControlComboBox->count(); i++)
+    {
+        if (ui->flowControlComboBox->itemText(i) == defaultFlowControl)
+        {
+            ui->flowControlComboBox->setCurrentIndex(i);
+            break;
+        }
+    }
+
 }
 
 QtDNSerialPortSettingDialog::~QtDNSerialPortSettingDialog()
@@ -538,5 +601,13 @@ void QtDNSerialPortSettingDialog::procCancelButtonClick()
 
 bool QtDNSerialPortSettingDialog::isOK()
 {
+    // save selections
+    DNSettings::setValue(DNSettings::SERIAL_PORTNAME, ui->portsComboBox->currentText().toStdString());
+    DNSettings::setValue(DNSettings::SERIAL_RATE, ui->ratesComboBox->currentText().toStdString());
+    DNSettings::setValue(DNSettings::SERIAL_DATABITS, ui->dataBitsComboBox->currentText().toStdString());
+    DNSettings::setValue(DNSettings::SERIAL_PARITY, ui->parityComboBox->currentText().toStdString());
+    DNSettings::setValue(DNSettings::SERIAL_STOPBITS, ui->stopBitsComboBox->currentText().toStdString());
+    DNSettings::setValue(DNSettings::SERIAL_FLOWCONTROL, ui->flowControlComboBox->currentText().toStdString());
+
     return mIsOK;
 }