mirror of http://192.168.1.51:8099/lmh188/twain3
139 lines
4.0 KiB
C++
139 lines
4.0 KiB
C++
#ifndef SCANSETTINGDIALOG_H
|
|
#define SCANSETTINGDIALOG_H
|
|
#include <QDialog>
|
|
#include <QListWidget>
|
|
#include <QJsonArray>
|
|
#include <QJsonDocument>
|
|
#include <QJsonObject>
|
|
#include <QJsonParseError>
|
|
#include <QJsonValue>
|
|
#include <QString>
|
|
#include <QStandardPaths>
|
|
#include <QMap>
|
|
#include "JsonConfig.h"
|
|
#ifdef _WIN32
|
|
#include "twglue.hpp"
|
|
#endif
|
|
#include <memory>
|
|
|
|
|
|
namespace Ui {
|
|
class ScanSettingDialog;
|
|
};
|
|
|
|
|
|
|
|
class ScanSettingDialog : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit ScanSettingDialog(Func twG, int uiMode,std::string model, QWidget *parent = nullptr);
|
|
~ScanSettingDialog();
|
|
void EnableID_OKorID_Cancel(bool enable);
|
|
int getScanCount();
|
|
json defaultjson;
|
|
std::function<void()> enableparent;
|
|
enum UIMode {
|
|
showUI,
|
|
UIonly
|
|
};
|
|
|
|
protected:
|
|
void closeEvent(QCloseEvent* e) override;
|
|
void keyPressEvent(QKeyEvent* e) override;
|
|
void showEvent(QShowEvent* event) override;
|
|
|
|
private slots:
|
|
void on_pbtn_help_clicked();
|
|
void on_pbtn_about_clicked();
|
|
void on_pbtn_default_clicked();
|
|
void on_pbtn_ok_clicked();
|
|
void on_pbtn_cancel_clicked();
|
|
|
|
void on_pBtn_usrSetting_app_clicked();
|
|
void on_pBtn_usrSetting_add_clicked();
|
|
void on_pBtn_usrSetting_del_clicked();
|
|
void on_pBtn_usrSetting_clr_clicked();
|
|
void on_pBtn_usrSetting_inp_clicked();
|
|
void on_pBtn_usrSetting_exp_clicked();
|
|
void on_pBtn_usrSetting_save_clicked();
|
|
|
|
void on_listWidget_itemSelectionChanged();
|
|
void on_listWidget_currentRowChanged(int currentRow);
|
|
void on_listWidget_itemDoubleClicked(QListWidgetItem *item);
|
|
|
|
|
|
void on_cbox_colorMode_currentIndexChanged(int index);
|
|
void on_cbtn_multiStream_stateChanged(int arg1);
|
|
void on_cbox_multiStream_currentIndexChanged(int index);
|
|
void on_cbox_paperSize_currentIndexChanged(int index);
|
|
void on_cbtn_sizeAreaSwitch_stateChanged(int arg1);
|
|
void on_cbox_scanPage_currentIndexChanged(int index);
|
|
void on_cbtn_imgSplit_clicked();
|
|
void on_cbox_resolution_currentIndexChanged(int index);
|
|
void on_cbtn_colorLineSwitch_stateChanged(int arg1);
|
|
void on_cbtn_deHole_stateChanged(int arg1);
|
|
void on_cbtn_sharAndBlur_stateChanged(int arg1);
|
|
void on_rbtn_pageNum_toggled(bool checked);
|
|
void on_cbox_pageDirection_currentIndexChanged(int index);
|
|
void on_cbtn_skewCheck_stateChanged(int arg1);
|
|
void on_cbtn_jpgPercent_stateChanged(int arg1);
|
|
void on_gbox_ocr_toggled(bool arg1);
|
|
|
|
void on_Slider_brightness_valueChanged(int value);
|
|
void on_spin_brightness_valueChanged(int arg1);
|
|
void on_Slider_contrast_valueChanged(int value);
|
|
void on_spin_contrast_valueChanged(int arg1);
|
|
void on_Slider_gamma_valueChanged(int value);
|
|
void on_dSpin_gamma_valueChanged(double arg1);
|
|
void on_Slider_deHole_valueChanged(int value);
|
|
void on_Slider_skewCheck_valueChanged(int value);
|
|
void on_Slider_jpgPercent_valueChanged(int value);
|
|
void showColorLineSetDialog();
|
|
void showCutDialog();
|
|
void on_cbtn_deBlack_clicked(bool checked);
|
|
|
|
private:
|
|
void add_usrSetting(QString name);
|
|
void delete_json(QString name);
|
|
QStringList check_json(QString dirPath);
|
|
|
|
json loadjson(QString filename);
|
|
void load_jsonList(QString filename);
|
|
void save_jsonList(QString filename, GScanCap* param_ptr);
|
|
void configUI_fromConfigParam(std::string defaultoruser);
|
|
//GScanCap getParam_fromUI();
|
|
void getParam_fromUI();
|
|
void save_json(QString path);
|
|
GScanCap load_settingjson();
|
|
void init_globalLogic();
|
|
void init_funcVisible();
|
|
void load_userSettingList();
|
|
|
|
private:
|
|
Ui::ScanSettingDialog *ui;
|
|
QString m_jsonDirPath;
|
|
QString m_appDirPath;
|
|
QString m_sysDirPath;
|
|
QString filePath;
|
|
Func m_twG;
|
|
QVector<QList<QPoint>> rgbKeyPoint;
|
|
QList<QPoint> grayKeyPoint;
|
|
uchar RGBLineTable[768];
|
|
uchar greyLineTable[256];
|
|
QRectF sizeAreaRect;
|
|
json param;
|
|
std::string Model;
|
|
std::map<std::string, int> support_paper;
|
|
int UImode;
|
|
|
|
#if defined (HGVERSION)
|
|
QString tmppath= QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/HuaGoScan/tmp.txt";
|
|
#else
|
|
QString tmppath= QStandardPaths::writableLocation(QStandardPaths::ConfigLocation) + "/LANXUMSCAN/tmp.txt";
|
|
#endif
|
|
QMap<QVector<int>, QRectF> m_map;
|
|
};
|
|
#endif // SCANSETTINGDIALOG_H
|