#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #include "dialog_scan.h" #include "dialog_add.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr); ~MainWindow(); bool GetScanParam(DeviceType deviceType, ButtonType buttonType, ScanParam &scanParam); bool FindScanParam(DeviceType deviceType, ButtonType buttonType, int ignoreIndex); private: QString GetDesc(const std::string &deviceConfig); QString GetDesc(const SaveParam &saveParam); protected: virtual void closeEvent(QCloseEvent *e) override; private slots: void on_trayActivated(QSystemTrayIcon::ActivationReason reason); void on_showScanSettingDlg(); void on_pushButtonAdd_clicked(); void on_pushButtonModify_clicked(); void on_pushButtonRemove_clicked(); private: Ui::MainWindow *ui; Dialog_Scan *m_scanDlg; QSystemTrayIcon* m_trayIcon; QAction *m_scanAction; QAction *m_btnAction; QAction *m_quitAction; QMenu *m_trayIconMenu; std::vector m_vScanParams; }; #endif // MAINWINDOW_H