解决三方调用showUI,扫描完成后设置界面没有关闭的问题
This commit is contained in:
parent
f3989426bb
commit
11175fa485
|
@ -38,6 +38,7 @@ hg_settingdialog::hg_settingdialog(class Manager *mgr, SANE_Handle handle, const
|
||||||
, cur_cfg_(cfg)
|
, cur_cfg_(cfg)
|
||||||
, m_isMultiOutMode(false)
|
, m_isMultiOutMode(false)
|
||||||
, m_isScanning(false)
|
, m_isScanning(false)
|
||||||
|
, m_isAutoFinish(false)
|
||||||
{
|
{
|
||||||
m_mgr = mgr;
|
m_mgr = mgr;
|
||||||
|
|
||||||
|
@ -95,8 +96,14 @@ hg_settingdialog::~hg_settingdialog()
|
||||||
//cur_cfg_->release();
|
//cur_cfg_->release();
|
||||||
m_mgr->m_settingUi = NULL;
|
m_mgr->m_settingUi = NULL;
|
||||||
|
|
||||||
if(!quit_)
|
if (m_isAutoFinish)
|
||||||
|
{
|
||||||
|
m_callback(UI_RESULT_CLOSE_NORMAL);
|
||||||
|
}
|
||||||
|
else if (!quit_)
|
||||||
|
{
|
||||||
m_callback(UI_RESULT_CLOSE_SETTING);
|
m_callback(UI_RESULT_CLOSE_SETTING);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hg_settingdialog::apply_scheme(SANE_Handle dev, LPSANEAPI api, gb::sane_config_schm* schm)
|
void hg_settingdialog::apply_scheme(SANE_Handle dev, LPSANEAPI api, gb::sane_config_schm* schm)
|
||||||
|
@ -1210,16 +1217,22 @@ void hg_settingdialog::updateUIStatus()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hg_settingdialog::on_scan_status(QString info, bool status)
|
void hg_settingdialog::on_scan_status(QString info, bool isScanning)
|
||||||
{
|
{
|
||||||
if (!info.isEmpty())
|
if (!info.isEmpty())
|
||||||
{
|
{
|
||||||
QMessageBox::information(this, tr("Prompt"), info);
|
QMessageBox::information(this, tr("Prompt"), info);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_isScanning = status;
|
m_isScanning = isScanning;
|
||||||
this->setEnabled(!status);
|
this->setEnabled(!isScanning);
|
||||||
setAttribute(Qt::WA_DeleteOnClose, !status);
|
setAttribute(Qt::WA_DeleteOnClose, !isScanning);
|
||||||
|
|
||||||
|
if (!isScanning)
|
||||||
|
{
|
||||||
|
m_isAutoFinish = true;
|
||||||
|
close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void hg_settingdialog::slot_checkedClicked()
|
void hg_settingdialog::slot_checkedClicked()
|
||||||
|
|
|
@ -137,10 +137,10 @@ private:
|
||||||
QVector<QWidget*> m_list_widgets;
|
QVector<QWidget*> m_list_widgets;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void scan_status(QString info, bool status);
|
void scan_status(QString info, bool isScanning);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_scan_status(QString info, bool status);
|
void on_scan_status(QString info, bool isScanning);
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void slot_checkedClicked();
|
void slot_checkedClicked();
|
||||||
|
@ -187,6 +187,7 @@ private:
|
||||||
bool m_isRefreshUi;
|
bool m_isRefreshUi;
|
||||||
bool m_isMultiOutMode;
|
bool m_isMultiOutMode;
|
||||||
bool m_isScanning;
|
bool m_isScanning;
|
||||||
|
bool m_isAutoFinish;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // HG_SETTING_DIALOG_H
|
#endif // HG_SETTING_DIALOG_H
|
||||||
|
|
Loading…
Reference in New Issue