2023-05-24 02:58:44 +00:00
|
|
|
|
#include "dialog_aquireinto.h"
|
|
|
|
|
#include "ui_dialog_aquireinto.h"
|
|
|
|
|
#include "dialog_writesettings.h"
|
|
|
|
|
#include <QFileDialog>
|
|
|
|
|
#include <QDateTime>
|
|
|
|
|
#include <QRegExpValidator>
|
|
|
|
|
#include <QStandardPaths>
|
|
|
|
|
#include "base/HGDef.h"
|
|
|
|
|
#include "base/HGInc.h"
|
|
|
|
|
#include "base/HGUtility.h"
|
|
|
|
|
#include "base/HGIni.h"
|
|
|
|
|
#include "HGUIGlobal.h"
|
|
|
|
|
#include "HGString.h"
|
|
|
|
|
#include "app_cfg.h"
|
|
|
|
|
#include "dialog_input.h"
|
|
|
|
|
#include <QDebug>
|
|
|
|
|
#include <QMessageBox>
|
|
|
|
|
|
|
|
|
|
Dialog_AquireInto::Dialog_AquireInto(QWidget* parent) :
|
|
|
|
|
QDialog(parent),
|
|
|
|
|
ui(new Ui::Dialog_AquireInto)
|
|
|
|
|
{
|
|
|
|
|
ui->setupUi(this);
|
|
|
|
|
|
|
|
|
|
#if defined(OEM_HANWANG) || defined(OEM_LISICHENG) || defined(OEM_CANGTIAN) || defined(OEM_ZHONGJING) || defined(OEM_ZIGUANG)
|
|
|
|
|
ui->groupBox_2->setVisible(false);
|
|
|
|
|
this->setFixedWidth(this->width() - ui->groupBox_2->width());
|
|
|
|
|
#endif
|
|
|
|
|
setWindowFlags(Qt::Dialog | Qt::WindowCloseButtonHint);
|
|
|
|
|
|
|
|
|
|
QRegExp rx("[^\\\\/:*?\"<>|]+$");
|
|
|
|
|
ui->lineEdit_fileName->setValidator(new QRegExpValidator(rx, this));
|
|
|
|
|
|
|
|
|
|
ui->comboBox_cfgScheme->addItem(tr("default scheme"));
|
|
|
|
|
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
if (!allCfgNameList.contains(QString("")))
|
|
|
|
|
{
|
|
|
|
|
ui->comboBox_cfgScheme->addItems(allCfgNameList);
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentText(getCurrentCfgName());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
allCfgNameList.removeOne(QString(""));
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentIndex(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setCfgBaseOnSection(getCurrentCfgName());
|
|
|
|
|
|
|
|
|
|
ui->lab_digitExp->setText(QString(tr("e.g. '%1%2'")).arg(ui->lineEdit_fileName->text())
|
|
|
|
|
.arg(ui->spin_index->value(), ui->cbox_digit->currentIndex() + 1, 10, QLatin1Char('0')));
|
|
|
|
|
ui->btn_option->setEnabled(0 == ui->cbox_format->currentIndex() || 6 == ui->cbox_format->currentIndex());
|
|
|
|
|
ui->cbtn_multiFile->setEnabled(ui->cbox_format->currentIndex() > 5 && ui->cbox_format->currentIndex() < 10); //Ocr does not export multiple pages
|
|
|
|
|
ui->radio_multiAll->setEnabled(ui->cbtn_multiFile->isChecked());
|
|
|
|
|
ui->radio_multiCustom->setEnabled(ui->cbtn_multiFile->isChecked());
|
|
|
|
|
ui->spinBox_multiPages->setEnabled(ui->cbtn_multiFile->isChecked() ? ui->radio_multiCustom->isChecked() : false);
|
|
|
|
|
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!ui->lineEdit_directory->text().isEmpty());
|
|
|
|
|
|
|
|
|
|
ui->buttonBox->button(QDialogButtonBox::Ok)->setText(tr("ok"));
|
|
|
|
|
ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(tr("cancel"));
|
|
|
|
|
|
|
|
|
|
ui->spin_index->setFixedWidth(160);
|
|
|
|
|
ui->cbox_digit->setFixedWidth(80);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Dialog_AquireInto::~Dialog_AquireInto()
|
|
|
|
|
{
|
|
|
|
|
delete ui;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
AquireIntoSaveParam Dialog_AquireInto::getSaveParam()
|
|
|
|
|
{
|
|
|
|
|
AquireIntoSaveParam param;
|
|
|
|
|
param.m_savePath = ui->lineEdit_directory->text();
|
|
|
|
|
param.m_isUseSubfolderByTime = ui->cbtn_subFolder->isChecked();
|
|
|
|
|
param.m_isUseSubfolderByBlankPages = ui->cbtn_subFolderByBlank->isChecked();
|
|
|
|
|
param.m_isUseSubfolderByColor = ui->cbtn_subFolderByColor->isChecked();
|
|
|
|
|
param.m_jpegQuality = getCfgValue("saveParam", "jpegQuality", 80);
|
|
|
|
|
param.m_tiffCompressionBW = getCfgValue("saveParam", "tiffCompBW", 1);
|
|
|
|
|
param.m_tiffCompression = getCfgValue("saveParam", "tiffCompClr", 1);
|
|
|
|
|
param.m_tiffQuality = getCfgValue("saveParam", "tiffQuality", 80);
|
|
|
|
|
param.m_fileNamePrefix = ui->lineEdit_fileName->text();
|
|
|
|
|
param.m_fileNameStartIndex = ui->spin_index->value();
|
|
|
|
|
param.m_fileNameDigits = ui->cbox_digit->currentIndex() + 1;
|
|
|
|
|
param.m_fileNameOddEventType = ui->cbox_evenOdd->currentIndex();
|
|
|
|
|
|
|
|
|
|
QString format = "jpg";
|
|
|
|
|
switch (ui->cbox_format->currentIndex())
|
|
|
|
|
{
|
|
|
|
|
case 1:
|
|
|
|
|
format = "bmp";
|
|
|
|
|
break;
|
|
|
|
|
case 2:
|
|
|
|
|
format = "png";
|
|
|
|
|
break;
|
|
|
|
|
case 3:
|
|
|
|
|
format = "ppm";
|
|
|
|
|
break;
|
|
|
|
|
case 4:
|
|
|
|
|
format = "pgm";
|
|
|
|
|
break;
|
|
|
|
|
case 5:
|
|
|
|
|
format = "pbm";
|
|
|
|
|
break;
|
|
|
|
|
case 6:
|
|
|
|
|
format = "tif";
|
|
|
|
|
break;
|
|
|
|
|
case 7:
|
|
|
|
|
format = "pdf";
|
|
|
|
|
break;
|
|
|
|
|
case 8:
|
|
|
|
|
format = "ofd";
|
|
|
|
|
break;
|
|
|
|
|
case 9:
|
|
|
|
|
format = "gif";
|
|
|
|
|
break;
|
|
|
|
|
case 10:
|
|
|
|
|
format = "pdf";
|
|
|
|
|
break;
|
|
|
|
|
case 11:
|
|
|
|
|
format = "ofd";
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
param.m_fileNameExt = format;
|
|
|
|
|
param.m_isOcr = (ui->cbox_format->currentIndex() >= 10);
|
|
|
|
|
|
|
|
|
|
param.m_isSaveAsMultiPage = ui->cbtn_multiFile->isChecked();
|
|
|
|
|
param.m_multiPagesType = (ui->radio_multiAll->isChecked()) ? 0 : 1;
|
|
|
|
|
param.m_customMultiPages = ui->spinBox_multiPages->value();
|
|
|
|
|
return param;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::setConfig(QString schemeName)
|
|
|
|
|
{
|
|
|
|
|
for (int i = 0; i < ui->comboBox_cfgScheme->count(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (ui->comboBox_cfgScheme->itemText(i) == schemeName)
|
|
|
|
|
{
|
|
|
|
|
setCfgBaseOnSection(schemeName);
|
|
|
|
|
saveCfgValue("aquire", "currentKeyName", schemeName);
|
|
|
|
|
saveCfgBaseOnSection(schemeName);
|
|
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString Dialog_AquireInto::getCurrentCfgName()
|
|
|
|
|
{
|
|
|
|
|
return getCfgValue("aquire", "currentKeyName", QString("aquire"));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::replaceCfgName(QString originName, QString newName)
|
|
|
|
|
{
|
|
|
|
|
HGChar cfgPath[512];
|
|
|
|
|
HGBase_GetConfigPath(cfgPath, 512);
|
|
|
|
|
strcat(cfgPath, "config.ini");
|
|
|
|
|
|
|
|
|
|
QString currentKeyName = getCurrentCfgName();
|
|
|
|
|
if (currentKeyName == originName)
|
|
|
|
|
{
|
|
|
|
|
saveCfgValue("aquire", "currentKeyName", newName);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
for (int i = 0; i < allCfgNameList.size(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (allCfgNameList[i] == originName)
|
|
|
|
|
{
|
|
|
|
|
allCfgNameList.replace(i, newName);
|
|
|
|
|
HGBase_RenameProfileSection(cfgPath, originName.toLocal8Bit().toStdString().c_str(), newName.toLocal8Bit().toStdString().c_str());
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
QString cfgNameList;
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
for (int j = 0; j < allCfgNameList.size(); ++j)
|
|
|
|
|
{
|
|
|
|
|
if (getCfgValue("aquire", "cfgNameList", QString("")).isEmpty())
|
|
|
|
|
{
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", allCfgNameList[j]);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
cfgNameList = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
cfgNameList.append(",").append(allCfgNameList[j]);
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", cfgNameList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::saveCfgBaseOnSection(QString section)
|
|
|
|
|
{
|
|
|
|
|
std::string section2 = section.toLocal8Bit().toStdString();
|
|
|
|
|
|
|
|
|
|
saveCfgValue(section2.c_str(), "aquireIntoPath", ui->lineEdit_directory->text());
|
|
|
|
|
saveCfgValue(section2.c_str(), "namePrefix", ui->lineEdit_fileName->text());
|
|
|
|
|
saveCfgValue(section2.c_str(), "subFolderByTime", ui->cbtn_subFolder->isChecked());
|
|
|
|
|
saveCfgValue(section2.c_str(), "subFolderByBlank", ui->cbtn_subFolderByBlank->isChecked());
|
|
|
|
|
saveCfgValue(section2.c_str(), "subFolderByColor", ui->cbtn_subFolderByColor->isChecked());
|
|
|
|
|
saveCfgValue(section2.c_str(), "startIndex", ui->spin_index->value());
|
|
|
|
|
saveCfgValue(section2.c_str(), "digit", ui->cbox_digit->currentIndex());
|
|
|
|
|
saveCfgValue(section2.c_str(), "evenOdd", ui->cbox_evenOdd->currentIndex());
|
|
|
|
|
saveCfgValue(section2.c_str(), "format", ui->cbox_format->currentIndex());
|
|
|
|
|
saveCfgValue(section2.c_str(), "multiFile", ui->cbtn_multiFile->isChecked());
|
|
|
|
|
saveCfgValue(section2.c_str(), "multiAll", ui->radio_multiAll->isChecked());
|
|
|
|
|
saveCfgValue(section2.c_str(), "multiPages", ui->spinBox_multiPages->value());
|
|
|
|
|
saveCfgValue(section2.c_str(), "multiCustom", ui->radio_multiCustom->isChecked());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::setCfgBaseOnSection(QString section)
|
|
|
|
|
{
|
|
|
|
|
HGChar aquireIntoPath[512];
|
|
|
|
|
HGBase_GetDocumentsPath(aquireIntoPath, 512);
|
|
|
|
|
HGChar procName[512];
|
|
|
|
|
HGBase_GetProcessName(procName, 512);
|
|
|
|
|
strcat(aquireIntoPath, procName);
|
|
|
|
|
strcat(aquireIntoPath, "/AquireInto/");
|
|
|
|
|
QString filePath = getStdFileName(StdStringToUtf8(aquireIntoPath).c_str());
|
|
|
|
|
|
|
|
|
|
std::string section2 = section.toLocal8Bit().toStdString();
|
|
|
|
|
|
|
|
|
|
ui->lineEdit_directory->setText(getCfgValue(section2.c_str(), "aquireIntoPath", filePath));
|
|
|
|
|
ui->cbtn_subFolder->setChecked(getCfgValue(section2.c_str(), "subFolderByTime", false));
|
|
|
|
|
ui->cbtn_subFolderByBlank->setChecked(getCfgValue(section2.c_str(), "subFolderByBlank", false));
|
|
|
|
|
ui->cbtn_subFolderByColor->setChecked(getCfgValue(section2.c_str(), "subFolderByColor", false));
|
|
|
|
|
#if defined(OEM_HANWANG)
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("HWScan")));
|
|
|
|
|
#elif defined(OEM_LISICHENG)
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("LXScan")));
|
|
|
|
|
#elif defined(OEM_CANGTIAN)
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("CTSScan")));
|
|
|
|
|
#elif defined(OEM_ZHONGJING)
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("ZJScan")));
|
|
|
|
|
#elif defined(OEM_ZIGUANG)
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("ZGScan")));
|
2023-05-25 08:54:37 +00:00
|
|
|
|
#elif defined(OEM_NEUTRAL)
|
2023-05-24 02:58:44 +00:00
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("Scan")));
|
|
|
|
|
#else
|
|
|
|
|
ui->lineEdit_fileName->setText(getCfgValue(section2.c_str(), "namePrefix", QString("HGScan")));
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
ui->spin_index->setValue(getCfgValue(section2.c_str(), "startIndex", 1));
|
|
|
|
|
ui->cbox_digit->setCurrentIndex(getCfgValue(section2.c_str(), "digit", 2));
|
|
|
|
|
ui->cbox_evenOdd->setCurrentIndex(getCfgValue(section2.c_str(), "evenOdd", 0));
|
|
|
|
|
int format = getCfgValue(section2.c_str(), "format", 0);
|
|
|
|
|
if (format > 9)
|
|
|
|
|
format = 0;
|
|
|
|
|
ui->cbox_format->setCurrentIndex(format);
|
|
|
|
|
ui->cbtn_multiFile->setChecked(format > 5 ? getCfgValue(section2.c_str(), "multiFile", false) : false);
|
|
|
|
|
ui->radio_multiAll->setChecked(getCfgValue(section2.c_str(), "multiAll", true));
|
|
|
|
|
ui->radio_multiCustom->setChecked(getCfgValue(section2.c_str(), "multiCustom", false));
|
|
|
|
|
ui->spinBox_multiPages->setValue(getCfgValue(section2.c_str(), "multiPages", 1));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_btn_directory_clicked()
|
|
|
|
|
{
|
|
|
|
|
QString save_dir = QFileDialog::getExistingDirectory(this, tr("Browse directory"), "");
|
|
|
|
|
if (!save_dir.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
if (save_dir[save_dir.size() - 1] != '/')
|
|
|
|
|
save_dir += "/";
|
|
|
|
|
ui->lineEdit_directory->setText(getStdFileName(save_dir));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_btn_option_clicked()
|
|
|
|
|
{
|
|
|
|
|
Dialog_WriteSettings dlg(ui->cbox_format->currentIndex(), this);
|
|
|
|
|
dlg.exec();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_cbox_format_currentIndexChanged(int index)
|
|
|
|
|
{
|
|
|
|
|
ui->cbtn_multiFile->setEnabled(index > 5 && index < 10);
|
|
|
|
|
if (index < 6 || index >= 10 )
|
|
|
|
|
ui->cbtn_multiFile->setChecked(false);
|
|
|
|
|
|
|
|
|
|
ui->btn_option->setEnabled(0 == index || 6 == index || 7 == index || 8 == index);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_lineEdit_directory_textChanged(const QString& arg1)
|
|
|
|
|
{
|
|
|
|
|
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!arg1.isEmpty());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_buttonBox_accepted()
|
|
|
|
|
{
|
|
|
|
|
QString currentCfgName = ui->comboBox_cfgScheme->currentText();
|
|
|
|
|
|
|
|
|
|
if (ui->comboBox_cfgScheme->currentIndex() != 0)
|
|
|
|
|
{
|
|
|
|
|
if (getCfgValue("aquire", "cfgNameList", QString("")).isEmpty())
|
|
|
|
|
{
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", currentCfgName);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
if (!allCfgNameList.contains(currentCfgName))
|
|
|
|
|
{
|
|
|
|
|
allCfgName.append(",").append(currentCfgName);
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", allCfgName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
saveCfgBaseOnSection(currentCfgName);
|
|
|
|
|
saveCfgValue("aquire", "currentKeyName", currentCfgName);
|
|
|
|
|
|
|
|
|
|
emit reloadAcquireIntoCfg();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_cbox_digit_currentIndexChanged(int index)
|
|
|
|
|
{
|
|
|
|
|
(void)index;
|
|
|
|
|
ui->lab_digitExp->setText(QString(tr("e.g. '%1%2'")).arg(ui->lineEdit_fileName->text()).
|
|
|
|
|
arg(ui->spin_index->value(), ui->cbox_digit->currentIndex() + 1, 10, QLatin1Char('0')));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_cbtn_multiFile_toggled(bool checked)
|
|
|
|
|
{
|
|
|
|
|
if (checked)
|
|
|
|
|
{
|
|
|
|
|
ui->spinBox_multiPages->setEnabled(ui->radio_multiCustom->isChecked());
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
ui->spinBox_multiPages->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ui->radio_multiAll->setEnabled(checked);
|
|
|
|
|
ui->radio_multiCustom->setEnabled(checked);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_radio_multiCustom_toggled(bool checked)
|
|
|
|
|
{
|
|
|
|
|
ui->spinBox_multiPages->setEnabled(checked && ui->cbtn_multiFile->isEnabled());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_lineEdit_fileName_textChanged(const QString &arg1)
|
|
|
|
|
{
|
|
|
|
|
(void)arg1;
|
|
|
|
|
ui->lab_digitExp->setText(QString(tr("e.g. '%1%2'")).arg(ui->lineEdit_fileName->text()).
|
|
|
|
|
arg(ui->spin_index->value(), ui->cbox_digit->currentIndex() + 1, 10, QLatin1Char('0')));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_spin_index_valueChanged(int arg1)
|
|
|
|
|
{
|
|
|
|
|
(void)arg1;
|
|
|
|
|
ui->lab_digitExp->setText(QString(tr("e.g. '%1%2'")).arg(ui->lineEdit_fileName->text()).
|
|
|
|
|
arg(ui->spin_index->value(), ui->cbox_digit->currentIndex() + 1, 10, QLatin1Char('0')));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_pbtn_changeName_clicked()
|
|
|
|
|
{
|
|
|
|
|
QString curCfgName = ui->comboBox_cfgScheme->currentText();
|
|
|
|
|
Dialog_Input dlg;
|
|
|
|
|
dlg.setEditText(curCfgName);
|
|
|
|
|
if (dlg.exec())
|
|
|
|
|
{
|
|
|
|
|
QString newCfgName = dlg.getText();
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ui->comboBox_cfgScheme->count(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (newCfgName == ui->comboBox_cfgScheme->itemText(i))
|
|
|
|
|
{
|
|
|
|
|
QMessageBox::information(this, tr("tips"), tr("The configuration scheme already exists"));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int count = ui->comboBox_cfgScheme->count();
|
|
|
|
|
for (int i = 0; i < count; ++i)
|
|
|
|
|
{
|
|
|
|
|
if (ui->comboBox_cfgScheme->itemText(i) == curCfgName)
|
|
|
|
|
{
|
|
|
|
|
ui->comboBox_cfgScheme->removeItem(i);
|
|
|
|
|
ui->comboBox_cfgScheme->insertItem(i, newCfgName);
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentText(newCfgName);
|
|
|
|
|
replaceCfgName(curCfgName, newCfgName);
|
|
|
|
|
setCfgBaseOnSection(newCfgName);
|
|
|
|
|
emit reloadAcquireIntoCfg();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_pbtn_delete_clicked()
|
|
|
|
|
{
|
|
|
|
|
HGChar cfgPath[512];
|
|
|
|
|
HGBase_GetConfigPath(cfgPath, 512);
|
|
|
|
|
strcat(cfgPath, "config.ini");
|
|
|
|
|
|
|
|
|
|
QString selectedCfgName = ui->comboBox_cfgScheme->currentText();
|
|
|
|
|
int count = ui->comboBox_cfgScheme->count();
|
|
|
|
|
for (int i = 0; i < count; ++i)
|
|
|
|
|
{
|
|
|
|
|
if (ui->comboBox_cfgScheme->itemText(i) == selectedCfgName)
|
|
|
|
|
{
|
|
|
|
|
ui->comboBox_cfgScheme->removeItem(i);
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
allCfgNameList.removeOne(selectedCfgName);
|
|
|
|
|
|
|
|
|
|
QString cfgNameList;
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
for (int j = 0; j < allCfgNameList.size(); ++j)
|
|
|
|
|
{
|
|
|
|
|
if (getCfgValue("aquire", "cfgNameList", QString("")).isEmpty())
|
|
|
|
|
{
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", allCfgNameList[j]);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
cfgNameList = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
cfgNameList.append(",").append(allCfgNameList[j]);
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", cfgNameList);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
HGBase_RemoveProfileSection(cfgPath, selectedCfgName.toLocal8Bit().toStdString().c_str());
|
|
|
|
|
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentIndex(0);
|
|
|
|
|
QString defaultScheme = ui->comboBox_cfgScheme->itemText(0);
|
|
|
|
|
saveCfgValue("aquire", "currentKeyName", defaultScheme);
|
|
|
|
|
setCfgBaseOnSection(defaultScheme);
|
|
|
|
|
|
|
|
|
|
emit reloadAcquireIntoCfg();
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_pbtn_deleteAll_clicked()
|
|
|
|
|
{
|
|
|
|
|
HGChar cfgPath[512];
|
|
|
|
|
HGBase_GetConfigPath(cfgPath, 512);
|
|
|
|
|
strcat(cfgPath, "config.ini");
|
|
|
|
|
|
|
|
|
|
ui->comboBox_cfgScheme->clear();
|
|
|
|
|
ui->comboBox_cfgScheme->addItem(tr("default scheme"));
|
|
|
|
|
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
for (int i = 0; i < allCfgNameList.size(); ++i)
|
|
|
|
|
{
|
|
|
|
|
std::string section = allCfgNameList[i].toLocal8Bit().toStdString();
|
|
|
|
|
HGBase_RemoveProfileSection(cfgPath, section.c_str());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentIndex(0);
|
|
|
|
|
QString defaultScheme = ui->comboBox_cfgScheme->itemText(0);
|
|
|
|
|
saveCfgValue("aquire", "currentKeyName", defaultScheme);
|
|
|
|
|
setCfgBaseOnSection(defaultScheme);
|
|
|
|
|
|
|
|
|
|
emit reloadAcquireIntoCfg();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_comboBox_cfgScheme_currentTextChanged(const QString &arg1)
|
|
|
|
|
{
|
|
|
|
|
ui->pbtn_changeName->setEnabled(true);
|
|
|
|
|
ui->pbtn_delete->setEnabled(true);
|
|
|
|
|
|
|
|
|
|
if (ui->comboBox_cfgScheme->currentIndex() == 0)
|
|
|
|
|
{
|
|
|
|
|
ui->pbtn_changeName->setEnabled(false);
|
|
|
|
|
ui->pbtn_delete->setEnabled(false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
setCfgBaseOnSection(arg1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_pbtn_foundScheme_clicked()
|
|
|
|
|
{
|
|
|
|
|
QString cfgName = getCurrentCfgName();
|
|
|
|
|
if(cfgName.isEmpty())
|
|
|
|
|
{
|
|
|
|
|
cfgName = ui->comboBox_cfgScheme->currentText();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Dialog_Input dlg;
|
|
|
|
|
dlg.setEditText(cfgName);
|
|
|
|
|
if (dlg.exec())
|
|
|
|
|
{
|
|
|
|
|
cfgName = dlg.getText();
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < ui->comboBox_cfgScheme->count(); ++i)
|
|
|
|
|
{
|
|
|
|
|
if (cfgName == ui->comboBox_cfgScheme->itemText(i))
|
|
|
|
|
{
|
|
|
|
|
QMessageBox::information(this, tr("tips"), tr("The configuration scheme already exists"));
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ui->comboBox_cfgScheme->addItem(cfgName);
|
|
|
|
|
|
|
|
|
|
if (getCfgValue("aquire", "cfgNameList", QString("")).isEmpty())
|
|
|
|
|
{
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", cfgName);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
QString allCfgName = getCfgValue("aquire", "cfgNameList", QString(""));
|
|
|
|
|
QStringList allCfgNameList = allCfgName.split(",");
|
|
|
|
|
if (!allCfgNameList.contains(cfgName))
|
|
|
|
|
{
|
|
|
|
|
allCfgName.append(",").append(cfgName);
|
|
|
|
|
saveCfgValue("aquire", "cfgNameList", allCfgName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
saveCfgBaseOnSection(cfgName);
|
|
|
|
|
setCfgBaseOnSection(cfgName);
|
|
|
|
|
ui->comboBox_cfgScheme->setCurrentText(cfgName);
|
|
|
|
|
emit reloadAcquireIntoCfg();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void Dialog_AquireInto::on_pbtn_restore_clicked()
|
|
|
|
|
{
|
|
|
|
|
setCfgBaseOnSection(QString(""));
|
|
|
|
|
}
|