2022-11-10 02:22:58 +00:00
|
|
|
#ifndef MAINWINDOW_H
|
|
|
|
#define MAINWINDOW_H
|
|
|
|
|
|
|
|
#include <QMainWindow>
|
2023-06-16 06:00:50 +00:00
|
|
|
#include <QTextBrowser>
|
2023-06-16 09:37:44 +00:00
|
|
|
#include <QCloseEvent>
|
2022-11-10 09:23:16 +00:00
|
|
|
#include "version/HGVersion.h"
|
|
|
|
#include "sane/sane_ex.h"
|
2022-11-10 02:22:58 +00:00
|
|
|
|
|
|
|
QT_BEGIN_NAMESPACE
|
|
|
|
namespace Ui { class MainWindow; }
|
|
|
|
QT_END_NAMESPACE
|
|
|
|
|
2022-11-11 07:52:54 +00:00
|
|
|
struct VersionInfo
|
|
|
|
{
|
|
|
|
std::string version;
|
|
|
|
std::string url;
|
|
|
|
std::string md5;
|
|
|
|
};
|
|
|
|
|
2023-06-29 01:47:19 +00:00
|
|
|
union VIDPID
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
unsigned short VID;
|
|
|
|
unsigned short PID;
|
|
|
|
};
|
|
|
|
unsigned int Value;
|
|
|
|
};
|
|
|
|
|
2022-11-10 02:22:58 +00:00
|
|
|
class MainWindow : public QMainWindow
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
MainWindow(QWidget *parent = nullptr);
|
|
|
|
~MainWindow();
|
|
|
|
|
2022-11-10 09:23:16 +00:00
|
|
|
static QString passwordEncrypt(const QString& password);
|
|
|
|
static QString passwordDecrypt(const QString& transcode);
|
2022-12-03 08:58:16 +00:00
|
|
|
static QString GetDevType(const QString& fwVersion, bool *canLock);
|
2022-11-10 09:23:16 +00:00
|
|
|
|
2023-06-16 09:37:44 +00:00
|
|
|
protected:
|
|
|
|
virtual void closeEvent(QCloseEvent *event) override;
|
|
|
|
|
2022-11-10 09:23:16 +00:00
|
|
|
signals:
|
|
|
|
void sane_dev_arrive(QString devName, bool opened);
|
|
|
|
void sane_dev_remove(QString devName);
|
2023-06-12 09:11:25 +00:00
|
|
|
void correctInfo(QString info);
|
2023-06-16 09:37:44 +00:00
|
|
|
void scan_finish(void *data);
|
2022-11-10 09:23:16 +00:00
|
|
|
|
|
|
|
private slots:
|
|
|
|
void on_sane_dev_arrive(QString devName, bool opened);
|
|
|
|
void on_sane_dev_remove(QString devName);
|
2023-06-12 09:11:25 +00:00
|
|
|
void on_correctInfo(QString info);
|
2023-06-16 09:37:44 +00:00
|
|
|
void on_scan_finish(void *data);
|
2022-11-10 09:23:16 +00:00
|
|
|
void on_btnExit_clicked();
|
|
|
|
|
|
|
|
void on_comboDevList_currentIndexChanged(int index);
|
|
|
|
|
|
|
|
void on_btnGetVersionList_clicked();
|
|
|
|
|
|
|
|
void on_comboVersionList_currentIndexChanged(int index);
|
|
|
|
|
|
|
|
void on_editFilePath_textChanged(const QString &arg1);
|
|
|
|
|
|
|
|
void on_btnOpenFilePath_clicked();
|
|
|
|
|
|
|
|
void on_btnDownloadUpgrade_clicked();
|
|
|
|
|
|
|
|
void on_btnUpgrade_clicked();
|
|
|
|
|
|
|
|
void on_comboDevList2_currentIndexChanged(int index);
|
|
|
|
|
|
|
|
void on_btnClearRollCount_clicked();
|
|
|
|
|
|
|
|
void on_btnModifyPassword_clicked();
|
|
|
|
|
2023-06-12 09:11:25 +00:00
|
|
|
void on_pushButton_getDistortion_clicked();
|
|
|
|
|
|
|
|
void on_pushButton_setDistortion_clicked();
|
|
|
|
|
|
|
|
void on_pushButton_correct_clicked();
|
|
|
|
|
2023-06-16 06:00:50 +00:00
|
|
|
void on_pushButton_exportTestPaper_clicked();
|
|
|
|
|
2023-06-16 09:37:44 +00:00
|
|
|
void on_pushButton_countDistortion_clicked();
|
|
|
|
|
2023-10-27 01:16:40 +00:00
|
|
|
void on_pushButton_restoreSettings_clicked();
|
|
|
|
|
2022-11-10 09:23:16 +00:00
|
|
|
private:
|
|
|
|
static int sane_ex_callback(SANE_Handle hdev, int code, void *data, unsigned int* len, void *param);
|
|
|
|
|
2023-06-12 09:11:25 +00:00
|
|
|
private:
|
|
|
|
void initColorAndDpi();
|
|
|
|
QString getSpeedMode();
|
2023-06-16 06:00:50 +00:00
|
|
|
void addContent(QTextBrowser *textBrowser, QString content, bool isNormal);
|
2023-06-29 01:47:19 +00:00
|
|
|
bool isAndroidDevice();
|
2023-06-12 09:11:25 +00:00
|
|
|
|
2022-11-10 02:22:58 +00:00
|
|
|
private:
|
|
|
|
Ui::MainWindow *ui;
|
2022-11-10 09:23:16 +00:00
|
|
|
HGVersionMgr m_versionMgr;
|
2022-11-11 07:52:54 +00:00
|
|
|
std::vector<VersionInfo> m_vVersion;
|
2022-11-10 09:23:16 +00:00
|
|
|
|
|
|
|
QString m_curDevName;
|
|
|
|
SANE_Handle m_curDevHandle;
|
|
|
|
QString m_curFwVersion;
|
2023-06-12 09:11:25 +00:00
|
|
|
QString m_curSerialNum;
|
2023-06-16 09:37:44 +00:00
|
|
|
bool m_isFlatCorrecting;
|
|
|
|
bool m_isDisCorrecting;
|
2022-11-10 02:22:58 +00:00
|
|
|
};
|
|
|
|
#endif // MAINWINDOW_H
|