This commit is contained in:
13038267101 2023-01-05 17:47:09 +08:00
commit 51532aa55d
14 changed files with 202 additions and 28 deletions

View File

@ -86,6 +86,7 @@
</message> </message>
<message> <message>
<location filename="dialog_inputserialnum.cpp" line="55"/> <location filename="dialog_inputserialnum.cpp" line="55"/>
<location filename="dialog_inputserialnum.cpp" line="64"/>
<location filename="dialog_inputserialnum.cpp" line="71"/> <location filename="dialog_inputserialnum.cpp" line="71"/>
<source>tips</source> <source>tips</source>
<translation></translation> <translation></translation>
@ -95,6 +96,11 @@
<source>Serial num is empty</source> <source>Serial num is empty</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<location filename="dialog_inputserialnum.cpp" line="64"/>
<source>sn is illegal</source>
<translation></translation>
</message>
<message> <message>
<location filename="dialog_inputserialnum.cpp" line="71"/> <location filename="dialog_inputserialnum.cpp" line="71"/>
<source>The device is testing</source> <source>The device is testing</source>
@ -523,8 +529,8 @@
</message> </message>
<message> <message>
<location filename="dialog_uploadcfgfile.cpp" line="42"/> <location filename="dialog_uploadcfgfile.cpp" line="42"/>
<location filename="dialog_uploadcfgfile.cpp" line="61"/> <location filename="dialog_uploadcfgfile.cpp" line="64"/>
<location filename="dialog_uploadcfgfile.cpp" line="66"/> <location filename="dialog_uploadcfgfile.cpp" line="69"/>
<source>tips</source> <source>tips</source>
<translation></translation> <translation></translation>
</message> </message>
@ -534,12 +540,12 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="dialog_uploadcfgfile.cpp" line="61"/> <location filename="dialog_uploadcfgfile.cpp" line="64"/>
<source>upload succeed</source> <source>upload succeed</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="dialog_uploadcfgfile.cpp" line="66"/> <location filename="dialog_uploadcfgfile.cpp" line="69"/>
<source>upload to service failed, already save to local host</source> <source>upload to service failed, already save to local host</source>
<translation></translation> <translation></translation>
</message> </message>
@ -571,39 +577,51 @@
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="98"/> <location filename="form_burnmode.ui" line="64"/>
<source>Close</source>
<translation></translation>
</message>
<message>
<location filename="form_burnmode.cpp" line="97"/>
<source>ID</source> <source>ID</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="98"/> <location filename="form_burnmode.cpp" line="97"/>
<source>selected</source> <source>selected</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="98"/> <location filename="form_burnmode.cpp" line="97"/>
<source>device</source> <source>device</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="98"/> <location filename="form_burnmode.cpp" line="97"/>
<source>serialNum</source> <source>serialNum</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="83"/> <location filename="form_burnmode.cpp" line="155"/>
<location filename="form_burnmode.cpp" line="162"/> <location filename="form_burnmode.cpp" line="184"/>
<location filename="form_burnmode.cpp" line="167"/> <location filename="form_burnmode.cpp" line="189"/>
<location filename="form_burnmode.cpp" line="340"/>
<source>tips</source> <source>tips</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="167"/> <location filename="form_burnmode.cpp" line="155"/>
<location filename="form_burnmode.cpp" line="340"/>
<source>Please check a devices at least</source>
<translation></translation>
</message>
<message>
<location filename="form_burnmode.cpp" line="189"/>
<source>Please check single devices to set sn</source> <source>Please check single devices to set sn</source>
<translation></translation> <translation></translation>
</message> </message>
<message> <message>
<location filename="form_burnmode.cpp" line="162"/> <location filename="form_burnmode.cpp" line="184"/>
<source>Please check a devices to set sn at least</source> <source>Please check a devices to set sn at least</source>
<translation></translation> <translation></translation>
</message> </message>
@ -942,14 +960,14 @@
<context> <context>
<name>QObject</name> <name>QObject</name>
<message> <message>
<location filename="hgscanner.cpp" line="93"/> <location filename="hgscanner.cpp" line="86"/>
<source>success: </source> <source>success: </source>
<oldsource>success</oldsource> <oldsource>success</oldsource>
<translation>: </translation> <translation>: </translation>
</message> </message>
<message> <message>
<location filename="hgscanner.cpp" line="58"/> <location filename="hgscanner.cpp" line="58"/>
<location filename="hgscanner.cpp" line="95"/> <location filename="hgscanner.cpp" line="88"/>
<source>failed: </source> <source>failed: </source>
<translation> </translation> <translation> </translation>
</message> </message>

