From 420027a319b46be01cf7117cdbbd806702fbcc36 Mon Sep 17 00:00:00 2001
From: yangjiaxuan <171295266@qq.com>
Date: Mon, 19 Jun 2023 14:48:58 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E7=95=8C=E9=9D=A2=E5=8F=8A?=
=?UTF-8?q?=E6=97=B6=E5=88=B7=E6=96=B0=E6=8E=A7=E4=BB=B6=E7=9A=84=E5=80=BC?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/scanner2/dialog_multirotate.ui | 16 +---
modules/saneui/hg_settingdialog.cpp | 107 +++++++++++++++++---------
modules/twainui/hg_settingdialog.cpp | 111 ++++++++++++++++++---------
3 files changed, 149 insertions(+), 85 deletions(-)
diff --git a/app/scanner2/dialog_multirotate.ui b/app/scanner2/dialog_multirotate.ui
index 3501b546..eae6155e 100644
--- a/app/scanner2/dialog_multirotate.ui
+++ b/app/scanner2/dialog_multirotate.ui
@@ -6,22 +6,10 @@
0
0
- 350
- 250
+ 414
+ 261
-
-
- 350
- 250
-
-
-
-
- 350
- 250
-
-
Multiple rotation
diff --git a/modules/saneui/hg_settingdialog.cpp b/modules/saneui/hg_settingdialog.cpp
index fdb082ed..6f43d06c 100644
--- a/modules/saneui/hg_settingdialog.cpp
+++ b/modules/saneui/hg_settingdialog.cpp
@@ -118,6 +118,7 @@ void hg_settingdialog::updateOpt()
bool first = true;
m_list_defaultOptions.clear();
+ m_list_getOpt.clear();
SANE_Int dev_options = 0;
m_saneAPI.sane_control_option_api(m_devHandle, 0, SANE_ACTION_GET_VALUE, &dev_options, nullptr);
@@ -137,6 +138,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -151,6 +153,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -165,6 +168,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -180,6 +184,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, init, &method);
QString str = QString::fromStdString(init);
m_list_defaultOptions.append(QPair(opt, QVariant(QString::fromStdString(init))));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -194,6 +199,7 @@ void hg_settingdialog::updateOpt()
else
{
m_list_defaultOptions.append(QPair(opt, QVariant(0)));
+ m_list_getOpt.append(QPair(i, opt));
}
}
}
@@ -752,6 +758,16 @@ void hg_settingdialog::refresh_control_value(int op_id)
char buf[40] = {0};
sprintf(buf, "%d", m_list_defaultOptions.at(op_id - 1).second.toInt());
comb->disconnect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
+
+ auto p_str = opt->constraint.word_list;
+ char buf2[20];
+ comb->clear();
+ for (SANE_Int i = 0; i < p_str[0]; ++i)
+ {
+ sprintf(buf2, "%d", p_str[i + 1]);
+ comb->addItem(QString::fromStdString(buf2));
+ }
+
comb->setCurrentText(QString::fromStdString(buf));
connect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
}
@@ -823,6 +839,22 @@ void hg_settingdialog::refresh_control_value(int op_id)
if(comb)
{
disconnect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
+
+ comb->clear();
+ auto p_str = opt->constraint.string_list;
+ QStringList stringList;
+ while (*p_str)
+ {
+ stringList.append(*p_str);
+ p_str++;
+ }
+
+ if (stringList.isEmpty() != true)
+ {
+ for (int i = 0; i < (stringList.size()); i++)
+ comb->addItem(stringList.at(i));
+ }
+
comb->setCurrentText(m_list_defaultOptions.at(op_id - 1).second.toString());
// comb->setProperty(hg_settingdialog::property_combox_data_type_.c_str(), COMBO_VAL_STRING);
connect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
@@ -912,15 +944,7 @@ void hg_settingdialog::slot_checkedClicked()
SANE_Int id = checkBox->property("controls_id").toInt();
SANE_Bool checkBoxcurrentState = checkBox->isChecked();
- const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
-
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, checkBoxcurrentState), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, checkBoxcurrentState), md5(opt->title)));
SANE_Int method = 0;
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &checkBoxcurrentState, &method);
@@ -937,6 +961,15 @@ void hg_settingdialog::slot_checkedClicked()
else if(method & SANE_INFO_INEXACT)
checkBox->setCheckState(checkBoxcurrentState ? Qt::CheckState::Checked : Qt::CheckState::Unchecked);
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
+ if (m_list_getOpt.at(i).first == id)
+ {
+ opt = reinterpret_cast(m_list_getOpt.at(i).second);
+ break;
+ }
+ }
+
if(strcmp(opt->name, SANE_STD_OPT_NAME_CUSTOM_AREA) == 0)
btn_cut_area_->setEnabled(checkBoxcurrentState);
else if (strcmp(opt->name, SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA) == 0)
@@ -968,14 +1001,16 @@ void hg_settingdialog::slot_string_list_comboBoxClicked()
}
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
+ }
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
SANE_Int method = 0;
SANE_String buf = (SANE_String)malloc(opt->size * 2 + 4);
@@ -1242,13 +1277,15 @@ void hg_settingdialog::slot_word_list_comboBoxClicked(int value)
SANE_Int temp = value;
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+ }
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
SANE_Int method = 0;
@@ -1279,21 +1316,15 @@ void hg_settingdialog::slot_sliderClicked(int value)
QSlider *slider = qobject_cast(sender());
SANE_Int id = slider->property("controls_id").toInt();
- const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
-
QAbstractSpinBox* spin = nullptr;
for(int i = 0; i < m_list_sliderSpinbox.size(); i++)
- if (m_list_sliderSpinbox.at(i).first == slider)
+ {
+ if (m_list_sliderSpinbox.at(i).first == slider)
{
spin = reinterpret_cast(m_list_sliderSpinbox.at(i).second);
break;
}
+ }
if (spin != nullptr)
{
@@ -1304,7 +1335,7 @@ void hg_settingdialog::slot_sliderClicked(int value)
QSpinBox* spin_ = reinterpret_cast(spin);
spin_->setValue(value);
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, val), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, val), md5(opt->title)));
}
else
{
@@ -1316,7 +1347,7 @@ void hg_settingdialog::slot_sliderClicked(int value)
val = SANE_FIX(temp);
db_val = true;
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
}
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &val, &method);
if (ret == SANE_STATUS_UNSUPPORTED)
@@ -1382,14 +1413,6 @@ void hg_settingdialog::slot_spinBoxClicked(int value)
QSpinBox* spinBox = qobject_cast(sender());
int id = spinBox->property("controls_id").toInt();
- const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
-
QAbstractSlider* slider = nullptr;
for (int i = 0; i < m_list_sliderSpinbox.size(); i++)
if (m_list_sliderSpinbox.at(i).second == spinBox)
@@ -1401,7 +1424,7 @@ void hg_settingdialog::slot_spinBoxClicked(int value)
{
SANE_Int temp = value;
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
SANE_Int method = 0;
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &temp, &method);
@@ -1433,14 +1456,16 @@ void hg_settingdialog::slot_lineEditInput()
std::string lineEditCurrentText(lineEdit->text().toUtf8());
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
+ }
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, &lineEditCurrentText.at(0)), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, &lineEditCurrentText.at(0)), md5(opt->title)));
SANE_Int method = 0;
void *buf = NULL;
@@ -1479,8 +1504,18 @@ void hg_settingdialog::slot_lineEditInput()
v = (char*)buf;
lineEdit->setText(QString::fromStdString(v));
}
+
+ const SANE_Option_Descriptor* opt2 = nullptr;
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
+ if (m_list_getOpt.at(i).first == id)
+ {
+ opt2 = reinterpret_cast(m_list_getOpt.at(i).second);
+ break;
+ }
+ }
- if(opt->type == SANE_TYPE_INT || opt->type == SANE_TYPE_FIXED)
+ if(opt2->type == SANE_TYPE_INT || opt2->type == SANE_TYPE_FIXED)
{
cur_scheme_->config_changed(id, (char*)buf, sizeof(SANE_Int));
}
diff --git a/modules/twainui/hg_settingdialog.cpp b/modules/twainui/hg_settingdialog.cpp
index 7c678f7d..244f54d4 100644
--- a/modules/twainui/hg_settingdialog.cpp
+++ b/modules/twainui/hg_settingdialog.cpp
@@ -153,6 +153,7 @@ void hg_settingdialog::updateOpt()
bool first = true;
m_list_defaultOptions.clear();
+ m_list_getOpt.clear();
SANE_Int dev_options = 0;
m_saneAPI.sane_control_option_api(m_devHandle, 0, SANE_ACTION_GET_VALUE, &dev_options, nullptr);
@@ -172,6 +173,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -186,6 +188,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -200,6 +203,7 @@ void hg_settingdialog::updateOpt()
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, &init, &method);
m_list_defaultOptions.append(QPair(opt, QVariant(init)));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -213,8 +217,8 @@ void hg_settingdialog::updateOpt()
char *init = (char*)malloc(opt->size * 2 + 4);
m_saneAPI.sane_control_option_api(m_devHandle, i, SANE_ACTION_GET_VALUE, init, &method);
- QString str = QString::fromStdString(init);
m_list_defaultOptions.append(QPair(opt, QVariant(QString::fromStdString(init))));
+ m_list_getOpt.append(QPair(i, opt));
if(first)
{
@@ -229,6 +233,7 @@ void hg_settingdialog::updateOpt()
else
{
m_list_defaultOptions.append(QPair(opt, QVariant(0)));
+ m_list_getOpt.append(QPair(i, opt));
}
}
}
@@ -796,6 +801,16 @@ void hg_settingdialog::refresh_control_value(int op_id)
char buf[40] = {0};
sprintf(buf, "%d", m_list_defaultOptions.at(op_id - 1).second.toInt());
comb->disconnect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
+
+ auto p_str = opt->constraint.word_list;
+ char buf2[20];
+ comb->clear();
+ for (SANE_Int i = 0; i < p_str[0]; ++i)
+ {
+ sprintf(buf2, "%d", p_str[i + 1]);
+ comb->addItem(QString::fromStdString(buf2));
+ }
+
comb->setCurrentText(QString::fromStdString(buf));
connect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
}
@@ -867,6 +882,22 @@ void hg_settingdialog::refresh_control_value(int op_id)
if(comb)
{
disconnect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
+
+ comb->clear();
+ auto p_str = opt->constraint.string_list;
+ QStringList stringList;
+ while (*p_str)
+ {
+ stringList.append(*p_str);
+ p_str++;
+ }
+
+ if (stringList.isEmpty() != true)
+ {
+ for (int i = 0; i < (stringList.size()); i++)
+ comb->addItem(stringList.at(i));
+ }
+
comb->setCurrentText(m_list_defaultOptions.at(op_id - 1).second.toString());
// comb->setProperty(hg_settingdialog::property_combox_data_type_.c_str(), COMBO_VAL_STRING);
connect(comb, SIGNAL(currentTextChanged(const QString)), this, SLOT(slot_string_list_comboBoxClicked()));
@@ -956,15 +987,7 @@ void hg_settingdialog::slot_checkedClicked()
SANE_Int id = checkBox->property("controls_id").toInt();
SANE_Bool checkBoxcurrentState = checkBox->isChecked();
- const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
-
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, checkBoxcurrentState), md5(opt->title)));
+// //m_list_IdValueTitle.append(QPair, QString>(QPair(id, checkBoxcurrentState), md5(opt->title)));
SANE_Int method = 0;
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &checkBoxcurrentState, &method);
@@ -982,6 +1005,16 @@ void hg_settingdialog::slot_checkedClicked()
else if(method & SANE_INFO_INEXACT)
checkBox->setCheckState(checkBoxcurrentState ? Qt::CheckState::Checked : Qt::CheckState::Unchecked);
+ const SANE_Option_Descriptor* opt = nullptr;
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
+ if (m_list_getOpt.at(i).first == id)
+ {
+ opt = reinterpret_cast(m_list_getOpt.at(i).second);
+ break;
+ }
+ }
+
if(strcmp(opt->name, SANE_STD_OPT_NAME_CUSTOM_AREA) == 0)
btn_cut_area_->setEnabled(checkBoxcurrentState);
else if (strcmp(opt->name, SANE_STD_OPT_NAME_IS_CUSTOM_GAMMA) == 0)
@@ -1013,14 +1046,16 @@ void hg_settingdialog::slot_string_list_comboBoxClicked()
}
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
+ }
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
SANE_Int method = 0;
SANE_String buf = (SANE_String)malloc(opt->size * 2 + 4);
@@ -1290,14 +1325,16 @@ void hg_settingdialog::slot_word_list_comboBoxClicked(int value)
SANE_Int temp = value;
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+ }
+// m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
SANE_Int method = 0;
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &temp, &method);
@@ -1329,14 +1366,6 @@ void hg_settingdialog::slot_sliderClicked(int value)
QSlider *slider = qobject_cast(sender());
SANE_Int id = slider->property("controls_id").toInt();
- const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
-
QAbstractSpinBox* spin = nullptr;
for(int i = 0; i < m_list_sliderSpinbox.size(); i++)
if (m_list_sliderSpinbox.at(i).first == slider)
@@ -1354,7 +1383,7 @@ void hg_settingdialog::slot_sliderClicked(int value)
QSpinBox* spin_ = reinterpret_cast(spin);
spin_->setValue(value);
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, val), md5(opt->title)));
+// //m_list_IdValueTitle.append(QPair, QString>(QPair(id, val), md5(opt->title)));
}
else
{
@@ -1366,7 +1395,7 @@ void hg_settingdialog::slot_sliderClicked(int value)
val = SANE_FIX(temp);
db_val = true;
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+ ////m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
}
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &val, &method);
if (ret == SANE_STATUS_UNSUPPORTED)
@@ -1383,7 +1412,7 @@ void hg_settingdialog::slot_sliderClicked(int value)
ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_GET_VALUE, &value, &method);
slider->setValue(value);
}
-
+
QMessageBox::information(this, tr("Prompt"), tr("The funtion is unsupported"));
return;
}
@@ -1415,11 +1444,14 @@ void hg_settingdialog::slot_doubleSpinboxClicked(double value)
QAbstractSlider* slider = nullptr;
int id = spinBox->property("controls_id").toInt();
for (int i = 0; i < m_list_sliderSpinbox.size(); i++)
+ {
if (m_list_sliderSpinbox.at(i).second == spinBox)
{
slider = reinterpret_cast(m_list_sliderSpinbox.at(i).first);
break;
}
+ }
+
if(slider != nullptr)
{
int temp = static_cast(value / spinBox->singleStep() + 0.5);
@@ -1435,25 +1467,22 @@ void hg_settingdialog::slot_spinBoxClicked(int value)
int id = spinBox->property("controls_id").toInt();
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
- if (m_list_getOpt.at(i).first == id)
- {
- opt = reinterpret_cast(m_list_getOpt.at(i).second);
- break;
- }
QAbstractSlider* slider = nullptr;
for (int i = 0; i < m_list_sliderSpinbox.size(); i++)
+ {
if (m_list_sliderSpinbox.at(i).second == spinBox)
{
slider = reinterpret_cast(m_list_sliderSpinbox.at(i).first);
break;
}
+ }
+
if(slider == nullptr)
{
SANE_Int temp = value;
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
+ //m_list_IdValueTitle.append(QPair, QString>(QPair(id, temp), md5(opt->title)));
SANE_Int method = 0;
SANE_Status ret = m_saneAPI.sane_control_option_api(m_devHandle, id, SANE_ACTION_SET_VALUE, &temp, &method);
@@ -1485,14 +1514,16 @@ void hg_settingdialog::slot_lineEditInput()
std::string lineEditCurrentText(lineEdit->text().toUtf8());
const SANE_Option_Descriptor* opt = nullptr;
- for(int i = 0; i < m_list_getOpt.size(); i++)
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
if (m_list_getOpt.at(i).first == id)
{
opt = reinterpret_cast(m_list_getOpt.at(i).second);
break;
}
+ }
- m_list_IdValueTitle.append(QPair, QString>(QPair(id, &lineEditCurrentText.at(0)), md5(opt->title)));
+ //m_list_IdValueTitle.append(QPair, QString>(QPair(id, &lineEditCurrentText.at(0)), md5(opt->title)));
SANE_Int method = 0;
void *buf = NULL;
@@ -1532,7 +1563,17 @@ void hg_settingdialog::slot_lineEditInput()
lineEdit->setText(QString::fromStdString(v));
}
- if(opt->type == SANE_TYPE_INT || opt->type == SANE_TYPE_FIXED)
+ const SANE_Option_Descriptor* opt2 = nullptr;
+ for (int i = 0; i < m_list_getOpt.size(); i++)
+ {
+ if (m_list_getOpt.at(i).first == id)
+ {
+ opt2 = reinterpret_cast(m_list_getOpt.at(i).second);
+ break;
+ }
+ }
+
+ if(opt2->type == SANE_TYPE_INT || opt2->type == SANE_TYPE_FIXED)
{
cur_scheme_->config_changed(id, (char*)buf, sizeof(SANE_Int));
}