scantool设备配置对话框实现互斥功能
This commit is contained in:
parent
1b2940efd8
commit
815e90a133
File diff suppressed because it is too large
Load Diff
|
@ -30,18 +30,33 @@ struct DeviceConfigEx
|
|||
{
|
||||
DeviceConfigEx()
|
||||
{
|
||||
label = nullptr;
|
||||
ctrl = nullptr;
|
||||
ctrlWidget = nullptr;
|
||||
id = -1;
|
||||
name.clear();
|
||||
title.clear();
|
||||
|
||||
valueType = 0;
|
||||
stringValue.clear();
|
||||
intValue = 0;
|
||||
doubleValue = 0;
|
||||
boolValue = false;
|
||||
|
||||
rangeType = 0;
|
||||
stringValueList.clear();
|
||||
intValueList.clear();
|
||||
doubleValueList.clear();
|
||||
intValueMin = 0;
|
||||
intValueMax = 0;
|
||||
doubleValueMin = 0;
|
||||
doubleValueMax = 0;
|
||||
}
|
||||
|
||||
// 控件
|
||||
QWidget *label;
|
||||
QWidget *ctrl;
|
||||
QWidget *ctrlWidget;
|
||||
// 配置名
|
||||
int id;
|
||||
std::string name;
|
||||
|
@ -82,22 +97,29 @@ public:
|
|||
std::vector<DeviceConfig> GetDeviceConfigs();
|
||||
|
||||
private:
|
||||
virtual bool eventFilter(QObject *target, QEvent *event) override;
|
||||
void Init(const std::vector<DeviceConfig>& deviceConfigs);
|
||||
void Update(int ignoreId);
|
||||
|
||||
void Init();
|
||||
void Update(const std::vector<DeviceConfig>& deviceConfigs);
|
||||
void UpdateControls();
|
||||
protected:
|
||||
virtual bool eventFilter(QObject *target, QEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void on_defaultBtn_clicked();
|
||||
void on_sliderClicked(int value);
|
||||
void on_string_list_comboBoxClicked();
|
||||
void on_int_list_comboBoxClicked();
|
||||
void on_double_list_comboBoxClicked();
|
||||
void on_int_sliderClicked(int value);
|
||||
void on_double_sliderClicked(int value);
|
||||
void on_relate_spinBoxClicked(int value);
|
||||
void on_relate_doubleSpinboxClicked(double value);
|
||||
void on_string_comboBoxClicked();
|
||||
void on_spinBoxClicked(int value);
|
||||
void on_doubleSpinboxClicked(double value);
|
||||
void on_checkedClicked();
|
||||
|
||||
private:
|
||||
SANE_Handle m_devHandle;
|
||||
std::vector<DeviceConfigsGroup> m_baseDeviceConfigsGroups;
|
||||
std::vector<DeviceConfig> m_defDeviceConfigs; // 默认配置值
|
||||
std::vector<DeviceConfigsGroup> m_deviceConfigsGroups; // 当前配置信息
|
||||
};
|
||||
|
||||
#endif // FORM_DEVICECONFIG_H
|
||||
|
|
|
@ -231,7 +231,6 @@ void MainWindow::StartScan(unsigned int buttonId)
|
|||
}
|
||||
|
||||
// 1.恢复默认
|
||||
|
||||
SANE_Int num_dev_options = 0;
|
||||
sane_control_option(m_devHandle, 0, SANE_ACTION_GET_VALUE, &num_dev_options, NULL);
|
||||
for (int i = 1; i < num_dev_options; ++i)
|
||||
|
@ -252,7 +251,6 @@ void MainWindow::StartScan(unsigned int buttonId)
|
|||
}
|
||||
|
||||
// 2.设置新的属性
|
||||
|
||||
for (int i = 0; i < (int)scanParam.deviceConfigs.size(); ++i)
|
||||
{
|
||||
for (int j = 1; j < num_dev_options; ++j)
|
||||
|
@ -293,7 +291,6 @@ void MainWindow::StartScan(unsigned int buttonId)
|
|||
}
|
||||
|
||||
// 3. 获取DPI
|
||||
|
||||
for (int i = 1; i < num_dev_options; ++i)
|
||||
{
|
||||
const SANE_Option_Descriptor* desp = sane_get_option_descriptor(m_devHandle, i);
|
||||
|
|
Loading…
Reference in New Issue