#include "sysconf_page.h" #include "ui_sysconf_page.h" #include "IMEKeyBoard/keyboard_num.h" #include "Common/mymessagebox.h" Sysconf_Page::Sysconf_Page(QWidget *parent,Work_Thread *thread) : customDialog(parent), ui(new Ui::sysconf_page) { ui->setupUi(this); work_thread = thread; memset(&sysconf,0x00,sizeof(sysconf)); QString str = tr("单体来源:"); if(mon_use_type==0) str+= "IO COM1"; else if(mon_use_type==1) str+= "905 COM4"; else if(mon_use_type==2) str+= "LORA COM4"; ui->label_mon->setText(str); mashineTypeList<cb_type->setIconSize(QSize(1, 50)); for(int i=0;icb_type->addItem(icon,mashineTypeList.at(i)); } if(sysconf.Mashine_Type < mashineTypeList.count()) { ui->cb_type->setCurrentIndex(sysconf.Mashine_Type); } set_btn_beep(ui->ledit_intc,SIGNAL(custom_click())); set_btn_beep(ui->ledit_extc,SIGNAL(custom_click())); set_btn_beep(ui->ledit_stdc,SIGNAL(custom_click())); set_btn_beep(ui->ledit_dcdc,SIGNAL(custom_click())); set_btn_beep(ui->ledit_power,SIGNAL(custom_click())); set_btn_beep(ui->cb_type,SIGNAL(activated(int))); set_btn_beep(ui->btn_read,SIGNAL(pressed())); set_btn_beep(ui->btn_set,SIGNAL(pressed())); set_btn_beep(ui->pushButton_Exit,SIGNAL(pressed())); connect(ui->ledit_intc,SIGNAL(custom_click()),this,SLOT(ledit_action())); connect(ui->ledit_extc,SIGNAL(custom_click()),this,SLOT(ledit_action())); connect(ui->ledit_stdc,SIGNAL(custom_click()),this,SLOT(ledit_action())); connect(ui->ledit_dcdc,SIGNAL(custom_click()),this,SLOT(ledit_action())); connect(ui->ledit_power,SIGNAL(custom_click()),this,SLOT(ledit_action())); connect(ui->cb_type,SIGNAL(currentIndexChanged(int)),this,SLOT(Combox_Changed(int))); connect(ui->btn_read,SIGNAL(released()),this,SLOT(BtnReleased())); connect(ui->btn_set,SIGNAL(released()),this,SLOT(BtnReleased())); connect(ui->pushButton_Exit,SIGNAL(released()),this,SLOT(BtnReleased())); qRegisterMetaType("SYS_CONFIG"); connect(this,SIGNAL(SendSysInfoConf(int,SYS_CONFIG)),work_thread,SLOT(RecvSysConfCMD(int,SYS_CONFIG))); connect(work_thread,SIGNAL(SendSysconfInfo(SYS_CONFIG)),this,SLOT(RecvSysInfoConf(SYS_CONFIG))); SysconfPageShow(); QTimer::singleShot(500,this,SLOT(TimerSlot())); } Sysconf_Page::~Sysconf_Page() { delete ui; } void Sysconf_Page::TimerSlot() { emit SendSysInfoConf(work_thread->CMD_ReadSysConfInfo, sysconf); } void Sysconf_Page::SysconfPageShow(void) { ui->ledit_intc->setText(QString::number(sysconf.InnerCurrRange)); ui->ledit_extc->setText(QString::number(sysconf.ExterCurrRange)); ui->ledit_stdc->setText(QString::number(sysconf.MashineCurr)); ui->ledit_dcdc->setText(QString::number(sysconf.DCDC_Count)); ui->ledit_power->setText(QString::number((float)sysconf.MashinePower/10,'f',1)); if(sysconf.Mashine_Type < mashineTypeList.count()) { ui->cb_type->setCurrentIndex(sysconf.Mashine_Type); } if(sysconf.TKQenable){ ui->label_tkq->setText(tr("启用")); } else ui->label_tkq->setText(tr("禁用")); ui->ledit_intc->setStyleSheet("color:black"); ui->ledit_extc->setStyleSheet("color:black"); ui->ledit_stdc->setStyleSheet("color:black"); ui->ledit_dcdc->setStyleSheet("color:black"); ui->ledit_power->setStyleSheet("color:black"); // ui->label_tkq->setStyleSheet("color:black"); } void Sysconf_Page::RecvSysInfoConf(SYS_CONFIG config) { sysconf = config; SysconfPageShow(); qDebug("sys config read!"); } void Sysconf_Page::ledit_action(void) { if((!work_thread->IF_J9Close)&&JT_VALUE) { QString msg = tr("设备处于紧急停止状态,请检查并断电重启!"); popBox(msg); return; } Custom_LineEdit *le = dynamic_cast(sender()); if( le == ui->ledit_intc || le == ui->ledit_extc || le == ui->ledit_stdc || le == ui->ledit_dcdc || le == ui->ledit_power ) { le->setStyleSheet("color:red"); KeyBoard_Num keyboard(this,INPUT_DATA,work_thread); keyboard.setGeometry(400,60,300,350); keyboard.execKeyboard(); DATA_KB_RTN kbdata = keyboard.get_kb_data(); if(kbdata.If_OK) { float tmpdata = kbdata.set_text.toFloat(); if(le == ui->ledit_intc) { if(tmpdata>=10 && tmpdata<=2000) { sysconf.InnerCurrRange = tmpdata; le->setText(QString::number(sysconf.InnerCurrRange)); } } else if(le == ui->ledit_extc) { if(tmpdata>=10 && tmpdata<=2000) { sysconf.ExterCurrRange = tmpdata; le->setText(QString::number(sysconf.ExterCurrRange)); } } else if(le == ui->ledit_stdc) { if(tmpdata>=1 && tmpdata<=2000) { sysconf.MashineCurr = tmpdata; le->setText(QString::number(sysconf.MashineCurr)); } } else if(le == ui->ledit_dcdc) { if(tmpdata<=10) { sysconf.DCDC_Count = tmpdata; le->setText(QString::number(sysconf.DCDC_Count)); } } else if(le == ui->ledit_power) { if(tmpdata>=1 && tmpdata<=100) { sysconf.MashinePower = tmpdata*10; le->setText(QString::number(tmpdata,'f',1)); } } } else { le->setStyleSheet("color:black"); } } } void Sysconf_Page::BtnReleased() { QPushButton *pb = dynamic_cast(sender()); if(pb == ui->pushButton_Exit) { closeCustom(false); } else if(pb == ui->btn_read) { if((!work_thread->IF_J9Close)&&JT_VALUE) { QString msg = tr("设备处于紧急停止状态,请检查并断电重启!"); popBox(msg); return; } emit SendSysInfoConf(work_thread->CMD_ReadSysConfInfo, sysconf); } else if(pb == ui->btn_set) { if((!work_thread->IF_J9Close)&&JT_VALUE) { QString msg = tr("设备处于紧急停止状态,请检查并断电重启!"); popBox(msg); return; } emit SendSysInfoConf(work_thread->CMD_SetSysConfInfo, sysconf); QTimer::singleShot(1000,this,SLOT(TimerSlot())); } } void Sysconf_Page::Combox_Changed(int index) { switch(index) { case 0: case 1: case 2: case 3: sysconf.Mashine_Type = index; ui->cb_type->setCurrentIndex(sysconf.Mashine_Type); break; default:break; } } void Sysconf_Page::popBox(QString msg) { MessageBox box( this, QMessageBox::Warning,MB_Caption, msg, QMessageBox::Ok, QMessageBox::Ok, work_thread); box.exec(); }