Twain测试工具增加标准协议和剩余其他扩展协议

This commit is contained in:
yangjiaxuan 2024-02-21 18:13:38 +08:00
parent 9524f9fcc2
commit f7a9c3f104
3 changed files with 682 additions and 5 deletions

Binary file not shown.

View File

@ -283,5 +283,530 @@
<source>(IP)</source>
<translation>(IP)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="267"/>
<source>(is_multiout)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="268"/>
<source>(multiout_type)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="269"/>
<source>(color_mode)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="270"/>
<source>erase_color</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="271"/>
<source>(erase_multiout_red)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="272"/>
<source>(erase_paper_red)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="273"/>
<source>(is_erase_background)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="274"/>
<source>(background_color_range)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="275"/>
<source>(sharpen)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="276"/>
<source>(erase_morr)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="277"/>
<source>(erase_grids)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="278"/>
<source>(error_extend)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="279"/>
<source>(is_noise_modify)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="280"/>
<source>(noise_threshold)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="281"/>
<source>(paper)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="282"/>
<source>(is_custom_area)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="283"/>
<source>(curstom_area_l)</source>
<translation>( )</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="284"/>
<source>(curstom_area_r)</source>
<translation>( )</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="285"/>
<source>(curstom_area_t)</source>
<translation>( )</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="286"/>
<source>(curstom_area_b)</source>
<translation>( )</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="287"/>
<source>(is_size_check)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="288"/>
<source>(page)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="289"/>
<source>(blank_page_threshold)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="290"/>
<source>(resolution)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="291"/>
<source>(image_quality)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="292"/>
<source>(is_swap)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="293"/>
<source>(is_split)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="294"/>
<source>(is_auto_deskew)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="295"/>
<source>(is_custom_gamma)</source>
<translation>(gamma)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="296"/>
<source>(bright)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="297"/>
<source>(contrast)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="298"/>
<source>(gamma)</source>
<translation>(gamma)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="299"/>
<source>(is_erase_black_frame)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="300"/>
<source>(deep_sample)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="301"/>
<source>(threshold)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="302"/>
<source>(anti_noise)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="303"/>
<source>(margin)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="304"/>
<source>(fill_background)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="305"/>
<source>(is_anti_permeate)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="306"/>
<source>(anti_permeate_level)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="307"/>
<source>(is_filling_color)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="308"/>
<source>(is_ultrasonic_check)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="309"/>
<source>(is_check_staple)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="310"/>
<source>(scan_mode)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="311"/>
<source>(scan_count)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="312"/>
<source>(text_direction)</source>
<translation>(稿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="313"/>
<source>(is_rotate_bkg180)</source>
<translation>(180)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="314"/>
<source>(is_check_dogear)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="315"/>
<source>(dogear_size)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="316"/>
<source>(is_check_skew)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="317"/>
<source>(skew_range)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="318"/>
<source>(black_white_threshold)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="319"/>
<source>(is_photo_mode)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="320"/>
<source>(double_feed_handle)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="321"/>
<source>(scan_when_paper_on)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="322"/>
<source>(feed_strength)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="323"/>
<source>(power_scheme)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="324"/>
<source>(is_auto_strength)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="325"/>
<source>(feed_strength_value)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="326"/>
<source>(is_reverse_bw)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="327"/>
<source>(is_erase_hole_l)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="328"/>
<source>(search_hole_range_l)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="329"/>
<source>(is_erase_hole_r)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="330"/>
<source>(search_hole_range_r)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="331"/>
<source>(is_erase_hole_t)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="332"/>
<source>(search_hole_range_t)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="333"/>
<source>(is_erase_hole_b)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="334"/>
<source>(search_hole_range_b)</source>
<translation>(穿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="335"/>
<source>(fold_direction)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="336"/>
<source>(color_correction)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="337"/>
<source>(history_count)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="338"/>
<source>(driver_version)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="339"/>
<source>(manufacturer)</source>
<translation>(/-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="340"/>
<source>(copyright)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="341"/>
<source>(company_url)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="342"/>
<source>(company_tel)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="343"/>
<source>(company_addr)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="344"/>
<source>(gps)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="345"/>
<source>(help)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="346"/>
<source>(dev_vid)</source>
<translation>(VID-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="347"/>
<source>(dev_pid)</source>
<translation>(PID-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="348"/>
<source>(dev_name)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="349"/>
<source>(dev_family)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="350"/>
<source>(Device_sn)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="351"/>
<source>(Firm_ver)</source>
<translation>(-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="352"/>
<source>(IP_addr)</source>
<translation>(IP-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="353"/>
<source>(MAC_addr)</source>
<translation>(MAC-Get)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="354"/>
<source>(CUSTOM_GAMMA)</source>
<translation>(GAMMA)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="355"/>
<source>(ROLLER_LIFE)</source>
<translation>(寿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="356"/>
<source>(LANGUAGE)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="357"/>
<source>(MOTOR_VER)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="358"/>
<source>(PAPER_ON)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="359"/>
<source>(GRAY_GAMMA)</source>
<translation>(GAMMA,)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="360"/>
<source>(COLOR_GAMMA)</source>
<translation>(GAMMA,)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="361"/>
<source>(RED_GAMMA)</source>
<translation>(GAMMA,)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="362"/>
<source>(GREEN_GAMMA)</source>
<translation>(GAMMA,绿)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="363"/>
<source>(BLUE_GAMMA)</source>
<translation>(GAMMA,)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="364"/>
<source>(INITIAL_BOOT_TIME)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="365"/>
<source>(DISCARDBLANK)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="366"/>
<source>(LENS_DIRTY)</source>
<translation>()</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="368"/>
<source>(login)</source>
<translation>(-Set)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="369"/>
<source>(logout)</source>
<translation>(-Set)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="370"/>
<source>(roller_count)</source>
<translation>(-Get/Reset)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="371"/>
<source>(driver_log)</source>
<translation>(-Get/Reset)</translation>
</message>
<message>
<location filename="mainwindow.cpp" line="372"/>
<source>(device_log)</source>
<translation>(-Get/Reset)</translation>
</message>
</context>
</TS>

View File

@ -1,4 +1,4 @@
#include "mainwindow.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
@ -120,9 +120,6 @@ void MainWindow::on_pushButton_getCap_clicked()
bool ok = false;
HGUShort cap = capCode.left(6).toInt(&ok, 16);
HGCapValue value2;
HGTwain_GetCapbility(m_twainDS, 0x8803, &value2);
HGCapValue value;
HGResult ret = HGTwain_GetCapbility(m_twainDS, cap, &value);
if (ret != HGBASE_ERR_OK)
@ -226,6 +223,56 @@ void MainWindow::initCapbility()
{
QStringList cap = {};
//标准协议↓↓↓
cap.append(QString("0x0001") + tr("(CAP_XFERCOUNT)"));
cap.append(QString("0x0100") + tr("(ICAP_COMPRESSION)"));
cap.append(QString("0x0101") + tr("(ICAP_PIXELTYPE)"));
cap.append(QString("0x0102") + tr("(ICAP_UNITS)"));
cap.append(QString("0x0103") + tr("(ICAP_XFERMECH)"));
cap.append(QString("0x1002") + tr("(CAP_FEEDERENABLED)"));
cap.append(QString("0x1003") + tr("(CAP_FEEDERLOADED)"));
cap.append(QString("0x1007") + tr("(CAP_AUTOFEED)"));
cap.append(QString("0x100b") + tr("(CAP_INDICATORS)"));
cap.append(QString("0x100d") + tr("(CAP_PAPERDETECTABLE)"));
cap.append(QString("0x100e") + tr("(CAP_UICONTROLLABLE)"));
cap.append(QString("0x100f") + tr("(CAP_DEVICEONLINE)"));
cap.append(QString("0x1010") + tr("(CAP_AUTOSCAN)"));
cap.append(QString("0x1012") + tr("(CAP_DUPLEX)"));
cap.append(QString("0x1013") + tr("(CAP_DUPLEXENABLED)"));
cap.append(QString("0x1014") + tr("(CAP_ENABLEDSUIONLY)"));
cap.append(QString("0x1015") + tr("(CAP_CUSTOMDSDATA)"));
cap.append(QString("0x1024") + tr("(CAP_SERIALNUMBER)"));
cap.append(QString("0x1101") + tr("(ICAP_BRIGHTNESS)"));
cap.append(QString("0x1103") + tr("(ICAP_CONTRAST)"));
cap.append(QString("0x1106") + tr("(ICAP_FILTER)"));
cap.append(QString("0x1108") + tr("(ICAP_GAMMA)"));
cap.append(QString("0x110c") + tr("(ICAP_IMAGEFILEFORMAT)"));
cap.append(QString("0x1110") + tr("(ICAP_ORIENTATION)"));
cap.append(QString("0x1111") + tr("(ICAP_PHYSICALWIDTH)"));
cap.append(QString("0x1112") + tr("(ICAP_PHYSICALHEIGHT)"));
cap.append(QString("0x1116") + tr("(ICAP_XNATIVERESOLUTION)"));
cap.append(QString("0x1117") + tr("(ICAP_YNATIVERESOLUTION)"));
cap.append(QString("0x1118") + tr("(ICAP_XRESOLUTION)"));
cap.append(QString("0x1119") + tr("(ICAP_YRESOLUTION)"));
cap.append(QString("0x111c") + tr("(ICAP_BITORDER)"));
cap.append(QString("0x111f") + tr("(ICAP_PIXELFLAVOR)"));
cap.append(QString("0x1120") + tr("(ICAP_PLANARCHUNKY)"));
cap.append(QString("0x1121") + tr("(ICAP_ROTATION)"));
cap.append(QString("0x1122") + tr("(ICAP_SUPPORTEDSIZES)"));
cap.append(QString("0x112b") + tr("(ICAP_BITDEPTH)"));
cap.append(QString("0x1134") + tr("(ICAP_AUTODISCARDBLANKPAGES)"));
cap.append(QString("0x1150") + tr("(ICAP_AUTOMATICBORDERDETECTION)"));
cap.append(QString("0x1151") + tr("(ICAP_AUTOMATICDESKEW)"));
cap.append(QString("0x1152") + tr("(ICAP_AUTOMATICROTATE)"));
cap.append(QString("0x1153") + tr("(ICAP_JpegQuality)"));
cap.append(QString("0x1156") + tr("(ICAP_AutoSize)"));
cap.append(QString("0x1157") + tr("(ICAP_AutomaticCropUsesFrame)"));
cap.append(QString("0x1159") + tr("(ICAP_AutomaticColorEnabled)"));
cap.append(QString("0x1151") + tr("(ICAP_AutomaticColorNonColorPixelType)"));
cap.append(QString("0x115e") + tr("(ICAP_SupportedExtImageInfo)"));
//扩展协议↓↓↓
cap.append(QString("0x8004") + tr("(FillBackground)"));
cap.append(QString("0x8005") + tr("(BackRotate180)"));
cap.append(QString("0x8006") + tr("(ScrewDetectEnable)"));
@ -264,7 +311,112 @@ void MainWindow::initCapbility()
cap.append(QString("0x8114") + tr("(SCAN_WITH_HOLE)"));
cap.append(QString("0x8200") + tr("(IP)"));
//TODO 还需要添加剩余的twain测试项
cap.append(QString("0x8801") + tr("(is_multiout)"));
cap.append(QString("0x8802") + tr("(multiout_type)"));
cap.append(QString("0x8803") + tr("(color_mode)"));
cap.append(QString("0x8804") + tr("erase_color"));
cap.append(QString("0x8805") + tr("(erase_multiout_red)"));
cap.append(QString("0x8806") + tr("(erase_paper_red)"));
cap.append(QString("0x8807") + tr("(is_erase_background)"));
cap.append(QString("0x8808") + tr("(background_color_range)"));
cap.append(QString("0x8809") + tr("(sharpen)"));
cap.append(QString("0x880A") + tr("(erase_morr)"));
cap.append(QString("0x880B") + tr("(erase_grids)"));
cap.append(QString("0x880C") + tr("(error_extend)"));
cap.append(QString("0x880D") + tr("(is_noise_modify)"));
cap.append(QString("0x880E") + tr("(noise_threshold)"));
cap.append(QString("0x880F") + tr("(paper)"));
cap.append(QString("0x8810") + tr("(is_custom_area)"));
cap.append(QString("0x8811") + tr("(curstom_area_l)"));
cap.append(QString("0x8812") + tr("(curstom_area_r)"));
cap.append(QString("0x8813") + tr("(curstom_area_t)"));
cap.append(QString("0x8814") + tr("(curstom_area_b)"));
cap.append(QString("0x8815") + tr("(is_size_check)"));
cap.append(QString("0x8816") + tr("(page)"));
cap.append(QString("0x8817") + tr("(blank_page_threshold)"));
cap.append(QString("0x8818") + tr("(resolution)"));
cap.append(QString("0x8819") + tr("(image_quality)"));
cap.append(QString("0x881A") + tr("(is_swap)"));
cap.append(QString("0x881B") + tr("(is_split)"));
cap.append(QString("0x881C") + tr("(is_auto_deskew)"));
cap.append(QString("0x881D") + tr("(is_custom_gamma)"));
cap.append(QString("0x881E") + tr("(bright)"));
cap.append(QString("0x881F") + tr("(contrast)"));
cap.append(QString("0x8820") + tr("(gamma)"));
cap.append(QString("0x8821") + tr("(is_erase_black_frame)"));
cap.append(QString("0x8822") + tr("(deep_sample)"));
cap.append(QString("0x8823") + tr("(threshold)"));
cap.append(QString("0x8824") + tr("(anti_noise)"));
cap.append(QString("0x8825") + tr("(margin)"));
cap.append(QString("0x8826") + tr("(fill_background)"));
cap.append(QString("0x8827") + tr("(is_anti_permeate)"));
cap.append(QString("0x8828") + tr("(anti_permeate_level)"));
cap.append(QString("0x882B") + tr("(is_filling_color)"));
cap.append(QString("0x882C") + tr("(is_ultrasonic_check)"));
cap.append(QString("0x882D") + tr("(is_check_staple)"));
cap.append(QString("0x882E") + tr("(scan_mode)"));
cap.append(QString("0x882F") + tr("(scan_count)"));
cap.append(QString("0x8830") + tr("(text_direction)"));
cap.append(QString("0x8831") + tr("(is_rotate_bkg180)"));
cap.append(QString("0x8832") + tr("(is_check_dogear)"));
cap.append(QString("0x8833") + tr("(dogear_size)"));
cap.append(QString("0x8834") + tr("(is_check_skew)"));
cap.append(QString("0x8835") + tr("(skew_range)"));
cap.append(QString("0x8836") + tr("(black_white_threshold)"));
cap.append(QString("0x8837") + tr("(is_photo_mode)"));
cap.append(QString("0x8838") + tr("(double_feed_handle)"));
cap.append(QString("0x8839") + tr("(scan_when_paper_on)"));
cap.append(QString("0x883A") + tr("(feed_strength)"));
cap.append(QString("0x883B") + tr("(power_scheme)"));
cap.append(QString("0x883C") + tr("(is_auto_strength)"));
cap.append(QString("0x883D") + tr("(feed_strength_value)"));
cap.append(QString("0x883E") + tr("(is_reverse_bw)"));
cap.append(QString("0x883F") + tr("(is_erase_hole_l)"));
cap.append(QString("0x8840") + tr("(search_hole_range_l)"));
cap.append(QString("0x8841") + tr("(is_erase_hole_r)"));
cap.append(QString("0x8842") + tr("(search_hole_range_r)"));
cap.append(QString("0x8843") + tr("(is_erase_hole_t)"));
cap.append(QString("0x8844") + tr("(search_hole_range_t)"));
cap.append(QString("0x8845") + tr("(is_erase_hole_b)"));
cap.append(QString("0x8846") + tr("(search_hole_range_b)"));
cap.append(QString("0x8847") + tr("(fold_direction)"));
cap.append(QString("0x8848") + tr("(color_correction)"));
cap.append(QString("0x8849") + tr("(history_count)"));
cap.append(QString("0x884A") + tr("(driver_version)"));
cap.append(QString("0x884B") + tr("(manufacturer)"));
cap.append(QString("0x884C") + tr("(copyright)"));
cap.append(QString("0x884D") + tr("(company_url)"));
cap.append(QString("0x884E") + tr("(company_tel)"));
cap.append(QString("0x884F") + tr("(company_addr)"));
cap.append(QString("0x8850") + tr("(gps)"));
cap.append(QString("0x8851") + tr("(help)"));
cap.append(QString("0x8852") + tr("(dev_vid)"));
cap.append(QString("0x8853") + tr("(dev_pid)"));
cap.append(QString("0x8854") + tr("(dev_name)"));
cap.append(QString("0x8855") + tr("(dev_family)"));
cap.append(QString("0x8856") + tr("(Device_sn)"));
cap.append(QString("0x8857") + tr("(Firm_ver)"));
cap.append(QString("0x8858") + tr("(IP_addr)"));
cap.append(QString("0x8859") + tr("(MAC_addr)"));
cap.append(QString("0x885A") + tr("(CUSTOM_GAMMA)"));
cap.append(QString("0x885B") + tr("(ROLLER_LIFE)"));
cap.append(QString("0x885C") + tr("(LANGUAGE)"));
cap.append(QString("0x885D") + tr("(MOTOR_VER)"));
cap.append(QString("0x8860") + tr("(PAPER_ON)"));
cap.append(QString("0x8861") + tr("(GRAY_GAMMA)"));
cap.append(QString("0x8862") + tr("(COLOR_GAMMA)"));
cap.append(QString("0x8863") + tr("(RED_GAMMA)"));
cap.append(QString("0x8864") + tr("(GREEN_GAMMA)"));
cap.append(QString("0x8865") + tr("(BLUE_GAMMA)"));
cap.append(QString("0x8866") + tr("(INITIAL_BOOT_TIME)"));
cap.append(QString("0x8867") + tr("(DISCARDBLANK)"));
cap.append(QString("0x8868") + tr("(LENS_DIRTY)"));
cap.append(QString("0x9900") + tr("(login)"));
cap.append(QString("0x9901") + tr("(logout)"));
cap.append(QString("0x9902") + tr("(roller_count)"));
cap.append(QString("0x9903") + tr("(driver_log)"));
cap.append(QString("0x9904") + tr("(device_log)"));
ui->comboBox_setCap->addItems(cap);
}