View File

@ -1,6 +1,7 @@
#include "dialog_setburnsn.h" #include "dialog_setburnsn.h"
#include "ui_dialog_setburnsn.h" #include "ui_dialog_setburnsn.h"
#include <QRegExpValidator> #include <QRegExpValidator>
#include <QMessageBox>
Dialog_SetBurnSn::Dialog_SetBurnSn(const QString &originSn, QWidget *parent) : Dialog_SetBurnSn::Dialog_SetBurnSn(const QString &originSn, QWidget *parent) :
QDialog(parent), QDialog(parent),
@ -30,6 +31,12 @@ QString Dialog_SetBurnSn::getSn()
void Dialog_SetBurnSn::on_pbtn_ok_clicked() void Dialog_SetBurnSn::on_pbtn_ok_clicked()
{ {
if (ui->lineEdit->text().isEmpty())
{
QMessageBox::information(this, tr("tips"), tr("Serial num is empty"));
return;
}
accept(); accept();
} }

View File

@ -53,6 +53,9 @@ void Dialog_uploadCfgFile::on_pbtn_upload_clicked()
strcat(cfgPath, ".json"); strcat(cfgPath, ".json");
QFile file(filename); QFile file(filename);
QFile file2(cfgPath);
if (file2.exists())
file2.remove();
file.copy(filename, cfgPath); file.copy(filename, cfgPath);
HGResult ret = HGPdtToolDb_UploadFile(m_pdtToolDbuserMgr, tag.toStdString().c_str(), getStdString(filename).c_str()); HGResult ret = HGPdtToolDb_UploadFile(m_pdtToolDbuserMgr, tag.toStdString().c_str(), getStdString(filename).c_str());

View File

