diff --git a/app/scanner/mainwindow.cpp b/app/scanner/mainwindow.cpp index 1d682f98..bf0cc459 100644 --- a/app/scanner/mainwindow.cpp +++ b/app/scanner/mainwindow.cpp @@ -47,6 +47,8 @@ #include "app_cfg.h" #include #include "dialog_wrong_img.h" +#include "../../code_device/hgdriver/hgdev/char_const.h" +#include "lang/app_language.h" #define PASSWORD_KEY 4 #define MY_URL_SCHEME "inscanner" @@ -3096,25 +3098,11 @@ void MainWindow::my_url_handler(const QUrl& url) } void MainWindow::on_act_about_triggered() { - QString company; - QString appName; - QString copyRight; - QString developer; - QString website; - QString contact; - QString afterSelesContact; - QString address; - QString navigation; - SANE_About *about = nullptr; unsigned int len = 0; - QString title(tr("About %1").arg(company)), - content(tr("

%1

" - "

Version: %2" - "
CopyRight: © %3

" - "

%4%5%6%7%8%9

") - .arg(appName).arg("v2.0.9.061").arg(copyRight).arg(developer).arg(website).arg(contact).arg(afterSelesContact).arg(address).arg(navigation)); - + QString title; + QString content; + std::list info; QDesktopServices::setUrlHandler(MY_URL_SCHEME, this, "my_url_handler"); if (sane_io_control(dev_que_.handle(), IO_CTRL_CODE_ABOUT_INFO, about, &len) == SANE_STATUS_NO_MEM) { @@ -3124,6 +3112,57 @@ void MainWindow::on_act_about_triggered() memset(about, 0, len + 128); if (sane_io_control(dev_que_.handle(), IO_CTRL_CODE_ABOUT_INFO, about, &len) == SANE_STATUS_GOOD) { +#if defined(OEM_ZHONGJING) + title = tr("about %1").arg(QString::fromStdString(about->title)); + info.push_back(tr("

Version: %1

").arg(QString::fromStdString(about->version))); + for (int i = 0; about->appendix[i].key; ++i) + { + if(about->appendix[i].url) + info.push_back(tr("

%1: %3").arg(about->appendix[i].key).arg(about->appendix[i].url).arg(about->appendix[i].content) + "

"); + else + info.push_back(tr("

%1: %2").arg(about->appendix[i].key).arg(about->appendix[i].content) + "

"); + } + info.push_back(tr("

CopyRight: © %1

").arg(QString::fromStdString(about->copyright))); + + const char* cmp[] = { + about->version, + BRAND_TITLE_FIRM_VERSION, + BRAND_TITLE_SERIAL_NUM, + BRAND_TITLE_ROLLER_COUNT, + BRAND_TITLE_HISTORY_COUNT, + BRAND_TITLE_IP, + BRAND_TITE_MANUFACTOR, + BRAND_COMPANY_ADDRESS, + BRAND_TITLE_TEL, + BRAND_TITLE_URL, + BRAND_TITLE_GPS, + about->copyright + }; + for (int i = 0; i < sizeof(cmp) / sizeof(const char *); ++i) + { + std::list::iterator iter = info.begin(); + while (iter != info.end()) + { + if (iter->contains(from_default_language(cmp[i], nullptr))) + { + content += *iter; + info.erase(iter); + break; + } + else + { + ++iter; + } + } + } + + std::list::iterator iter = info.begin(); + while (iter != info.end()) + { + content += *iter; + ++iter; + } +#else title = tr("about %1").arg(QString::fromStdString(about->title)); content = tr("

Version: %1

").arg(QString::fromStdString(about->version)); content += tr("

CopyRight: © %1

").arg(QString::fromStdString(about->copyright)); @@ -3143,10 +3182,12 @@ void MainWindow::on_act_about_triggered() } content += "

"; } +#endif } free(about); } } + QMessageBox::about(this, title, content); QDesktopServices::unsetUrlHandler(MY_URL_SCHEME); }