code_app/modules/twainui/dialog_progress_ui.h

55 lines
1.3 KiB
C++

#ifndef DIALOG_PROGRESS_UI_H
#define DIALOG_PROGRESS_UI_H
#include <QDialog>
#include <qtranslator.h>
#include "twain_user/twainui.h"
namespace Ui {
class Dialog_progress_ui;
}
class Dialog_progress_ui : public QDialog
{
Q_OBJECT
bool quit_ = false;
public:
explicit Dialog_progress_ui(class Manager *mgr, std::function<void (ui_result)> callback, std::function<void (int, void *, int)> *notify, QWidget *parent = nullptr);
~Dialog_progress_ui();
protected:
void keyPressEvent(QKeyEvent *e) override;
signals:
void scan_status(QString finishInfo, bool isScanning);
void scan_finish(int flag, QString finishInfo);
void image_recived();
private slots:
void on_pbtn_cancelScan_clicked();
void on_pbtn_close_clicked();
void on_scan_status(QString finishInfo, bool isScanning);
void on_scan_finish(int flag, QString finishInfo);
void on_image_recived();
public:
static void FuncNotify(int event, void *msg, int flag);
void clear_callback(void)
{
quit_ = true;
m_callback = std::function<void(ui_result)>();
}
private:
Ui::Dialog_progress_ui *ui;
class Manager *m_mgr;
std::function<void (ui_result)> m_callback;
QTimer *m_timer;
bool m_isScanning;
};
#endif // DIALOG_PROGRESS_UI_H