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
+
+
+
+
+
+
+
+
+ 确实
+
+
+
+
+ 取消
+
+
+
+
+ 提示
+
+
+
+
+ 请确认设备目标配置:
+
+
+
+
+ 厂商:%1
+
+
+
+
+ 设备类型:%1
+
+
+
+
+ 设备型号:%1
+
+
+
+
+ 固件版本号:%1
+
+
+
+
+ VID:%1
+
+
+
+
+ PID:%1
+
+
+
+
+ 速度模式:%1
+
+
+
+
+ 休眠时间:%1
+
+
+
+
+ 是否锁定:%1
+
+
+
+
+ CPU大小:不低于%1
+
+
+
+
+ 硬盘空间大小:不低于%1
+
+
MainWindow
@@ -35,7 +118,8 @@
-
+
+ Device modle:
设备型号:
@@ -65,250 +149,331 @@
-
- 测试项ID:*
+
+ Test Id:
+ 测试项:
-
- 测试项目:*
-
-
-
测试工位:
-
+
测试类型:
-
- 添加项目
+ 添加项目
-
- 测试内容:
+ 测试内容:
+
+
+
+
+ 设备类型:
-
- 导入现有配置文件
+ 导入现有配置文件
-
- 删除勾选项
+ 删除勾选项
-
+
全选
-
+
+
华高
-
+
+
中晶
-
+
+
汉王
-
+
+
立思辰
-
+
+
得力
-
+
+
紫光
-
+
+
沧田
-
- 中性
+ 中性
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
不休眠
-
+
5分钟
-
+
10分钟
-
+
20分钟
-
+
30分钟
-
+
1小时
-
+
2小时
-
+
4小时
-
+
锁定
-
+
+ 设备目标配置:
+
+
+
+ 厂商:%1
+
+
+
+ 设备类型:%1
+
+
+
+ VID:%1
+
+
+
+ PID:%1
+
+
+
+ 设备型号:%1
+
+
+
+ 固件版本号:%1
+
+
+
+ 速度模式:%1
+
+
+
+ 休眠时间:%1
+
+
+
+ 是否锁定:%1
+
+
+
+ 锁定
+
+
+
+ CPU大小:%1
+
+
+
+ 硬盘大小:%1
+
+
+
不锁定
-
+
烧录工位
-
+
初检工位
-
+
图像测试工位
-
-
-
+
+
+
自动测试
-
-
+
+
人工测试
-
- 例如:0xFFFF
+ 例如:0xFFFF
-
+
选择
-
- 序号
+ 序号
-
+
测试ID
-
+
测试项目
-
+
测试工位
-
+
测试类型
-
+
测试内容
-
-
-
-
+
+
+
+
+
提示
-
+
请添加测试项
-
+
+ 请添加设备基本信息
+
+
+
+
+ Pid为空,设备不支持
+
+
+
选择配置文件
-
-
+
配置文件(*.json)
-
+
生成成功
-
+
生成失败
-
+
信息不完整,请检查
-
- 打开文件
+ 打开文件
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
-
-
-
-
-