设置界面及时刷新控件的值
This commit is contained in:
parent
96ec34479c
commit
420027a319
|
@ -6,22 +6,10 @@
|
|||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>350</width>
|
||||
<height>250</height>
|
||||
<width>414</width>
|
||||
<height>261</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="minimumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>250</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="maximumSize">
|
||||
<size>
|
||||
<width>350</width>
|
||||
<height>250</height>
|
||||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Multiple rotation</string>
|
||||
</property>
|
||||
|
|
|
@ -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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(QString::fromStdString(init))));
|
||||
m_list_getOpt.append(QPair<int, const void*>(i, opt));
|
||||
|
||||
if(first)
|
||||
{
|
||||
|
@ -194,6 +199,7 @@ void hg_settingdialog::updateOpt()
|
|||
else
|
||||
{
|
||||
m_list_defaultOptions.append(QPair<const void*, QVariant>(opt, QVariant(0)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, checkBoxcurrentState), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
}
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
|
||||
|
||||
SANE_Int method = 0;
|
||||
|
@ -1279,21 +1316,15 @@ void hg_settingdialog::slot_sliderClicked(int value)
|
|||
QSlider *slider = qobject_cast<QSlider*>(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<const SANE_Option_Descriptor*>(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<QAbstractSpinBox*>(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<QSpinBox*>(spin);
|
||||
spin_->setValue(value);
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, val), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<QSpinBox*>(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<const SANE_Option_Descriptor*>(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<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, &lineEditCurrentText.at(0)), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(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));
|
||||
}
|
||||
|
|
|
@ -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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(init)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const void*, QVariant>(opt, QVariant(QString::fromStdString(init))));
|
||||
m_list_getOpt.append(QPair<int, const void*>(i, opt));
|
||||
|
||||
if(first)
|
||||
{
|
||||
|
@ -229,6 +233,7 @@ void hg_settingdialog::updateOpt()
|
|||
else
|
||||
{
|
||||
m_list_defaultOptions.append(QPair<const void*, QVariant>(opt, QVariant(0)));
|
||||
m_list_getOpt.append(QPair<int, const void*>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, checkBoxcurrentState), md5(opt->title)));
|
||||
// //m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, &comboBoxcurrentItem.at(0)), md5(opt->title)));
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
}
|
||||
|
||||
// m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<QSlider*>(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<const SANE_Option_Descriptor*>(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<QSpinBox*>(spin);
|
||||
spin_->setValue(value);
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, val), md5(opt->title)));
|
||||
// //m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
////m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<QAbstractSlider*>(m_list_sliderSpinbox.at(i).first);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(slider != nullptr)
|
||||
{
|
||||
int temp = static_cast<int>(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<const SANE_Option_Descriptor*>(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<QAbstractSlider*>(m_list_sliderSpinbox.at(i).first);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(slider == nullptr)
|
||||
{
|
||||
SANE_Int temp = value;
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, temp), md5(opt->title)));
|
||||
//m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(m_list_getOpt.at(i).second);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(id, &lineEditCurrentText.at(0)), md5(opt->title)));
|
||||
//m_list_IdValueTitle.append(QPair<QPair<int, QVariant>, QString>(QPair<int, QVariant>(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<const SANE_Option_Descriptor*>(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));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue