104 lines
3.2 KiB
C++
104 lines
3.2 KiB
C++
#include "dialog_add.h"
|
||
#include "ui_dialog_add.h"
|
||
#include "mainwindow.h"
|
||
#include <QMessageBox>
|
||
|
||
Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const std::string &deviceType)
|
||
: QDialog(mainWnd)
|
||
, ui(new Ui::Dialog_Add)
|
||
, m_mainWnd(mainWnd)
|
||
, m_index(-1)
|
||
{
|
||
ui->setupUi(this);
|
||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||
this->setWindowTitle(tr("Add") + " (" + QString(deviceType.c_str()) + ")");
|
||
|
||
ui->comboBoxButtonId->addItem("Manual");
|
||
// TODO 通过devHandle获取支持的按钮,并添加到下拉列表
|
||
ui->comboBoxButtonId->addItem("Button 1");
|
||
ui->comboBoxButtonId->addItem("Button 2");
|
||
ui->comboBoxButtonId->addItem("Button 3");
|
||
|
||
m_scanParam.deviceType = deviceType;
|
||
m_scanParam.buttonId = ui->comboBoxButtonId->currentIndex();
|
||
m_scanParam.deviceConfigs.clear();
|
||
m_scanParam.saveParam = Form_SaveParam::GetDefSaveParam();
|
||
|
||
m_formDeviceConfig = new Form_DeviceConfig(devHandle, m_scanParam.deviceConfigs, this);
|
||
m_formSaveParam = new Form_SaveParam(m_scanParam.saveParam, this);
|
||
ui->stackedWidget->addWidget(m_formDeviceConfig);
|
||
ui->stackedWidget->addWidget(m_formSaveParam);
|
||
ui->stackedWidget->setCurrentIndex(0);
|
||
}
|
||
|
||
Dialog_Add::Dialog_Add(SANE_Handle devHandle, class MainWindow *mainWnd, const ScanParam &scanParam, int index)
|
||
: QDialog(mainWnd)
|
||
, ui(new Ui::Dialog_Add)
|
||
, m_mainWnd(mainWnd)
|
||
, m_index(index)
|
||
{
|
||
ui->setupUi(this);
|
||
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
||
this->setWindowTitle(tr("Modify") + " (" + QString(scanParam.deviceType.c_str()) + ")");
|
||
|
||
ui->comboBoxButtonId->addItem("Manual");
|
||
// TODO 通过devHandle获取支持的按钮,并添加到下拉列表
|
||
ui->comboBoxButtonId->addItem("Button 1");
|
||
ui->comboBoxButtonId->addItem("Button 2");
|
||
ui->comboBoxButtonId->addItem("Button 3");
|
||
|
||
m_scanParam = scanParam;
|
||
ui->comboBoxButtonId->setCurrentIndex(m_scanParam.buttonId);
|
||
|
||
m_formDeviceConfig = new Form_DeviceConfig(devHandle, m_scanParam.deviceConfigs, this);
|
||
m_formSaveParam = new Form_SaveParam(m_scanParam.saveParam, this);
|
||
ui->stackedWidget->addWidget(m_formDeviceConfig);
|
||
ui->stackedWidget->addWidget(m_formSaveParam);
|
||
ui->stackedWidget->setCurrentIndex(0);
|
||
}
|
||
|
||
Dialog_Add::~Dialog_Add()
|
||
{
|
||
delete m_formSaveParam;
|
||
delete m_formDeviceConfig;
|
||
delete ui;
|
||
}
|
||
|
||
ScanParam Dialog_Add::GetScanParam()
|
||
{
|
||
return m_scanParam;
|
||
}
|
||
|
||
void Dialog_Add::on_pushButtonDeviceConfig_clicked()
|
||
{
|
||
ui->stackedWidget->setCurrentIndex(0);
|
||
}
|
||
|
||
void Dialog_Add::on_pushButtonSaveParam_clicked()
|
||
{
|
||
ui->stackedWidget->setCurrentIndex(1);
|
||
}
|
||
|
||
void Dialog_Add::on_comboBoxButtonId_currentIndexChanged(int index)
|
||
{
|
||
m_scanParam.buttonId = index;
|
||
}
|
||
|
||
void Dialog_Add::on_pushButtonOK_clicked()
|
||
{
|
||
if (m_mainWnd->FindScanParam(m_scanParam.deviceType, m_scanParam.buttonId, m_index))
|
||
{
|
||
QMessageBox::information(this, tr("Tips"), tr("Item find in list"));
|
||
return;
|
||
}
|
||
|
||
m_scanParam.deviceConfigs = m_formDeviceConfig->GetDeviceConfigs();
|
||
m_scanParam.saveParam = m_formSaveParam->GetSaveParam();
|
||
accept();
|
||
}
|
||
|
||
void Dialog_Add::on_pushButtonCancel_clicked()
|
||
{
|
||
reject();
|
||
}
|