@ -46,6 +46,7 @@ void Form_BurnMode::addDevice(DeviceManager *devManager)
QVariant var = QVariant::fromValue((void*)devManager); QVariant var = QVariant::fromValue((void*)devManager);
item->setData(Qt::UserRole, var); item->setData(Qt::UserRole, var);
updatetablewidget();
// for(int i = 0; i < ui->tableWidget->rowCount(); i++) // for(int i = 0; i < ui->tableWidget->rowCount(); i++)
// { // {
// QTableWidgetItem *item = ui->tableWidget->item(i, 3); // QTableWidgetItem *item = ui->tableWidget->item(i, 3);
@ -58,7 +59,7 @@ void Form_BurnMode::addDevice(DeviceManager *devManager)
void Form_BurnMode::deleteDevice(QString devName) void Form_BurnMode::deleteDevice(QString devName)
{ {
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
QTableWidgetItem *item2 = ui->tableWidget->item(i, 2); QTableWidgetItem *item2 = ui->tableWidget->item(i, 2);
@ -75,6 +76,7 @@ void Form_BurnMode::deleteDevice(QString devName)
} }
} }
} }
updatetablewidget();
} }
void Form_BurnMode::on_testResult(bool setStatus) void Form_BurnMode::on_testResult(bool setStatus)
@ -111,12 +113,20 @@ void Form_BurnMode::initTableWidget()
ui->tableWidget->clearContents(); ui->tableWidget->clearContents();
} }
void Form_BurnMode::updatetablewidget()
{
for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{
ui->tableWidget->setItem(i, 0, new QTableWidgetItem(QString::number(i + 1)));
}
}
void Form_BurnMode::on_cbox_selectAll_stateChanged(int arg1) void Form_BurnMode::on_cbox_selectAll_stateChanged(int arg1)
{ {
(void)arg1; (void)arg1;
bool check = ui->cbox_selectAll->isChecked(); bool check = ui->cbox_selectAll->isChecked();
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr) if (item != nullptr)
@ -132,7 +142,7 @@ void Form_BurnMode::on_cbox_selectAll_stateChanged(int arg1)
void Form_BurnMode::on_pbtn_burn_clicked() void Form_BurnMode::on_pbtn_burn_clicked()
{ {
int select = 0; int select = 0;
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState()) if (item != nullptr && Qt::Checked == item->checkState())
@ -142,11 +152,11 @@ void Form_BurnMode::on_pbtn_burn_clicked()
} }
if (select == 0) if (select == 0)
{ {
QMessageBox::information(this, tr("tips"), tr("Please check a devices to set sn at least")); QMessageBox::information(this, tr("tips"), tr("Please check a devices at least"));
return; return;
} }
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState()) if (item != nullptr && Qt::Checked == item->checkState())
@ -160,7 +170,7 @@ void Form_BurnMode::on_pbtn_burn_clicked()
void Form_BurnMode::on_pbtn_setSn_clicked() void Form_BurnMode::on_pbtn_setSn_clicked()
{ {
int select = 0; int select = 0;
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
if (item != nullptr && Qt::Checked == item->checkState()) if (item != nullptr && Qt::Checked == item->checkState())
@ -181,7 +191,7 @@ void Form_BurnMode::on_pbtn_setSn_clicked()
} }
else if (select == 1) else if (select == 1)
{ {
for(int i = 0; i < ui->tableWidget->columnCount(); i++) for(int i = 0; i < ui->tableWidget->rowCount(); i++)
{ {
QTableWidgetItem *item = ui->tableWidget->item(i, 1); QTableWidgetItem *item = ui->tableWidget->item(i, 1);
QTableWidgetItem *item2 = ui->tableWidget->item(i, 3); QTableWidgetItem *item2 = ui->tableWidget->item(i, 3);
@ -314,4 +324,36 @@ void Form_BurnMode::on_tableWidget_itemDoubleClicked(QTableWidgetItem *item)
} }
} }
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 i = 0;
while(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*>();
delete devManager;
ui->tableWidget->removeRow(i);
m_curIndex--;
}
}
updatetablewidget();
}

View File

@ -74,8 +74,11 @@ private slots:
void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item); void on_tableWidget_itemDoubleClicked(QTableWidgetItem *item);
void on_pbtn_close_clicked();
private: private:
void initTableWidget(); void initTableWidget();
void updatetablewidget();
private: private:
Ui::Form_BurnMode *ui; Ui::Form_BurnMode *ui;

View File

@ -52,6 +52,19 @@
</property> </property>
</widget> </widget>
</item> </item>
<item>
<widget class="QPushButton" name="pbtn_close">
<property name="minimumSize">
<size>
<width>91</width>
<height>31</height>
</size>
</property>
<property name="text">
<string>Close</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="minimumSize"> <property name="minimumSize">

View File

@ -165,7 +165,8 @@ void CDlgItemMgr::OnBnClickedButtonAdd()
std::wstring desc(get_window_text(GetDlgItem(IDC_EDIT_DESC)->m_hWnd)); std::wstring desc(get_window_text(GetDlgItem(IDC_EDIT_DESC)->m_hWnd));
replace(desc, L"\r", L"\\r"); replace(desc, L"\r", L"\\r");
replace(desc, L"\n", L"\\n"); replace(desc, L"\n", L"\\n");
jsn->set_value(L"desc", desc.c_str()); replace(desc, L"\t", L"\\t");
jsn->set_value(L"desc", desc.c_str());
list_.SetItemText(ind, 7, desc.c_str()); list_.SetItemText(ind, 7, desc.c_str());
// param ... // param ...
@ -269,6 +270,7 @@ void CDlgItemMgr::OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult)
str = sv; str = sv;
replace(str, L"\\r", L"\r"); replace(str, L"\\r", L"\r");
replace(str, L"\\n", L"\n"); replace(str, L"\\n", L"\n");
replace(str, L"\\t", L"\t");
::SetDlgItemTextW(m_hWnd, IDC_EDIT_DESC, str.c_str()); ::SetDlgItemTextW(m_hWnd, IDC_EDIT_DESC, str.c_str());
str.clear(); str.clear();
} }
@ -303,6 +305,7 @@ void CDlgItemMgr::OnNMClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{ {
lst_param_.SetItemText(nv, 1, jm.str_val); lst_param_.SetItemText(nv, 1, jm.str_val);
} }
lst_param_.SetItemData(nv, (DWORD_PTR)sane);
sane->release(); sane->release();
} }
jm = param->next_member(); jm = param->next_member();

