60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
#ifndef DIALOG_DEVICE_SCAN_H
|
|
#define DIALOG_DEVICE_SCAN_H
|
|
|
|
#include "base/HGDef.h"
|
|
#include "base/HGThread.h"
|
|
#include "HGSaneUI.h"
|
|
#include <QDialog>
|
|
|
|
namespace Ui {
|
|
class Dialog_Device_Scan;
|
|
}
|
|
|
|
class Dialog_Device_Scan : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Dialog_Device_Scan(const SANEAPI* saneApi, SANE_Handle dev, const char *devName,
|
|
show_scan_ui_event_callback eventCallback, void *eventParam,
|
|
show_scan_ui_image_callback imageCallback, void *imageParam, QWidget *parent = nullptr);
|
|
~Dialog_Device_Scan();
|
|
|
|
protected:
|
|
void keyPressEvent(QKeyEvent *e) override;
|
|
|
|
signals:
|
|
void eventFunc(int flag, QString errInfo);
|
|
void imageCount(int count);
|
|
|
|
private slots:
|
|
void on_eventFunc(int flag, QString errInfo);
|
|
void on_pushButton_Cancel_clicked();
|
|
void on_pushButton_Complete_clicked();
|
|
void on_imageCount(int count);
|
|
|
|
private:
|
|
void startScan();
|
|
|
|
protected:
|
|
virtual void closeEvent(QCloseEvent *e) override;
|
|
|
|
private:
|
|
static void HGAPI ThreadFunc(HGThread thread, HGPointer param);
|
|
|
|
private:
|
|
Ui::Dialog_Device_Scan *ui;
|
|
SANEAPI m_saneAPI;
|
|
SANE_Handle m_saneDev;
|
|
show_scan_ui_event_callback m_eventCallback;
|
|
void *m_eventParam;
|
|
show_scan_ui_image_callback m_imageCallback;
|
|
void *m_imageParam;
|
|
volatile HGBool m_stopThread;
|
|
HGThread m_thread;
|
|
|
|
QTimer *m_timer;
|
|
};
|
|
|
|
#endif // DIALOG_DEVICE_SCAN_H
|