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