From 787464e84d3e319e8a0a5581b265d590402408ca Mon Sep 17 00:00:00 2001 From: yangjiaxuan <171295266@qq.com> Date: Mon, 13 May 2024 18:02:01 +0800 Subject: [PATCH] =?UTF-8?q?scantool=E6=8C=89=E9=94=AE=E6=95=B0=E9=87=8F?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=BA4=E4=B8=AA=EF=BC=8C=E5=B0=86?= =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E6=8C=89=E9=94=AE=E4=B8=8E=E4=B9=8B=E5=AF=B9?= =?UTF-8?q?=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/scantool/Scantool_zh_CN.qm | Bin 7006 -> 7061 bytes app/scantool/Scantool_zh_CN.ts | 102 ++++++++++++++++++--------------- app/scantool/dialog_add.cpp | 8 ++- app/scantool/dialog_add.h | 2 +- app/scantool/mainwindow.cpp | 12 ++-- app/scantool/mainwindow.h | 1 + 6 files changed, 70 insertions(+), 55 deletions(-) diff --git a/app/scantool/Scantool_zh_CN.qm b/app/scantool/Scantool_zh_CN.qm index f1897334fd947e28a143e50c927765cc2b1a60d2..eb05fb48e0e77efe9b754475eadde1a23054ed30 100644 GIT binary patch delta 491 zcmca-Hr0HB2;+o_qVblk3=9>Q7#Ku(7#Q9kU|AMUJpPhiTA&|}o(qRlN zJxdrEm|GcG&a*Hu2-!_sE3SEifpva51A~Y@1M7xj1_s6t5LzURf$c>nQ2Z_f$CuD>%G7&zW=a@1P_ zJy^|Y-!m1cZsO#nOkqrdx|9DhiAx6aFqD)5HLc>w+IpOUfuWkGl_vyfxWr^#X36^9 zDZmgB_{a0<`BR|A!@QrbFJNF`n#*T24``4`Egx8qU@Tvm>0<^4_E~&?=Jx|FTE=f% z^#G{uCVximJ)i>``18Xmf#G7zUvLaWr|>_>{s|P{3v{jcYi6LWEU6nJ=5YWS3~WHm p?3j|m4y3s@?`3`~AgaJ%0+-@&DlI9=&r>j&oG2o-d6mc(HUPXihCBcO delta 420 zcmXAlStvwt6vn^1&VTBfak(=$Ja|zPWl0%%kW$_(DaqT&gS{xSBzZA~i0MBbC`&?l zu#_c<@*qmKtWmZkrpPjRP{@g=U*~kb?>p!8r(U`H457p4@T3(2O^1MS3B0TW4&vJ` z;G6-1nM9FTLv%sz9tR{Z+ zM_WsUyWR`H^l^va7M({tM`+aDO4jT-DO3L$w$4w4XgyDv^K&w7SFWcwNN?qe=+eFF zWMn&_maE(Rm{#!cbkWRjvUH76meykl6jN7PVrs|^5PrbaH4oKAtg^Zs(D#_XzJk0a z*>X~VytCQL_W;12tgJ1K4$QV@bobL-37-%P#n2!AEt(NA8tNNJ)S^``ZUJb~yjlT8 z2Y9>`k@)^_PXd2P@N5(ihiu8iWMJgl{$}+ATSLknU>UT1jr3ALBX5;Vr);m?Y^E=y f*l(&nDSnN1GFSOfcoaXC?eoXdRp|V!v7r6}ex-MW diff --git a/app/scantool/Scantool_zh_CN.ts b/app/scantool/Scantool_zh_CN.ts index fa81640a..b8b01724 100644 --- a/app/scantool/Scantool_zh_CN.ts +++ b/app/scantool/Scantool_zh_CN.ts @@ -40,28 +40,28 @@ - + Manual 手动 - + Button 按键 - + Modify 修改 - + Tips 提示 - + Item find in list 配置已存在 @@ -406,7 +406,7 @@ MainWindow - + Scan Tool 扫描工具 @@ -436,123 +436,131 @@ 选择设备 - + Show 打开 - + Exit 退出 - + Device Type 设备类型 - + Button Id 按键ID - + Device Config 设备配置 - + Save Param 保存参数 - - - - + + + + Manual 手动 - - - - + + + + Button 1 按键 1 - - - - + + + + Button 2 按键 2 - - - - + + + + Button 3 按键 3 - - - - - - - + + + + + Button 4 + 按键 4 + + + + + + + + + Tips 提示 - - - + + + Device is offline 设备已断开 - + binary 黑白 - + gray 256级灰度 - + rgb 24位彩色 - - + + No item selected 请选择配置项 - + Device type mismatch 设备类型不匹配 - + Manual configuration items cannot be deleted 手动扫描配置不可被删除 - + Question 询问 - + Are you sure you want to remove the item? 确认删除配置项? diff --git a/app/scantool/dialog_add.cpp b/app/scantool/dialog_add.cpp index 17b4c556..7613e988 100644 --- a/app/scantool/dialog_add.cpp +++ b/app/scantool/dialog_add.cpp @@ -3,7 +3,7 @@ #include "mainwindow.h" #include -Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType) +Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType, int curButtonId) : QDialog(mainWnd) , ui(new Ui::Dialog_Add) , m_mainWnd(mainWnd) @@ -19,6 +19,9 @@ Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const s for (SANE_Int i = 0; i < buttonCount; ++i) ui->comboBoxButtonId->addItem(tr("Button ") + QString::number(i + 1)); + if (buttonCount >= curButtonId) + ui->comboBoxButtonId->setCurrentIndex(curButtonId); + m_scanParam.deviceType = deviceType; m_scanParam.buttonId = ui->comboBoxButtonId->currentIndex(); m_scanParam.deviceConfigs.clear(); @@ -93,7 +96,8 @@ void Dialog_Add::on_pushButtonSaveParam_clicked() void Dialog_Add::on_comboBoxButtonId_currentIndexChanged(int index) { - m_scanParam.buttonId = index; + if (index >= 0) + m_scanParam.buttonId = index; } void Dialog_Add::on_pushButtonOK_clicked() diff --git a/app/scantool/dialog_add.h b/app/scantool/dialog_add.h index df28e4c1..a385b62b 100644 --- a/app/scantool/dialog_add.h +++ b/app/scantool/dialog_add.h @@ -23,7 +23,7 @@ class Dialog_Add : public QDialog Q_OBJECT public: - explicit Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType); + explicit Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType, int curButtonId); Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index); ~Dialog_Add(); diff --git a/app/scantool/mainwindow.cpp b/app/scantool/mainwindow.cpp index 171f71d2..b654d405 100644 --- a/app/scantool/mainwindow.cpp +++ b/app/scantool/mainwindow.cpp @@ -23,6 +23,7 @@ MainWindow::MainWindow(QWidget *parent) , m_devHandle(nullptr) , m_scanning(false) , m_dpi(200) + , m_currentButtonClicked(0) , m_scanFileName("") , m_scanImgFmtWriter(nullptr) , m_ocrMsgPump(nullptr) @@ -78,7 +79,7 @@ MainWindow::MainWindow(QWidget *parent) ui->tableWidget->item(index, 0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 0)->setFlags(ui->tableWidget->item(index, 0)->flags() & ~Qt::ItemIsEditable); - QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3")}; + QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3"), tr("Button 4")}; ui->tableWidget->setItem(index, 1, new QTableWidgetItem(btnTypeStr[m_vScanParams[index].buttonId])); ui->tableWidget->item(index, 1)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 1)->setFlags(ui->tableWidget->item(index, 1)->flags() & ~Qt::ItemIsEditable); @@ -808,7 +809,7 @@ void MainWindow::AddManualScanParam() ui->tableWidget->item(index, 0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 0)->setFlags(ui->tableWidget->item(index, 0)->flags() & ~Qt::ItemIsEditable); - QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3")}; + QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3"), tr("Button 4")}; ui->tableWidget->setItem(index, 1, new QTableWidgetItem(btnTypeStr[m_vScanParams[index].buttonId])); ui->tableWidget->item(index, 1)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 1)->setFlags(ui->tableWidget->item(index, 1)->flags() & ~Qt::ItemIsEditable); @@ -1234,6 +1235,7 @@ void MainWindow::on_deviceRemove(QString devName) void MainWindow::on_keyPress(unsigned int buttonId) { assert(nullptr != m_devHandle); + m_currentButtonClicked = buttonId; StartScan(buttonId); } @@ -1352,7 +1354,7 @@ void MainWindow::on_pushButtonAdd_clicked() } assert(nullptr == m_dlgAdd); - m_dlgAdd = new Dialog_Add(m_devHandle, this, deviceType); + m_dlgAdd = new Dialog_Add(m_devHandle, this, deviceType, m_currentButtonClicked); connect(this, SIGNAL(closeDevice()), m_dlgAdd, SLOT(on_closeDevice())); if (m_dlgAdd->exec()) { @@ -1369,7 +1371,7 @@ void MainWindow::on_pushButtonAdd_clicked() ui->tableWidget->item(index, 0)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 0)->setFlags(ui->tableWidget->item(index, 0)->flags() & ~Qt::ItemIsEditable); - QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3")}; + QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3"), tr("Button 4")}; ui->tableWidget->setItem(index, 1, new QTableWidgetItem(btnTypeStr[m_vScanParams[index].buttonId])); ui->tableWidget->item(index, 1)->setTextAlignment(Qt::AlignCenter); ui->tableWidget->item(index, 1)->setFlags(ui->tableWidget->item(index, 1)->flags() & ~Qt::ItemIsEditable); @@ -1430,7 +1432,7 @@ void MainWindow::on_pushButtonModify_clicked() ui->tableWidget->item(index, 0)->setText(QString::fromStdString(m_vScanParams[index].deviceType)); - QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3")}; + QStringList btnTypeStr = {tr("Manual"), tr("Button 1"), tr("Button 2"), tr("Button 3"), tr("Button 4")}; ui->tableWidget->item(index, 1)->setText(btnTypeStr[m_vScanParams[index].buttonId]); ui->tableWidget->item(index, 2)->setText(GetDesc(m_vScanParams[index].deviceConfigs)); diff --git a/app/scantool/mainwindow.h b/app/scantool/mainwindow.h index 2db32f81..71cde52c 100644 --- a/app/scantool/mainwindow.h +++ b/app/scantool/mainwindow.h @@ -98,6 +98,7 @@ private: int m_aquireIntoBatchStartIndex; int m_aquireIntoPageIndex; int m_aquireIntoMultiPageCount; + int m_currentButtonClicked; HGMsgPump m_ocrMsgPump; HGThread m_ocrThread; };