#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include "form_maininterface.h" #include "form_texttips.h" #include #include #include "HGPdtToolDb.h" #include "sane/sane_ex.h" #include "hgscanner.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { friend class Dialog_logIn; Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); hgscanner* hg; void Init(); void Deinit(); static QString getLogInfo(HGResult ret); bool isExitApp(); private: static void HGAPI PdtToolDbUserEventFunc(HGPdtToolDbUserMgr userMgr, HGUInt event, HGPointer param); static int sane_ex_callback(SANE_Handle hdev, int code, void* data, unsigned int* len, void* param); std::vector getDevices(); signals: void sane_dev_arrive(QString devName); void sane_dev_remove(QString devName); void user_event(int event); private slots: void on_sane_dev_arrive(QString devName); void on_sane_dev_remove(QString devName); void on_user_event(int event); private slots: void on_act_newDevice_triggered(); void on_act_manage_triggered(); void on_act_changePwd_triggered(); void on_act_export_triggered(); void on_act_logOut_triggered(); void on_act_close_triggered(); /* void on_act_upload_triggered();*/ private: QSplitter *m_top_splitter; QSplitter *m_bot_splitter; SANE_Handle m_handle; int m_splitterCount; bool m_isLogOut; private: Ui::MainWindow *ui; HGPdtToolDbUserMgr m_pdtToolDbuserMgr; Form_mainInterface *m_form_mainInterface; }; #endif // MAINWINDOW_H