#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include #include #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(); void SetBusy(bool busy); bool GetScanParam(const std::string &deviceType, unsigned int buttonId, ScanParam &scanParam); bool FindScanParam(const std::string &deviceType, unsigned int buttonId, int ignoreIndex); private: void LoadCfg(); void SaveCfg(); QString GetDesc(const std::vector &deviceConfigs); 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_showMainWindowDlg(); void on_pushButtonAdd_clicked(); void on_pushButtonModify_clicked(); void on_pushButtonRemove_clicked(); private: Ui::MainWindow *ui; class 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