解决三方调用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)
|
||||
, m_isMultiOutMode(false)
|
||||
, m_isScanning(false)
|
||||
, m_isAutoFinish(false)
|
||||
{
|
||||
m_mgr = mgr;
|
||||
|
||||
|
@ -95,8 +96,14 @@ hg_settingdialog::~hg_settingdialog()
|
|||
//cur_cfg_->release();
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
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())
|
||||
{
|
||||
QMessageBox::information(this, tr("Prompt"), info);
|
||||
}
|
||||
|
||||
m_isScanning = status;
|
||||
this->setEnabled(!status);
|
||||
setAttribute(Qt::WA_DeleteOnClose, !status);
|
||||
m_isScanning = isScanning;
|
||||
this->setEnabled(!isScanning);
|
||||
setAttribute(Qt::WA_DeleteOnClose, !isScanning);
|
||||
|
||||
if (!isScanning)
|
||||
{
|
||||
m_isAutoFinish = true;
|
||||
close();
|
||||
}
|
||||
}
|
||||
|
||||
void hg_settingdialog::slot_checkedClicked()
|
||||
|
|
|
@ -137,10 +137,10 @@ private:
|
|||
QVector<QWidget*> m_list_widgets;
|
||||
|
||||
signals:
|
||||
void scan_status(QString info, bool status);
|
||||
void scan_status(QString info, bool isScanning);
|
||||
|
||||
private slots:
|
||||
void on_scan_status(QString info, bool status);
|
||||
void on_scan_status(QString info, bool isScanning);
|
||||
|
||||
private slots:
|
||||
void slot_checkedClicked();
|
||||
|
@ -187,6 +187,7 @@ private:
|
|||
bool m_isRefreshUi;
|
||||
bool m_isMultiOutMode;
|
||||
bool m_isScanning;
|
||||
bool m_isAutoFinish;
|
||||
};
|
||||
|
||||
#endif // HG_SETTING_DIALOG_H
|
||||
|
|
Loading…
Reference in New Issue