View File

@ -1121,12 +1121,12 @@ std::wstring CDlgMgr::export_config(bool *ok, bool used_in_code, int code_ver)
static void trans_code_json(std::wstring& json) static void trans_code_json(std::wstring& json)
{ {
size_t pos = json.find(L"(L\""); size_t pos = json.find(L"(\"");
if (pos == std::wstring::npos) if (pos == std::wstring::npos)
return; return;
json.erase(0, pos + 3); json.erase(0, pos + 2);
pos = json.rfind(L'\"'); pos = json.rfind(L'\"');
if (pos != std::wstring::npos) if (pos != std::wstring::npos)
json.erase(pos); json.erase(pos);
@ -1188,8 +1188,13 @@ void CDlgMgr::add_param_from_config(CComboBox* param_ctrl, CComboBox* val_ctrl,
} }
void CDlgMgr::reload(std::wstring& cont) void CDlgMgr::reload(std::wstring& cont)
{ {
if (cont.find(L"static std::wstring") == 0) bool code_jsn = false;
if (cont.find(L"static std::string") == 0)
{
trans_code_json(cont); trans_code_json(cont);
code_jsn = true;
}
known_file_util::IJsonW* jsn = known_file_util::create_jsonW(); known_file_util::IJsonW* jsn = known_file_util::create_jsonW();
if (jsn->attach(cont.c_str())) if (jsn->attach(cont.c_str()))
@ -1270,6 +1275,75 @@ void CDlgMgr::reload(std::wstring& cont)
} }
write->release(); write->release();
} }
else
{
int nv = 0;
if (child->get_value(L"vid-to", nv))
{
FIND_DATA(combo_param_, GetCount, PARAM_VID, ind);
if (ind != -1)
{
wchar_t hex[40] = { 0 };
swprintf_s(hex, _countof(hex) - 1, L"%04x", nv);
combo_param_.SetCurSel(ind);
OnCbnSelchangeComboParam();
::SetDlgItemTextW(m_hWnd, IDC_EDIT_PARAM_VAL, hex);
OnBnClickedButtonAddParam();
}
}
if (child->get_value(L"pid-to", nv))
{
FIND_DATA(combo_param_, GetCount, PARAM_PID, ind);
if (ind != -1)
{
wchar_t hex[40] = { 0 };
swprintf_s(hex, _countof(hex) - 1, L"%04x", nv);
combo_param_.SetCurSel(ind);
OnCbnSelchangeComboParam();
::SetDlgItemTextW(m_hWnd, IDC_EDIT_PARAM_VAL, hex);
OnBnClickedButtonAddParam();
}
}
if (child->get_value(L"speed-mode", nv))
{
FIND_DATA(combo_param_, GetCount, PARAM_SPEED, ind);
if (ind != -1)
{
combo_param_.SetCurSel(ind);
OnCbnSelchangeComboParam();
SetDlgItemInt(IDC_EDIT_PARAM_VAL, nv);
OnBnClickedButtonAddParam();
}
}
if (child->get_value(L"sleep-time", nv))
{
ind = -1;
for (int i = 0; i < combo_param_.GetCount(); ++i)
{
DWORD_PTR data = combo_param_.GetItemData(i);
if (data != PARAM_VID && data != PARAM_PID && data != PARAM_SPEED)
{
known_file_util::IJsonW* jsn = (known_file_util::IJsonW*)data;
if (wcscmp(jsn->key(), L"time-to-sleep") == 0)
{
ind = i;
break;
}
}
}
if (ind != -1)
{
combo_param_.SetCurSel(ind);
OnCbnSelchangeComboParam();
ind = combo_param_val_.FindStringExact(-1, L"\u4E94\u5206\u949F");
if (ind != -1)
combo_param_val_.SetCurSel(ind);
OnBnClickedButtonAddParam();
}
}
}
child->release(); child->release();
} }
@ -1279,10 +1353,12 @@ void CDlgMgr::reload(std::wstring& cont)
{ {
known_file_util::IJsonW* tpl = NULL; known_file_util::IJsonW* tpl = NULL;
child->get_value(L"name", &val); child->get_value(L"name", &val);
ind = find_template(&combo_param_, val, &tpl); if (child->get_value(L"ver", id))
::PostMessage(GetParent()->m_hWnd, WM_SET_CODE_VER, 0, (LPARAM)id);
id = find_template(&combo_, val, &tpl);
if (tpl) if (tpl)
{ {
combo_.SetCurSel(ind); combo_.SetCurSel(id);
OnBnClickedButtonAdd(); OnBnClickedButtonAdd();
FIND_DATA(list_, GetItemCount, tpl, id); FIND_DATA(list_, GetItemCount, tpl, id);
if (id != -1) if (id != -1)

View File

@ -9,6 +9,7 @@
#define WM_TO_ITEM_MGR_TAB WM_USER + 102 #define WM_TO_ITEM_MGR_TAB WM_USER + 102
#define WM_TEST_ITEM_CHANGED WM_USER + 103 #define WM_TEST_ITEM_CHANGED WM_USER + 103
#define WM_REFRESH_TEST_ITEM WM_USER + 104 #define WM_REFRESH_TEST_ITEM WM_USER + 104
#define WM_SET_CODE_VER WM_USER + 105 // WPARAM: unused, LPARAM: ver
#include <string> #include <string>
#include <algorithm> #include <algorithm>

View File

@ -48,6 +48,7 @@ BEGIN_MESSAGE_MAP(CscannercheckDlg, CDialogEx)
ON_MESSAGE(WM_TO_ITEM_MGR_TAB, &CscannercheckDlg::on_to_item_manager_tab) ON_MESSAGE(WM_TO_ITEM_MGR_TAB, &CscannercheckDlg::on_to_item_manager_tab)
ON_MESSAGE(WM_TEST_ITEM_CHANGED, &CscannercheckDlg::on_test_item_changed) ON_MESSAGE(WM_TEST_ITEM_CHANGED, &CscannercheckDlg::on_test_item_changed)
ON_MESSAGE(WM_REFRESH_TEST_ITEM, &CscannercheckDlg::on_refresh_test_items) ON_MESSAGE(WM_REFRESH_TEST_ITEM, &CscannercheckDlg::on_refresh_test_items)
ON_MESSAGE(WM_SET_CODE_VER, &CscannercheckDlg::on_set_code_ver)
END_MESSAGE_MAP() END_MESSAGE_MAP()
void CscannercheckDlg::add_page(const wchar_t* title, CDialogEx* child) void CscannercheckDlg::add_page(const wchar_t* title, CDialogEx* child)
@ -265,4 +266,10 @@ LRESULT CscannercheckDlg::on_refresh_test_items(WPARAM wp, LPARAM lp)
return 0; return 0;
} }
LRESULT CscannercheckDlg::on_set_code_ver(WPARAM wp, LPARAM lp)
{
SetDlgItemInt(IDC_EDIT_VER, (UINT)lp);
return 0;
}

View File

@ -48,5 +48,6 @@ public:
afx_msg LRESULT on_to_item_manager_tab(WPARAM, LPARAM); afx_msg LRESULT on_to_item_manager_tab(WPARAM, LPARAM);
afx_msg LRESULT on_test_item_changed(WPARAM wp, LPARAM lp); afx_msg LRESULT on_test_item_changed(WPARAM wp, LPARAM lp);
afx_msg LRESULT on_refresh_test_items(WPARAM wp, LPARAM lp); afx_msg LRESULT on_refresh_test_items(WPARAM wp, LPARAM lp);
afx_msg LRESULT on_set_code_ver(WPARAM wp, LPARAM lp);
afx_msg void OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult); afx_msg void OnTcnSelchangingTab1(NMHDR* pNMHDR, LRESULT* pResult);
}; };