#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; } enum ButtonType { DeviceType_1 = 1, DeviceType_2, DeviceType_3 }; struct ScanParam { std::string deviceType; ButtonType buttonType; 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); Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index); ~Dialog_Add(); ScanParam GetScanParam(); private slots: void on_pushButtonDeviceConfig_clicked(); void on_pushButtonSaveParam_clicked(); void on_comboBoxButtonType_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