#ifndef SCANSETTINGDIALOG_H #define SCANSETTINGDIALOG_H #include #include #include #include #include #include #include #include #include #include #include "JsonConfig.h" #ifdef _WIN32 #include "twglue.hpp" #endif #include 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 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> rgbKeyPoint; QList grayKeyPoint; uchar RGBLineTable[768]; uchar greyLineTable[256]; QRectF sizeAreaRect; json param; std::string Model; std::map 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, QRectF> m_map; }; #endif // SCANSETTINGDIALOG_H