#ifndef DIALOG_ADD_H #define DIALOG_ADD_H #include #include "sane/sane_ex.h" #include "form_deviceconfig.h" #include "form_saveparam.h" namespace Ui { class Dialog_Add; } struct ScanParam { std::string deviceType; unsigned int buttonId; std::vector deviceConfigs; SaveParam saveParam; }; class Dialog_Add : public QDialog { Q_OBJECT public: explicit Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType, int buttonId); Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index); ~Dialog_Add(); ScanParam GetScanParam(); signals: void closeDevice(); private slots: void on_closeDevice(); void on_pushButtonDeviceConfig_clicked(); void on_pushButtonSaveParam_clicked(); void on_comboBoxButtonId_currentIndexChanged(int index); void on_pushButtonOK_clicked(); void on_pushButtonCancel_clicked(); private: Ui::Dialog_Add *ui; class MainWindow *m_mainWnd; ScanParam m_scanParam; int m_index; Form_DeviceConfig *m_formDeviceConfig; Form_SaveParam *m_formSaveParam; }; #endif // DIALOG_ADD_H