#include "config_page.h" #include "ui_config_page.h" #include "IMEKeyBoard/keyboard_num.h" Config_Page::Config_Page(QWidget *parent, Work_Thread *thread) : custom_dialog(parent), ui(new Ui::Config_Page) { ui->setupUi(this); work_thread = thread; set_btn_beep(ui->pushButton_Exit,SIGNAL(pressed())); set_btn_beep(ui->ledit_errmask1,SIGNAL(custom_click())); set_btn_beep(ui->ledit_errmask2,SIGNAL(custom_click())); set_btn_beep(ui->ledit_voldrop,SIGNAL(custom_click())); connect(ui->pushButton_Exit,SIGNAL(released()),this,SLOT(BtnReleased())); connect(ui->ledit_errmask1,SIGNAL(custom_click()),this,SLOT(leditAction())); connect(ui->ledit_errmask2,SIGNAL(custom_click()),this,SLOT(leditAction())); connect(ui->ledit_voldrop,SIGNAL(custom_click()),this,SLOT(leditAction())); //timer_500ms = new QTimer(this); //connect(timer_500ms,SIGNAL(timeout()),this,SLOT(timerSlot())); work_thread->setWorkThreadCMD(work_thread->CMD_GetVolDropParam); } Config_Page::~Config_Page() { delete ui; //delete timer_500ms; } void Config_Page::showConfigPage() { //timer_500ms->start(500); packParamEdit = false; packParam = work_thread->packParam; updatePackParam(); work_thread->setWorkThreadCMD(work_thread->CMD_GetVolDropParam); volDropEdit = false; volDropParam = work_thread->volDropParam; ui->ledit_voldrop->setText(QString::number(volDropParam.dropVol)); this->exec(); } void Config_Page::closeConfigPage() { //timer_500ms->stop(); this->close(); } void Config_Page::updatePackParam() { QString errmask1; errmask1.sprintf("(0x%4X) :",packParam.pack_errMask1); ui->label_errmask1->setText(tr("故障掩码1")+errmask1); ui->ledit_errmask1->setText(QString::number(packParam.pack_errMask1)); QString errmask2; errmask2.sprintf("(0x%4X) :",packParam.pack_errMask2); ui->label_errmask2->setText(tr("故障掩码2")+errmask2); ui->ledit_errmask2->setText(QString::number(packParam.pack_errMask2)); } void Config_Page::BtnReleased() { QPushButton *pb = dynamic_cast(sender()); if(pb == ui->pushButton_Exit) { if(packParamEdit){ work_thread->savePackParam(packParam); } if(volDropEdit){ work_thread->saveVolDropParam(volDropParam); } closeConfigPage(); } } void Config_Page::leditAction() { Custom_LineEdit *le = dynamic_cast(sender()); if(le == ui->ledit_errmask1) { KeyBoard_Num keyboard(this, INPUT_DATA, ui->label_errmask1->text()); keyboard.execKeyboard(); DATA_KB_RTN kbdata = keyboard.get_kb_data(); if(kbdata.If_OK) { int errmask = kbdata.set_text.toInt(); if(errmask>=0 && errmask<=65535) { packParam.pack_errMask1 = errmask; updatePackParam(); packParamEdit = true; } } } else if(le == ui->ledit_errmask2) { KeyBoard_Num keyboard(this, INPUT_DATA, ui->label_errmask2->text()); keyboard.execKeyboard(); DATA_KB_RTN kbdata = keyboard.get_kb_data(); if(kbdata.If_OK) { int errmask = kbdata.set_text.toInt(); if(errmask>=0 && errmask<=65535) { packParam.pack_errMask2 = errmask; updatePackParam(); packParamEdit = true; } } } else if(le == ui->ledit_voldrop) { KeyBoard_Num keyboard(this, INPUT_DATA, ui->label_voldrop->text()); keyboard.execKeyboard(); DATA_KB_RTN kbdata = keyboard.get_kb_data(); if(kbdata.If_OK) { int vol = kbdata.set_text.toInt(); if(vol>=0 && vol<=3000) { le->setText(kbdata.set_text); volDropParam.dropVol = vol; volDropEdit = true; } } } }