diff --git a/app/HGPdtJsonTool/HGPdtJsonTool.pro b/app/HGPdtJsonTool/HGPdtJsonTool.pro index 3bb1389..1558cfb 100644 --- a/app/HGPdtJsonTool/HGPdtJsonTool.pro +++ b/app/HGPdtJsonTool/HGPdtJsonTool.pro @@ -38,8 +38,11 @@ win32 { contains(QT_ARCH, x86_64) { MY_ARCH = x64 } + + LIBS += -L$$PWD/../../../code_app/build2/build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} -l$${OEM_PREFIX}Base } +INCLUDEPATH += $$PWD/../../../code_app/modules DESTDIR = $$PWD/../../../code_app/build2/build/$${MY_OS}/$${OEM_NAME}/$${MY_ARCH}/$${MY_CONFIGURE} win32 { @@ -61,15 +64,18 @@ win32 { } SOURCES += \ + dialog_mymessagebox.cpp \ main.cpp \ mainwindow.cpp \ analysisjson.cpp HEADERS += \ + dialog_mymessagebox.h \ mainwindow.h \ analysisjson.h FORMS += \ + dialog_mymessagebox.ui \ mainwindow.ui RESOURCES += \ diff --git a/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.qm b/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.qm index 7f49c0f..7923865 100644 Binary files a/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.qm and b/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.qm differ diff --git a/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.ts b/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.ts index 52c7510..12f4167 100644 --- a/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.ts +++ b/app/HGPdtJsonTool/HGPdtJsonTool_zh_CN.ts @@ -1,6 +1,89 @@ + + Dialog_myMessageBox + + + Dialog + + + + + Ok + 确实 + + + + Cancel + 取消 + + + + Prompt + 提示 + + + + Please congirm device Target Configuration: + 请确认设备目标配置: + + + + Manufacturer:%1 + 厂商:%1 + + + + Device type:%1 + 设备类型:%1 + + + + Device model:%1 + 设备型号:%1 + + + + Firmware version:%1 + 固件版本号:%1 + + + + VID:%1 + VID:%1 + + + + PID:%1 + PID:%1 + + + + Speed mode:%1 + 速度模式:%1 + + + + Sleep time:%1 + 休眠时间:%1 + + + + Is it ockede:%1 + 是否锁定:%1 + + + + Cpu size:no less than %1 + CPU大小:不低于%1 + + + + Disk size:no less than %1 + 硬盘空间大小:不低于%1 + + MainWindow @@ -35,7 +118,8 @@ - Device modle: + Device model: + Device modle: 设备型号: @@ -65,250 +149,331 @@ - Test Id: - 测试项ID:* + Test item: + Test Id: + 测试项: - Test item: - 测试项目:* - - - Test station: 测试工位: - + Test type: 测试类型: - Add - 添加项目 + 添加项目 - Test content: - 测试内容: + 测试内容: + + + + Device type: + 设备类型: - Import - 导入现有配置文件 + 导入现有配置文件 - Delete - 删除勾选项 + 删除勾选项 - + SelectAll 全选 - + + huagao 华高 - + + microtek 中晶 - + + hanvon 汉王 - + + lanxum 立思辰 - + + deli 得力 - + + unis 紫光 - + + cumtenn 沧田 - nuetral - 中性 + 中性 - + + G100-3399 + + + + + G200-3399 + + + + + G300-3288 + + + + + G400-3399 + + + + Not dormant 不休眠 - + 5 min 5分钟 - + 10 min 10分钟 - + 20 min 20分钟 - + 30 min 30分钟 - + 1 hour 1小时 - + 2 hours 2小时 - + 4 hours 4小时 - + Lock 锁定 - + Device Target Configuration: + 设备目标配置: + + + Manufacturer:%1 + 厂商:%1 + + + Device type:%1 + 设备类型:%1 + + + VID:%1 + VID:%1 + + + PID:%1 + PID:%1 + + + Device model:%1 + 设备型号:%1 + + + Firmware version:%1 + 固件版本号:%1 + + + Speed mode:%1 + 速度模式:%1 + + + Sleep time:%1 + 休眠时间:%1 + + + Is it ockede:%1 + 是否锁定:%1 + + + Locked + 锁定 + + + Cpu size:%1 + CPU大小:%1 + + + Disk size:%1 + 硬盘大小:%1 + + + Not locked 不锁定 - + Burn 烧录工位 - + Initial inspection 初检工位 - + Image inspection 图像测试工位 - - - + + + automatic testing 自动测试 - - + + Manual testing 人工测试 - Fill in hexadecimal format, such as '0xFFFF' - 例如:0xFFFF + 例如:0xFFFF - + selected 选择 - ID - 序号 + 序号 - + Test ID 测试ID - + Test items 测试项目 - + Test station 测试工位 - + Test type 测试类型 - + Test content 测试内容 - - - - + + + + + Prompt 提示 - + Please add test item 请添加测试项 - + Please add basic device information + 请添加设备基本信息 + + + + Pid is empty, device not supported + Pid为空,设备不支持 + + + Select profile path 选择配置文件 - - + Json(*.json) 配置文件(*.json) - + Successfully generated 生成成功 - + Generate filed 生成失败 - + Incomplete information, please check 信息不完整,请检查 - Open File - 打开文件 + 打开文件 diff --git a/app/HGPdtJsonTool/dialog_mymessagebox.cpp b/app/HGPdtJsonTool/dialog_mymessagebox.cpp new file mode 100644 index 0000000..e9a49a6 --- /dev/null +++ b/app/HGPdtJsonTool/dialog_mymessagebox.cpp @@ -0,0 +1,53 @@ +#include "dialog_mymessagebox.h" +#include "ui_dialog_mymessagebox.h" + +Dialog_myMessageBox::Dialog_myMessageBox(MainWindow::DeviceInfo deviceInfo, QWidget *parent) : + QDialog(parent), + ui(new Ui::Dialog_myMessageBox) +{ + ui->setupUi(this); + + setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint); + setWindowTitle(tr("Prompt")); + + QFont ft; + ft.setPointSize(12); + ui->textBrowser->setFont(ft); + + QString content; + content.append(tr("Please congirm device Target Configuration:") + "\n\n"); + content.append(tr("Manufacturer:%1").arg(deviceInfo.oem) + "\n"); + content.append(tr("Device type:%1").arg(deviceInfo.deviceType) + "\n"); + + if (!deviceInfo.deviceModel.isEmpty()) + content.append(tr("Device model:%1").arg(deviceInfo.deviceModel) + "\n"); + + if (!deviceInfo.fwVersion.isEmpty()) + content.append(tr("Firmware version:%1").arg(deviceInfo.fwVersion) + "\n"); + + content.append(tr("VID:%1").arg(deviceInfo.vid) + "\n"); + content.append(tr("PID:%1").arg(deviceInfo.pid) + "\n"); + + content.append(tr("Speed mode:%1").arg(deviceInfo.speedMode) + "PPM\n"); + content.append(tr("Sleep time:%1").arg(deviceInfo.sleepTime) + "\n"); + content.append(tr("Is it ockede:%1").arg(deviceInfo.lockDevice) + "\n"); + content.append(tr("Cpu size:no less than %1").arg(deviceInfo.cpuSize) + " GB\n"); + content.append(tr("Disk size:no less than %1").arg(deviceInfo.diskSize) + " GB\n"); + + ui->textBrowser->setText(content); +} + +Dialog_myMessageBox::~Dialog_myMessageBox() +{ + delete ui; +} + +void Dialog_myMessageBox::on_pushButton_ok_clicked() +{ + accept(); +} + +void Dialog_myMessageBox::on_pushButton_cancel_clicked() +{ + reject(); +} diff --git a/app/HGPdtJsonTool/dialog_mymessagebox.h b/app/HGPdtJsonTool/dialog_mymessagebox.h new file mode 100644 index 0000000..c594ed8 --- /dev/null +++ b/app/HGPdtJsonTool/dialog_mymessagebox.h @@ -0,0 +1,28 @@ +#ifndef DIALOG_MYMESSAGEBOX_H +#define DIALOG_MYMESSAGEBOX_H + +#include +#include "mainwindow.h" + +namespace Ui { +class Dialog_myMessageBox; +} + +class Dialog_myMessageBox : public QDialog +{ + Q_OBJECT + +public: + explicit Dialog_myMessageBox(MainWindow::DeviceInfo deviceInfo, QWidget *parent = nullptr); + ~Dialog_myMessageBox(); + +private slots: + void on_pushButton_ok_clicked(); + + void on_pushButton_cancel_clicked(); + +private: + Ui::Dialog_myMessageBox *ui; +}; + +#endif // DIALOG_MYMESSAGEBOX_H diff --git a/app/HGPdtJsonTool/dialog_mymessagebox.ui b/app/HGPdtJsonTool/dialog_mymessagebox.ui new file mode 100644 index 0000000..8771206 --- /dev/null +++ b/app/HGPdtJsonTool/dialog_mymessagebox.ui @@ -0,0 +1,55 @@ + + + Dialog_myMessageBox + + + + 0 + 0 + 440 + 293 + + + + Dialog + + + + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + Ok + + + + + + + Cancel + + + + + + + + + + diff --git a/app/HGPdtJsonTool/mainwindow.cpp b/app/HGPdtJsonTool/mainwindow.cpp index b78ee5c..84db083 100644 --- a/app/HGPdtJsonTool/mainwindow.cpp +++ b/app/HGPdtJsonTool/mainwindow.cpp @@ -7,12 +7,13 @@ #include #include #include +#include "base/HGUtility.h" #include "analysisjson.h" +#include "dialog_mymessagebox.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) - , m_curIndex(0) { ui->setupUi(this); @@ -27,9 +28,12 @@ MainWindow::~MainWindow() void MainWindow::initDeviceInfo() { - QStringList oemName{ tr("huagao"), tr("microtek"), tr("hanvon"), tr("lanxum"), tr("deli"), tr("unis"), tr("cumtenn"), tr("nuetral") }; + QStringList oemName{ tr("huagao"), tr("microtek"), tr("hanvon"), tr("lanxum"), tr("deli"), tr("unis"), tr("cumtenn") }; ui->comboBox_OEM->addItems(oemName); + QStringList deviceType{ tr("G100-3399"), tr("G200-3399"), tr("G300-3288"), tr("G400-3399") }; + ui->comboBox_deviceType->addItems(deviceType); + int speedTime = 40; while (speedTime <= 130) { @@ -49,23 +53,20 @@ void MainWindow::initDeviceInfo() QStringList testType{ tr("automatic testing"), tr("Manual testing") }; ui->comboBox_testType->addItems(testType); - QString prompt(tr("Fill in hexadecimal format, such as '0xFFFF'")); - ui->lineEdit_vid->setToolTip(prompt); - ui->lineEdit_pid->setToolTip(prompt); - ui->lineEdit_vid->setPlaceholderText(prompt); - ui->lineEdit_pid->setPlaceholderText(prompt); + ui->lineEdit_vid->setReadOnly(true); + ui->lineEdit_pid->setReadOnly(true); } void MainWindow::initTableWidgetUi() { ui->tableWidget->resizeRowsToContents(); - ui->tableWidget->setColumnCount(7); + ui->tableWidget->setColumnCount(6); ui->tableWidget->horizontalHeader()->setDefaultSectionSize(200); ui->tableWidget->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents); ui->tableWidget->horizontalHeader()->setSectionResizeMode(0, QHeaderView::ResizeToContents); QStringList header; - header << tr("selected") << tr("ID") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content"); + header << tr("selected") << tr("Test ID") << tr("Test items") << tr("Test station") << tr("Test type") << tr("Test content"); ui->tableWidget->setHorizontalHeaderLabels(header); QFont font = ui->tableWidget->horizontalHeader()->font(); @@ -86,12 +87,200 @@ void MainWindow::initTableWidgetUi() ui->tableWidget->setStyleSheet("selection-background-color:rgb(193,210,240)"); } -void MainWindow::updateTableWidget() +bool MainWindow::loadDefaultItems(DeviceType deviceType) { - for(int i = 0; i < ui->tableWidget->rowCount(); i++) + QString processPath = QCoreApplication::applicationDirPath(); + + QString baseName; + if (deviceType == DeviceType_G100) + baseName = "G100"; + else if (deviceType == DeviceType_G200) + baseName = "G200"; + else if (deviceType == DeviceType_G300) + baseName = "G300"; + else if (deviceType == DeviceType_G400) + baseName = "G400"; + + processPath.append("/" + baseName + ".json"); + + QString filePath = getStdFileName(processPath); + + QFile file(filePath); + if (!file.exists()) + return false; + + AnalysisJson analysisJson(filePath); + std::vector list_jsonNode = analysisJson.GetNode(); + int count = list_jsonNode.size(); + ui->tableWidget->setRowCount(count); + for(int i = 0; i < count; ++i) { - ui->tableWidget->setItem(i, 1, new QTableWidgetItem(QString::number(i + 1))); + QTableWidgetItem *check = new QTableWidgetItem(); + check->setCheckState(Qt::Unchecked); + ui->tableWidget->setItem(i, 0, check); + ui->tableWidget->item(i, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + AnalysisJson::json_node node = list_jsonNode[i]; + ui->tableWidget->setItem(i, 1, new QTableWidgetItem(QString::number(i+1))); + ui->tableWidget->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui->tableWidget->setItem(i, 2, new QTableWidgetItem(node.title)); + ui->tableWidget->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui->tableWidget->setItem(i, 3, new QTableWidgetItem(node.station)); + ui->tableWidget->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui->tableWidget->setItem(i, 4, new QTableWidgetItem(node.is_man ? tr("Manual testing") : tr("automatic testing"))); + ui->tableWidget->item(i, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + ui->tableWidget->setItem(i, 5, new QTableWidgetItem(node.desc)); + ui->tableWidget->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); + + QTableWidgetItem *item = ui->tableWidget->item(i, 2); + QVariant var = QVariant::fromValue(node.name); + item->setData(Qt::UserRole, var); } + ui->checkBox_selectAll->setChecked(false); + ui->checkBox_selectAll->setChecked(true); + ui->tableWidget->selectRow(0); + + return true; +} + +QPair MainWindow::getVidPid(QString oem, QString deviceType) +{ + QString vid; + QString pid; + if (oem == tr("huagao")) + { + vid = "0x3072"; + if (deviceType == "G100-3399") + { + pid = "0x0139"; + } + else if (deviceType == "G200-3399") + { + pid = "0x0239"; + } + else if (deviceType == "G300-3288") + { + pid = "0x0300"; + } + else if (deviceType == "G400-3399") + { + pid = "0x0439"; + } + } + else if (oem == tr("microtek")) + { + vid = "0x05da"; + if (deviceType == "G100-3399") + { + pid = "0x9222"; + } + else if (deviceType == "G200-3399") + { + pid = "0x9223"; + } + else if (deviceType == "G300-3288") + { + pid = "0"; + } + else if (deviceType == "G400-3399") + { + pid = "9220"; + } + } + else if (oem == tr("hanvon")) + { + vid = "0x2903"; + if (deviceType == "G100-3399") + { + pid = "0x8000"; + } + else if (deviceType == "G200-3399") + { + pid = "0x9000"; + } + else if (deviceType == "G300-3288") + { + pid = "0x1000"; + } + else if (deviceType == "G400-3399") + { + pid = "0x7039"; + } + } + else if (oem == tr("lanxum")) + { + vid = "0x31c9"; + if (deviceType == "G100-3399") + { + pid = "0x8620"; + } + else if (deviceType == "G200-3399") + { + pid = "0x8630"; + } + else if (deviceType == "G300-3288") + { + pid = "0x8200"; + } + else if (deviceType == "G400-3399") + { + pid = "0x8529"; + } + } + else if (oem == tr("deli")) + { + vid = "0x300e"; + if (deviceType == "G100-3399" || deviceType == "G200-3399") + { + pid = "0x401c"; + } + else if (deviceType == "G300-3288") + { + pid = "0x4015"; + } + else if (deviceType == "G400-3399") + { + pid = "0x4019"; + } + } + else if (oem == tr("unis")) + { + vid = "0x3308"; + if (deviceType == "G100-3399" || deviceType == "G200-3399") + { + pid = "0x0200"; + } + else if (deviceType == "G300-3288" || deviceType == "G400-3399") + { + pid = "0"; + } + } + else if (oem == tr("cumtenn")) + { + vid = "0x3308"; + if (deviceType == "G100-3399" || deviceType == "G200-3399") + { + pid = "0x6006"; + } + else if (deviceType == "G300-3288") + { + pid = "0x6005"; + } + else if (deviceType == "G400-3399") + { + pid = "0"; + } + } + + QPair vidPid; + vidPid.first = vid; + vidPid.second = pid; + + return vidPid; } void MainWindow::on_pushButton_generate_clicked() @@ -102,8 +291,38 @@ void MainWindow::on_pushButton_generate_clicked() return; } - int sleepTime[8] = { 0, 5, 10, 20, 30, 60, 120, 240 }; + if (ui->lineEdit_vid->text().isEmpty() || ui->lineEdit_pid->text().isEmpty() || ui->lineEdit_cpuSize->text().isEmpty() || + ui->lineEdit_diskSize->text().isEmpty()) + { + QMessageBox::information(this, tr("Prompt"), tr("Incomplete information, please check")); + return; + } + bool ok = false; + if (ui->lineEdit_pid->text().toInt(&ok, 16) == 0) + { + QMessageBox::information(this, tr("Prompt"), tr("Pid is empty, device not supported")); + return; + } + + DeviceInfo deviceInfo; + deviceInfo.oem = ui->comboBox_OEM->currentText(); + deviceInfo.deviceType = ui->comboBox_deviceType->currentText(); + deviceInfo.deviceModel = ui->lineEdit_deviceModel->text(); + deviceInfo.fwVersion = ui->lineEdit_fwVersion->text(); + deviceInfo.vid = ui->lineEdit_vid->text(); + deviceInfo.pid = ui->lineEdit_pid->text(); + deviceInfo.sleepTime = ui->comboBox_sleepTime->currentText(); + deviceInfo.speedMode = ui->comboBox_speedMode->currentText(); + deviceInfo.cpuSize = ui->lineEdit_cpuSize->text(); + deviceInfo.diskSize = ui->lineEdit_diskSize->text(); + deviceInfo.lockDevice = ui->comboBox_lockDevice->currentText(); + + Dialog_myMessageBox dlg(deviceInfo, this); + if (!dlg.exec()) + return; + + int sleepTime[8] = { 0, 5, 10, 20, 30, 60, 120, 240 }; QJsonObject globalObject; globalObject.insert("vid-to", ui->lineEdit_vid->text().toInt(&ok, 16)); @@ -113,8 +332,8 @@ void MainWindow::on_pushButton_generate_clicked() globalObject.insert("cpu-size", ui->lineEdit_cpuSize->text().toInt()); globalObject.insert("disk-size", ui->lineEdit_diskSize->text().toInt()); globalObject.insert("lock-device", ui->comboBox_lockDevice->currentIndex() == 0 ? false : true); - if (!ui->lineEdit_deviceModle->text().isEmpty()) - globalObject.insert("device-model", ui->lineEdit_deviceModle->text()); + if (!ui->lineEdit_deviceModel->text().isEmpty()) + globalObject.insert("device-model", ui->lineEdit_deviceModel->text()); if (!ui->lineEdit_fwVersion->text().isEmpty()) globalObject.insert("firmware-version", ui->lineEdit_fwVersion->text()); @@ -125,11 +344,17 @@ void MainWindow::on_pushButton_generate_clicked() int count = ui->tableWidget->rowCount(); for (int i = 0; i < count; i++) { - testItemObject.insert("name", ui->tableWidget->item(i, 2)->text()); - testItemObject.insert("title", ui->tableWidget->item(i, 3)->text()); - testItemObject.insert("station", ui->tableWidget->item(i, 4)->text()); - testItemObject.insert("man", ui->tableWidget->item(i, 5)->text() == tr("automatic testing") ? false : true); - testItemObject.insert("desc", ui->tableWidget->item(i, 6)->text()); + QTableWidgetItem *item = ui->tableWidget->item(i, 0); + if (item->checkState() == Qt::Unchecked) + continue; + + QString name = ui->tableWidget->item(i, 2)->data(Qt::UserRole).value(); + testItemObject.insert("name", name); + + testItemObject.insert("title", ui->tableWidget->item(i, 2)->text()); + testItemObject.insert("station", ui->tableWidget->item(i, 3)->text()); + testItemObject.insert("man", ui->tableWidget->item(i, 4)->text() == tr("automatic testing") ? false : true); + testItemObject.insert("desc", ui->tableWidget->item(i, 5)->text()); json.insert(QString::number(i + 1), QJsonValue(testItemObject)); } @@ -157,44 +382,6 @@ void MainWindow::on_pushButton_generate_clicked() } } -void MainWindow::on_pushButton_addTestItem_clicked() -{ - if (ui->lineEdit_vid->text().isEmpty() || ui->lineEdit_pid->text().isEmpty() || ui->lineEdit_cpuSize->text().isEmpty() || - ui->lineEdit_diskSize->text().isEmpty() || ui->lineEdit_testID->text().isEmpty() || ui->lineEdit_testItem->text().isEmpty()) - { - QMessageBox::information(this, tr("Prompt"), tr("Incomplete information, please check")); - return; - } - - ui->tableWidget->setRowCount(m_curIndex + 1); - - QTableWidgetItem *check = new QTableWidgetItem(); - check->setCheckState(Qt::Unchecked); - ui->tableWidget->setItem(m_curIndex, 0, check); - ui->tableWidget->item(m_curIndex, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 1, new QTableWidgetItem(QString::number(m_curIndex + 1))); - ui->tableWidget->item(m_curIndex, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 2, new QTableWidgetItem(ui->lineEdit_testID->text())); - ui->tableWidget->item(m_curIndex, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 3, new QTableWidgetItem(ui->lineEdit_testItem->text())); - ui->tableWidget->item(m_curIndex, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 4, new QTableWidgetItem(ui->comboBox_testStation->currentText())); - ui->tableWidget->item(m_curIndex, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 5, new QTableWidgetItem(ui->comboBox_testType->currentText())); - ui->tableWidget->item(m_curIndex, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(m_curIndex, 6, new QTableWidgetItem(ui->textEdit_testContent->toPlainText())); - ui->tableWidget->item(m_curIndex, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->selectRow(m_curIndex); - m_curIndex++; -} - void MainWindow::on_tableWidget_itemClicked(QTableWidgetItem *item) { int row = item->row(); @@ -204,100 +391,10 @@ void MainWindow::on_tableWidget_itemClicked(QTableWidgetItem *item) ui->tableWidget->selectRow(row); } - ui->lineEdit_testID->setText(ui->tableWidget->item(row, 2)->text()); - ui->lineEdit_testItem->setText(ui->tableWidget->item(row, 3)->text()); - ui->comboBox_testStation->setCurrentText(ui->tableWidget->item(row, 4)->text()); - ui->comboBox_testType->setCurrentText(ui->tableWidget->item(row, 5)->text()); - ui->textEdit_testContent->setText(ui->tableWidget->item(row, 6)->text()); -} - -void MainWindow::on_pushButton_import_clicked() -{ - QString filePath = QFileDialog::getOpenFileName(this, tr("Open File"), "", tr("Json(*.json)")); - - if (filePath.isEmpty()) - return; - - AnalysisJson analysisJson(filePath); - AnalysisJson::json_global jsonGlobal = analysisJson.GetGlobal(); - ui->lineEdit_vid->setText(QString("0x") + QString::number(jsonGlobal.vid_to, 16)); - ui->lineEdit_pid->setText(QString("0x") + QString::number(jsonGlobal.pid_to, 16)); - ui->lineEdit_diskSize->setText(QString::number(jsonGlobal.disk_size)); - ui->lineEdit_cpuSize->setText(QString::number(jsonGlobal.cpu_size)); - ui->comboBox_lockDevice->setCurrentIndex(jsonGlobal.lock_device ? 1 : 0); - if (!jsonGlobal.device_model.isEmpty()) - { - ui->lineEdit_deviceModle->setText(jsonGlobal.device_model); - } - if(!jsonGlobal.firmware_version.isEmpty()) - { - ui->lineEdit_fwVersion->setText(jsonGlobal.firmware_version); - } - - int sleepTime[8] = { 0, 5, 10, 20, 30, 60, 120, 240 }; - for (int i = 0; i < sizeof(sleepTime) / sizeof(0); i++) - { - if (jsonGlobal.sleep_time == sleepTime[i]) - ui->comboBox_sleepTime->setCurrentIndex(i); - } - - for(int i = 0; i < ui->comboBox_speedMode->count(); i++) - { - if (jsonGlobal.speed_mode == ui->comboBox_speedMode->itemText(i).toInt()) - ui->comboBox_speedMode->setCurrentText(QString::number(jsonGlobal.speed_mode)); - } - - std::vector list_jsonNode = analysisJson.GetNode(); - int count = list_jsonNode.size(); - ui->tableWidget->setRowCount(count); - m_curIndex = 0; - for(int i = 0; i < count; ++i) - { - QTableWidgetItem *check = new QTableWidgetItem(); - check->setCheckState(Qt::Unchecked); - ui->tableWidget->setItem(i, 0, check); - ui->tableWidget->item(i, 0)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - AnalysisJson::json_node node = list_jsonNode[i]; - ui->tableWidget->setItem(i, 1, new QTableWidgetItem(QString::number(i+1))); - ui->tableWidget->item(i, 1)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(i, 2, new QTableWidgetItem(node.name)); - ui->tableWidget->item(i, 2)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(i, 3, new QTableWidgetItem(node.title)); - ui->tableWidget->item(i, 3)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(i, 4, new QTableWidgetItem(node.station)); - ui->tableWidget->item(i, 4)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(i, 5, new QTableWidgetItem(node.is_man ? tr("Manual testing") : tr("automatic testing"))); - ui->tableWidget->item(i, 5)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - ui->tableWidget->setItem(i, 6, new QTableWidgetItem(node.desc)); - ui->tableWidget->item(i, 6)->setTextAlignment(Qt::AlignHCenter | Qt::AlignVCenter); - - m_curIndex++; - } - - ui->tableWidget->selectRow(0); -} - -void MainWindow::on_pushButton_delete_clicked() -{ - for(int i = 0; i < ui->tableWidget->rowCount(); i++) - { - QTableWidgetItem *item = ui->tableWidget->item(i, 0); - if (item != nullptr) - { - if (item->checkState() == Qt::Checked) - { - ui->tableWidget->removeRow(item->row()); - i = 0; - } - } - } - updateTableWidget(); + ui->lineEdit_testItem->setText(ui->tableWidget->item(row, 2)->text()); + ui->comboBox_testStation->setCurrentText(ui->tableWidget->item(row, 3)->text()); + ui->comboBox_testType->setCurrentText(ui->tableWidget->item(row, 4)->text()); + ui->textBrowser_testContent->setText(ui->tableWidget->item(row, 5)->text()); } void MainWindow::on_checkBox_selectAll_stateChanged(int arg1) @@ -317,3 +414,42 @@ void MainWindow::on_checkBox_selectAll_stateChanged(int arg1) } } } + +void MainWindow::on_comboBox_OEM_currentIndexChanged(const QString &arg1) +{ + QPair vidPid = getVidPid(arg1, ui->comboBox_deviceType->currentText()); + QString vid = vidPid.first; + QString pid = vidPid.second; + + ui->lineEdit_vid->setText(vid); + ui->lineEdit_pid->setText(pid); +} + +void MainWindow::on_comboBox_deviceType_currentIndexChanged(const QString &arg1) +{ + DeviceType deviceType = DeviceType_G100; + if (arg1 == "G100-3399") + deviceType = DeviceType_G100; + else if (arg1 == "G200-3399") + deviceType = DeviceType_G200; + else if (arg1 == "G300-3288") + deviceType = DeviceType_G300; + else if (arg1 == "G400-3399") + deviceType = DeviceType_G400; + + loadDefaultItems(deviceType); + + QPair vidPid = getVidPid(ui->comboBox_OEM->currentText(), arg1); + QString vid = vidPid.first; + QString pid = vidPid.second; + + ui->lineEdit_vid->setText(vid); + ui->lineEdit_pid->setText(pid); +} + +QString MainWindow::getStdFileName(const QString &fileName) +{ + char result[512] = {0}; + HGBase_StandardiseFileName(fileName.toStdString().c_str(), result, 512); + return result; +} diff --git a/app/HGPdtJsonTool/mainwindow.h b/app/HGPdtJsonTool/mainwindow.h index 399d95f..fd0027d 100644 --- a/app/HGPdtJsonTool/mainwindow.h +++ b/app/HGPdtJsonTool/mainwindow.h @@ -16,26 +16,46 @@ public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); +enum DeviceType +{ + DeviceType_G100 = 0, + DeviceType_G200, + DeviceType_G300, + DeviceType_G400, +}; + +struct DeviceInfo +{ + QString oem; + QString deviceType; + QString deviceModel; + QString fwVersion; + QString vid; + QString pid; + QString sleepTime; + QString speedMode; + QString cpuSize; + QString diskSize; + QString lockDevice; +}; + private slots: void on_pushButton_generate_clicked(); - void on_pushButton_addTestItem_clicked(); - void on_tableWidget_itemClicked(QTableWidgetItem *item); - void on_pushButton_import_clicked(); - - void on_pushButton_delete_clicked(); - void on_checkBox_selectAll_stateChanged(int arg1); -private: - void initDeviceInfo(); - void initTableWidgetUi(); - void updateTableWidget(); + void on_comboBox_OEM_currentIndexChanged(const QString &arg1); + + void on_comboBox_deviceType_currentIndexChanged(const QString &arg1); private: - int m_curIndex; + QString getStdFileName(const QString &fileName); + void initDeviceInfo(); + void initTableWidgetUi(); + bool loadDefaultItems(DeviceType deviceType); + QPair getVidPid(QString oem, QString deviceType); private: Ui::MainWindow *ui; diff --git a/app/HGPdtJsonTool/mainwindow.ui b/app/HGPdtJsonTool/mainwindow.ui index bc81dc1..21fdee5 100644 --- a/app/HGPdtJsonTool/mainwindow.ui +++ b/app/HGPdtJsonTool/mainwindow.ui @@ -6,8 +6,8 @@ 0 0 - 988 - 758 + 1010 + 787 @@ -18,7 +18,7 @@ 740 - 30 + 40 161 20 @@ -28,7 +28,7 @@ 130 - 30 + 20 161 22 @@ -37,8 +37,8 @@ - 690 - 30 + 680 + 40 41 21 @@ -50,8 +50,8 @@ - 130 - 140 + 440 + 90 161 20 @@ -60,8 +60,8 @@ - 90 - 30 + 80 + 20 31 20 @@ -73,8 +73,8 @@ - 440 - 30 + 740 + 10 161 20 @@ -83,8 +83,8 @@ - 50 - 140 + 330 + 90 101 21 @@ -96,8 +96,8 @@ - 400 - 30 + 680 + 10 41 21 @@ -109,9 +109,9 @@ - 800 - 540 - 121 + 430 + 690 + 131 51 @@ -119,10 +119,10 @@ Generate - + - 740 + 130 90 161 20 @@ -132,21 +132,21 @@ - 660 + 40 90 81 16 - Device modle: + Device model: - 340 - 140 + 650 + 110 91 20 @@ -159,7 +159,7 @@ 740 - 140 + 80 161 20 @@ -168,8 +168,8 @@ - 20 - 90 + 30 + 160 101 21 @@ -182,7 +182,7 @@ 130 - 90 + 160 161 22 @@ -191,8 +191,8 @@ - 370 - 90 + 360 + 160 71 21 @@ -204,8 +204,8 @@ - 130 - 190 + 740 + 160 161 22 @@ -214,8 +214,8 @@ - 640 - 140 + 650 + 80 91 20 @@ -227,8 +227,8 @@ - 440 - 140 + 740 + 110 161 20 @@ -238,7 +238,7 @@ 440 - 90 + 160 161 22 @@ -247,8 +247,8 @@ - 60 - 190 + 650 + 160 71 21 @@ -257,34 +257,11 @@ Lock device: - - - - 360 - 190 - 71 - 21 - - - - Test Id: - - - - - - 440 - 190 - 161 - 20 - - - - 660 - 190 + 40 + 260 71 16 @@ -296,8 +273,8 @@ - 740 - 190 + 130 + 260 161 20 @@ -306,9 +283,9 @@ - 60 - 250 - 61 + 350 + 260 + 81 21 @@ -319,8 +296,8 @@ - 130 - 250 + 440 + 260 161 22 @@ -329,8 +306,8 @@ - 360 - 250 + 660 + 260 71 21 @@ -342,110 +319,81 @@ - 440 - 250 + 740 + 260 161 22 - - - - 390 - 310 - 121 - 41 - - - - Add - - - - - - 660 - 250 - 81 - 21 - - - - Test content: - - - - - - 740 - 230 - 221 - 71 - - - 20 - 380 - 721 - 281 + 320 + 611 + 291 - + - 800 - 430 - 121 - 51 + 440 + 20 + 161 + 22 + + + + + + + 360 + 20 + 71 + 20 - Import + Device type: - + + + + 10 + 220 + 971 + 16 + + + + Qt::Horizontal + + + 20 - 670 - 531 - 41 + 630 + 77 + 16 + + + + SelectAll + + + + + + 640 + 320 + 341 + 291 - - - - - SelectAll - - - - - - - Delete - - - - - - - Qt::Horizontal - - - - 40 - 20 - - - - - @@ -453,7 +401,7 @@ 0 0 - 988 + 1010 22