code_production/app/HGProductionTool/form_burnmode.cpp

683 lines
20 KiB
C++
Raw Normal View History

2023-01-04 06:28:44 +00:00
#include "form_burnmode.h"
#include "ui_form_burnmode.h"
#include "dialog_setburnsn.h"
#include "hgscanner.h"
#include "mainwindow.h"
2023-01-04 12:48:53 +00:00
#include "analysisjson.h"
#include "base/HGBase.h"
2023-08-31 07:21:32 +00:00
#include "HGUIGlobal.h"
2023-09-01 10:42:28 +00:00
#include "dialog_excepdesc.h"
2023-01-04 06:28:44 +00:00
#include <QMessageBox>
#include <QLineEdit>
#include <QInputDialog>
2023-09-01 10:42:28 +00:00
Form_BurnMode::Form_BurnMode(class MainWindow *mainwnd, const QString &profileName, const QString &accountName, QWidget *parent) :
2023-01-04 06:28:44 +00:00
QWidget(parent),
m_curIndex(0),
2023-09-01 10:42:28 +00:00
m_profileName(profileName),
m_accountName(accountName),
2023-01-04 06:28:44 +00:00
m_mainwnd(mainwnd),
2023-09-01 10:42:28 +00:00
m_hg(nullptr),
2023-01-04 06:28:44 +00:00
ui(new Ui::Form_BurnMode)
{
ui->setupUi(this);
2023-09-01 10:42:28 +00:00
ui->textEdit_target->setReadOnly(true);
ui->textEdit_curConfig->setReadOnly(true);
ui->pbtn_enterBurnMode->setEnabled(true);
ui->pbtn_confirmFinishBurn->setEnabled(false);
ui->pbtn_checkConfig->setEnabled(false);
ui->pbtn_complete->setEnabled(false);
2023-09-04 01:33:44 +00:00
ui->pbtn_abnormal->setEnabled(false);
2023-01-04 14:24:41 +00:00
connect(this, SIGNAL(testResult(bool)), this, SLOT(on_testResult(bool)), Qt::QueuedConnection);
2023-01-04 06:28:44 +00:00
initTableWidget();
}
Form_BurnMode::~Form_BurnMode()
{
delete ui;
}
void Form_BurnMode::addDevice(DeviceManager *devManager)
{
ui->tableWidget->setRowCount(m_curIndex + 1);
ui->tableWidget->setItem(m_curIndex, 0, new QTableWidgetItem(QString::number(m_curIndex + 1)));
ui->tableWidget->item(m_curIndex, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
QTableWidgetItem *check = new QTableWidgetItem();
check->setCheckState(Qt::Unchecked);
ui->tableWidget->setItem(m_curIndex, 1, check);
ui->tableWidget->item(m_curIndex, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
ui->tableWidget->setItem(m_curIndex, 2, new QTableWidgetItem(devManager->getDevName()));
ui->tableWidget->item(m_curIndex, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter);
QTableWidgetItem *item = ui->tableWidget->item(m_curIndex, 1);
QVariant var = QVariant::fromValue((void*)devManager);
item->setData(Qt::UserRole, var);
2023-01-05 07:18:55 +00:00
updatetablewidget();
2023-09-01 10:42:28 +00:00
updateTargetCfg();
updateCurDeviceCfg();
2023-01-04 06:28:44 +00:00
m_curIndex++;
}
void Form_BurnMode::deleteDevice(QString devName)
{
2023-01-05 07:18:55 +00:00
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
2023-01-04 06:28:44 +00:00
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
QTableWidgetItem *item2 = ui->tableWidget->item(i, 2);
if (devName!= nullptr && item != nullptr)
{
if (devName == item2->text())
{
DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value<void*>();
delete devManager;
ui->tableWidget->removeRow(i);
m_curIndex--;
break;
}
}
}
2023-01-05 07:18:55 +00:00
updatetablewidget();
2023-09-01 10:42:28 +00:00
updateTargetCfg();
updateCurDeviceCfg();
}
DeviceManager *Form_BurnMode::getDevManager()
{
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value<void*>();
return devManager;
}
}
return nullptr;
2023-01-04 06:28:44 +00:00
}
2023-01-04 14:24:41 +00:00
void Form_BurnMode::on_testResult(bool setStatus)
2023-01-04 06:28:44 +00:00
{
2023-09-01 10:42:28 +00:00
//m_mainwnd->releaseTesting();
2023-01-04 06:28:44 +00:00
}
void Form_BurnMode::initTableWidget()
{
ui->tableWidget->resizeRowsToContents();
2023-01-09 01:41:24 +00:00
ui->tableWidget->setColumnCount(3);
2023-01-04 06:28:44 +00:00
ui->tableWidget->horizontalHeader()->setDefaultSectionSize(200);
// ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
ui->tableWidget->horizontalHeader()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
QStringList header;
2023-01-09 01:41:24 +00:00
header<< tr("ID") << tr("selected") << tr("device");
2023-01-04 06:28:44 +00:00
ui->tableWidget->setHorizontalHeaderLabels(header);
QFont font = ui->tableWidget->horizontalHeader()->font();
font.setBold(true);
ui->tableWidget->horizontalHeader()->setFont(font);
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
ui->tableWidget->verticalHeader()->setDefaultSectionSize(10);
ui->tableWidget->setFrameShape(QFrame::NoFrame);
ui->tableWidget->setShowGrid(true);
ui->tableWidget->verticalHeader()->setVisible(false);
// ui->tableWidget->setSelectionMode(QAbstractItemView::SingleSelection);
ui->tableWidget->setSelectionBehavior(QAbstractItemView::SelectRows);
ui->tableWidget->setEditTriggers(QAbstractItemView::NoEditTriggers);
ui->tableWidget->horizontalHeader()->setFixedHeight(30);
ui->tableWidget->clearContents();
}
2023-09-01 10:42:28 +00:00
void Form_BurnMode:: updatetablewidget()
2023-01-05 07:18:55 +00:00
{
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
ui->tableWidget->setItem(i, 0, new QTableWidgetItem(QString::number(i + 1)));
}
2023-02-09 02:42:10 +00:00
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr)
item->setCheckState(Qt::Checked);
}
2023-09-01 10:42:28 +00:00
//ui->cbox_selectAll->setChecked(true);
2023-01-05 07:18:55 +00:00
}
2023-09-01 10:42:28 +00:00
void Form_BurnMode::updateTargetCfg()
2023-01-04 06:28:44 +00:00
{
2023-09-01 10:42:28 +00:00
ui->textEdit_target->clear();
2023-01-04 06:28:44 +00:00
2023-09-01 10:42:28 +00:00
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
int speedMode = jsonGlobal.speed_mode;
int sleepTime = jsonGlobal.sleep_time;
int vid_to = jsonGlobal.vid_to;
int pid_to = jsonGlobal.pid_to;
char buf[10];
sprintf(buf, "%x", vid_to);
char buf2[10];
sprintf(buf2, "%x", pid_to);
QString content;
content += tr("Target Configration:\n\t");
content += tr("Speep mode: %1PPM\n\t").arg(QString::number(speedMode));
content.append(sleepTime > 0 ? tr("Sleep time: %1minute\n\t").arg(QString::number(sleepTime)) : tr("Sleep time: Not sleeping\n\t"));
content += tr("Vid: %1 Pid: %2\n\t").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2));
ui->textEdit_target->setText(content);
}
void Form_BurnMode::updateCurDeviceCfg()
{
ui->textEdit_curConfig->clear();
DeviceManager *devManager = getDevManager();
if (devManager == nullptr)
return;
int speedMode = devManager->getSpeedMode();
int sleepTime = devManager->getSleepTime();
int vid_to = devManager->getDevVid();
int pid_to = devManager->getDevPid();
char buf[10];
sprintf(buf, "%x", vid_to);
char buf2[10];
sprintf(buf2, "%x", pid_to);
QString content;
content.append(tr("Current Configration of device:") + "\n\t");
content.append(tr("Speep mode: %1PPM").arg(QString::number(speedMode)) + "\n\t");
content.append(sleepTime > 0 ? tr("Sleep time: %1minute").arg(QString::number(sleepTime)) : tr("Sleep time: Not sleeping") + "\n\t");
content.append(tr("Vid: %1 Pid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + "\n\t");
ui->textEdit_curConfig->setText(content);
}
QString Form_BurnMode::getLogPath()
{
HGChar cachePath[512];
HGBase_GetDocumentsPath(cachePath, 512);
HGChar procName[512];
HGBase_GetProcessName(procName, 512);
strcat(cachePath, procName);
strcat(cachePath, "/Test_Log/");
return getStdFileName(cachePath);
}
void Form_BurnMode::writeTestLog(QString logContent)
{
QString logPath = getLogPath();
HGBase_CreateDir(getStdString(logPath).c_str());
DeviceManager *devManager = getDevManager();
QString serialNum = devManager->getSerialNum();
QString fileName = logPath + serialNum + ".log";
QFile file(fileName);
if(!file.open(QIODevice::ReadWrite | QIODevice::Append))
2023-01-04 06:28:44 +00:00
{
2023-09-01 10:42:28 +00:00
return;
2023-01-04 06:28:44 +00:00
}
2023-09-01 10:42:28 +00:00
QDateTime dateTime= QDateTime::currentDateTime();
QString curTime = dateTime .toString("yyyy-MM-dd hh:mm:ss");
QString content = "[" + curTime + "] ";
content += logContent;
QTextStream txtOutput(&file);
txtOutput << content << endl;
file.close();
2023-01-04 06:28:44 +00:00
}
2023-09-01 10:42:28 +00:00
//void Form_BurnMode::on_cbox_selectAll_stateChanged(int arg1)
//{
// (void)arg1;
// bool check = ui->cbox_selectAll->isChecked();
// for(int i = 0; i < ui->tableWidget->rowCount(); i++)
// {
// QTableWidgetItem *item = ui->tableWidget->item(i, 1);
// if (item != nullptr)
// {
// if (check)
// item->setCheckState(Qt::Checked);
// else
// item->setCheckState(Qt::Unchecked);
// }
// }
//}
void Form_BurnMode::on_pbtn_enterBurnMode_clicked()
2023-01-04 06:28:44 +00:00
{
2023-01-04 14:24:41 +00:00
int select = 0;
2023-01-05 07:18:55 +00:00
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
2023-01-04 14:24:41 +00:00
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
select++;
}
}
if (select == 0)
{
2023-01-05 07:18:55 +00:00
QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
2023-01-04 14:24:41 +00:00
return;
}
2023-01-05 07:18:55 +00:00
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
2023-01-04 06:28:44 +00:00
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value<void*>();
devManager->setBurnMode();
2023-09-01 10:42:28 +00:00
ui->pbtn_confirmFinishBurn->setEnabled(true);
ui->pbtn_checkConfig->setEnabled(false);
ui->pbtn_complete->setEnabled(false);
2023-09-04 01:33:44 +00:00
ui->pbtn_abnormal->setEnabled(true);
2023-09-01 10:42:28 +00:00
m_mainwnd->setLogOutStatus(false);
2023-01-04 06:28:44 +00:00
}
}
}
2023-09-01 10:42:28 +00:00
DeviceManager::DeviceManager(class MainWindow *mainwnd, class Form_BurnMode *burnMode, SANE_Handle handle,
const QString &profileName, const QString & devName, const QString &serialNum)
2023-01-04 06:28:44 +00:00
{
2023-01-04 12:48:53 +00:00
m_mainwnd = mainwnd;
m_burnMode = burnMode;
2023-01-04 06:28:44 +00:00
m_handle = handle;
2023-09-01 10:42:28 +00:00
m_profileName = profileName;
2023-01-04 06:28:44 +00:00
m_devName = devName;
2023-09-01 10:42:28 +00:00
m_serialNum = serialNum;
2023-01-04 06:28:44 +00:00
m_hg = new hgscanner(nullptr, m_burnMode, nullptr, m_handle);
2023-01-04 06:28:44 +00:00
}
DeviceManager::~DeviceManager()
{
delete m_hg;
m_hg = nullptr;
sane_close(m_handle);
}
QString DeviceManager::getDevName()
{
return m_devName;
}
2023-09-01 10:42:28 +00:00
QString DeviceManager::getSerialNum()
{
return m_serialNum;
}
2023-01-04 06:28:44 +00:00
void DeviceManager::setBurnMode()
{
const wchar_t *p = L"1";
2023-09-01 10:42:28 +00:00
// m_mainwnd->addTestingRef();
2023-01-06 09:24:49 +00:00
func_test_go(HGPDTTOOLDB_NAME_REBOOT_DEVICE, p, m_hg);
2023-01-04 06:28:44 +00:00
}
2023-09-01 10:42:28 +00:00
void DeviceManager::setSpeedMode()
{
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
LPWRITECFG lp = new WRITECFG;
int speedMode = jsonGlobal.speed_mode;
lp->cat = WRITE_CAT_SPEED;
lp->val = (void*)&speedMode;
func_test_go(WRITE_CFG_NAME, (const wchar_t*)lp, m_hg);
delete lp;
}
void DeviceManager::setSleepTime()
{
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
LPWRITECFG lp = new WRITECFG;
int sleepTime = jsonGlobal.sleep_time;
lp->cat = WRITE_CAT_SLEEP;
lp->val = (void*)&sleepTime;
func_test_go(WRITE_CFG_NAME, (const wchar_t*)lp, m_hg);
delete lp;
}
void DeviceManager::setVidPid()
{
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
LPWRITECFG lp = new WRITECFG;
VIDPID vidpid;
vidpid.VID = jsonGlobal.vid_to;
vidpid.PID = jsonGlobal.pid_to;
int vidpidValue = vidpid.Value;
lp->cat = WRITE_CAT_VID_PID;
lp->val = (void*)&vidpidValue;
func_test_go(WRITE_CFG_NAME, (const wchar_t*)lp, m_hg);
delete lp;
}
void DeviceManager::rebootDevice()
{
const wchar_t *p = L"0";
func_test_go(HGPDTTOOLDB_NAME_REBOOT_DEVICE, p, m_hg);
}
QString DeviceManager::getDevType()
{
std::string firmWareNum;
unsigned int firmWareNumLen = 0;
if(SANE_STATUS_NO_MEM == sane_io_control(m_handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, nullptr, &firmWareNumLen) && firmWareNumLen)
{
firmWareNum.resize(firmWareNumLen);
sane_io_control(m_handle, IO_CTRL_CODE_GET_HARDWARE_VERSION, &firmWareNum[0], &firmWareNumLen);
}
QString str = QString::fromStdString(firmWareNum.c_str());
return str.left(2) + "00";
}
int DeviceManager::getSpeedMode()
{
SANE_Int speedMode = 0;
unsigned int len = sizeof(SANE_Int);
sane_io_control(m_handle, IO_CTRL_CODE_GET_SPEED_MODE, &speedMode, &len);
const wchar_t G100[6] = { 70,80,90,110 };
const wchar_t G200[6] = { 100,110,120,130 };
const wchar_t G300[6] = { 40,50,60,70 };
const wchar_t G400[6] = { 40,50,60,70,80 };
QString devType = getDevType();
int speed = 0;
if ((int)speedMode >= 40)
speed = (int)speedMode;
else
{
if (devType == "G100")
speed = G100[(int)speedMode - 1];
else if (devType == "G200")
speed = G200[(int)speedMode - 1];
else if (devType == "G300")
speed = G300[(int)speedMode - 1];
else if (devType == "G400")
speed = G400[(int)speedMode - 1];
}
return speed;
}
int DeviceManager::getSleepTime()
{
int sleepTime = SANE_POWER_FIRST;
unsigned int len2 = sizeof(int);
sane_io_control(m_handle, IO_CTRL_CODE_GET_POWER_LEVEL, &sleepTime, &len2);
if (sleepTime > 99999 || sleepTime == -1)
return 0;
return (sleepTime / 60);
}
int DeviceManager::getDevVid()
{
VIDPID vidpid;
int vidpid_val;
unsigned int len = sizeof(int);
sane_io_control(m_handle, IO_CTRL_CODE_GET_VIDPID, &vidpid_val, &len);
vidpid.Value = vidpid_val;
int vid = vidpid.VID;
return vid;
}
int DeviceManager::getDevPid()
{
VIDPID vidpid;
int vidpid_val;
unsigned int len = sizeof(int);
sane_io_control(m_handle, IO_CTRL_CODE_GET_VIDPID, &vidpid_val, &len);
vidpid.Value = vidpid_val;
int pid = vidpid.PID;
return pid;
}
2023-01-04 09:27:24 +00:00
void Form_BurnMode::on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
{
int row = item->row();
QTableWidgetItem *item2 = ui->tableWidget->item(row, 1);
if (item2->checkState() == Qt::Checked)
{
item2->setCheckState(Qt::Unchecked);
}
else
{
item2->setCheckState(Qt::Checked);
}
}
2023-01-04 12:48:53 +00:00
2023-09-01 10:42:28 +00:00
//void Form_BurnMode::on_pbtn_close_clicked()
//{
// int select = 0;
// for(int i = 0; i < ui->tableWidget->rowCount(); i++)
// {
// QTableWidgetItem *item = ui->tableWidget->item(i, 1);
// if (item != nullptr && Qt::Checked == item->checkState())
// {
// select++;
// }
// }
// if (select == 0)
// {
// QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
// return;
// }
// int rowCount = ui->tableWidget->rowCount();
// for (int i = rowCount - 1; i >= 0; --i)
// {
// QTableWidgetItem *item = ui->tableWidget->item(i, 1);
// if (item != nullptr && Qt::Checked == item->checkState())
// {
// DeviceManager *devManager = (DeviceManager*)item->data(Qt::UserRole).value<void*>();
// delete devManager;
// ui->tableWidget->removeRow(i);
// m_curIndex--;
// }
// }
// updatetablewidget();
//}
void Form_BurnMode::on_pbtn_confirmFinishBurn_clicked()
2023-01-05 07:18:55 +00:00
{
2023-09-04 01:33:44 +00:00
int select = 0;
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
select++;
}
}
if (select == 0)
{
QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
return;
}
2023-09-01 10:42:28 +00:00
DeviceManager *devManager = getDevManager();
if (devManager == nullptr)
return;
devManager->setSpeedMode();
devManager->setSleepTime();
devManager->setVidPid();
devManager->rebootDevice();
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
int speedMode_to = jsonGlobal.speed_mode;
int sleepTime_to = jsonGlobal.sleep_time;
int vid_to = jsonGlobal.vid_to;
int pid_to = jsonGlobal.pid_to;
char buf[10];
sprintf(buf, "%x", vid_to);
char buf2[10];
sprintf(buf2, "%x", pid_to);
QString content;
content.append(tr("Complete burning and configure device parameters: "));
content.append(tr("Speep mode: %1PPM").arg(QString::number(speedMode_to)) + " ");
content.append(sleepTime_to > 0 ? tr("Sleep time: %1minute").arg(QString::number(sleepTime_to)) : tr("Sleep time: Not sleeping") + " ");
content.append(tr("Vid: %1 Pid: %2").arg(QString::fromStdString(buf)).arg(QString::fromStdString(buf2)) + " ");
writeTestLog(tr("Tester: %1, Test item: Burn, Test contents: %2").arg(m_accountName).arg(content));
ui->pbtn_checkConfig->setEnabled(true);
}
void Form_BurnMode::on_pbtn_checkConfig_clicked()
{
2023-09-04 01:33:44 +00:00
int select = 0;
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
select++;
}
}
if (select == 0)
{
QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
return;
}
2023-09-01 10:42:28 +00:00
AnalysisJson analysisJson(m_profileName);
AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal();
int speedMode_to = jsonGlobal.speed_mode;
int sleepTime_to = jsonGlobal.sleep_time;
int vid_to = jsonGlobal.vid_to;
int pid_to = jsonGlobal.pid_to;
DeviceManager *devManager = getDevManager();
if (devManager == nullptr)
return;
int speedMode = devManager->getSpeedMode();
int sleepTime = devManager->getSleepTime();
int vid = devManager->getDevVid();
int pid = devManager->getDevPid();
QString item;
bool right = true;
LPWRITECFG lp = new WRITECFG;
if (speedMode_to != speedMode)
2023-01-05 07:18:55 +00:00
{
2023-09-01 10:42:28 +00:00
item.append(tr("Speed mode"));
item.append(" ");
right = false;
devManager->setSpeedMode();
2023-01-05 07:18:55 +00:00
}
2023-09-01 10:42:28 +00:00
if (sleepTime_to != sleepTime)
2023-01-05 07:18:55 +00:00
{
2023-09-01 10:42:28 +00:00
item.append(tr("Sleep time"));
item.append(" ");
right = false;
devManager->setSleepTime();
2023-01-05 07:18:55 +00:00
}
2023-09-01 10:42:28 +00:00
if (vid != vid_to || pid != pid_to)
2023-01-05 07:18:55 +00:00
{
2023-09-01 10:42:28 +00:00
item.append(tr("Vid and Pid"));
item.append(" ");
right = false;
devManager->setVidPid();
}
2023-01-04 12:48:53 +00:00
2023-09-01 10:42:28 +00:00
if (!right)
{
QMessageBox::information(this, tr("Prompt"), tr("Inconsistent configuration %1detected, reconfigured, please check again").arg(item));
2023-01-05 07:18:55 +00:00
}
2023-09-01 10:42:28 +00:00
else
{
QMessageBox::information(this, tr("Prompt"), tr("Consistent configuration"));
2023-01-05 07:18:55 +00:00
2023-09-01 10:42:28 +00:00
ui->pbtn_complete->setEnabled(true);
}
delete lp;
updateTargetCfg();
updateCurDeviceCfg();
}
void Form_BurnMode::on_pbtn_complete_clicked()
{
writeTestLog(tr("Tester: %1, Test item: Burn, Test completed").arg(m_accountName));
ui->pbtn_enterBurnMode->setEnabled(true);
ui->pbtn_confirmFinishBurn->setEnabled(false);
ui->pbtn_checkConfig->setEnabled(false);
ui->pbtn_complete->setEnabled(false);
m_mainwnd->setLogOutStatus(true);
}
void Form_BurnMode::on_pbtn_abnormal_clicked()
{
2023-09-04 03:49:05 +00:00
int select = 0;
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState())
{
select++;
}
}
if (select == 0)
{
QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
return;
}
Dialog_ExcepDesc dlg(this);
2023-09-01 10:42:28 +00:00
if (dlg.exec())
{
QString str = dlg.getExcepDesc();
writeTestLog(tr("Tester: %1, Test item: Burn, Test result: Failed! Reason: %2")
.arg(m_accountName).arg(str));
}
m_mainwnd->setLogOutStatus(true);
2023-01-05 07:18:55 +00:00
}