configipdlg.cpp 2.5 KB
#include "configipdlg.h"
#include "ui_configipdlg.h"
#include "config.h"

using namespace Define;

ConfigIpDlg::ConfigIpDlg(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ConfigIpDlg)
{
    ui->setupUi(this);
    setWindowFlags(Qt::FramelessWindowHint);
    setAttribute(Qt::WA_NoSystemBackground);
    setAttribute(Qt::WA_TranslucentBackground);
    ui->ctrGw_0->setFormatterWidth(3);
    ui->ctrGw_1->setFormatterWidth(3);
    ui->ctrGw_2->setFormatterWidth(3);
    ui->ctrGw_3->setFormatterWidth(3);
    ui->ctrIp_0->setFormatterWidth(3);
    ui->ctrIp_1->setFormatterWidth(3);
    ui->ctrIp_2->setFormatterWidth(3);
    ui->ctrIp_3->setFormatterWidth(3);
    ui->ctrNetmask_0->setFormatterWidth(3);
    ui->ctrNetmask_1->setFormatterWidth(3);
    ui->ctrNetmask_2->setFormatterWidth(3);
    ui->ctrNetmask_3->setFormatterWidth(3);

    Config* cfg = Config::getInstance();

    config_item temp;
    temp = cfg->getConfigValue(config_ip);
    ui->ctrIp_0->setValue(temp.d8.d8_0);
    ui->ctrIp_1->setValue(temp.d8.d8_1);
    ui->ctrIp_2->setValue(temp.d8.d8_2);
    ui->ctrIp_3->setValue(temp.d8.d8_3);

    temp = cfg->getConfigValue(config_gateway);
    ui->ctrGw_0->setValue(temp.d8.d8_0);
    ui->ctrGw_1->setValue(temp.d8.d8_1);
    ui->ctrGw_2->setValue(temp.d8.d8_2);
    ui->ctrGw_3->setValue(temp.d8.d8_3);

    temp = cfg->getConfigValue(config_netmask);
    ui->ctrNetmask_0->setValue(temp.d8.d8_0);
    ui->ctrNetmask_1->setValue(temp.d8.d8_1);
    ui->ctrNetmask_2->setValue(temp.d8.d8_2);
    ui->ctrNetmask_3->setValue(temp.d8.d8_3);

}

ConfigIpDlg::~ConfigIpDlg()
{
    delete ui;
}

void ConfigIpDlg::on_ctrBtnOk_clicked()
{
    Config* cfg = Config::getInstance();
    config_item temp;

    temp.d8.d8_0 = (uint8_t)ui->ctrIp_0->value();
    temp.d8.d8_1 = (uint8_t)ui->ctrIp_1->value();
    temp.d8.d8_2 = (uint8_t)ui->ctrIp_2->value();
    temp.d8.d8_3 = (uint8_t)ui->ctrIp_3->value();
    cfg->setConfigValue(config_ip, temp);

    temp.d8.d8_0 = (uint8_t)ui->ctrGw_0->value();
    temp.d8.d8_1 = (uint8_t)ui->ctrGw_1->value();
    temp.d8.d8_2 = (uint8_t)ui->ctrGw_2->value();
    temp.d8.d8_3 = (uint8_t)ui->ctrGw_3->value();
    cfg->setConfigValue(config_gateway, temp);

    temp.d8.d8_0 = (uint8_t)ui->ctrNetmask_0->value();
    temp.d8.d8_1 = (uint8_t)ui->ctrNetmask_1->value();
    temp.d8.d8_2 = (uint8_t)ui->ctrNetmask_2->value();
    temp.d8.d8_3 = (uint8_t)ui->ctrNetmask_3->value();
    cfg->setConfigValue(config_netmask, temp);

    accept();
}

void ConfigIpDlg::on_ctrBtnCancel_clicked()
{
    reject();
}