解决按键扫描工具文件夹窗口异常问题;BUG-1266

This commit is contained in:
yangjiaxuan 2024-08-24 11:03:53 +08:00
parent f13343a568
commit 2407b9a5cb
3 changed files with 12 additions and 25 deletions

View File

@ -9,7 +9,6 @@ Form_SaveParam::Form_SaveParam(const SaveParam &saveParam, QWidget *parent)
: QWidget(parent) : QWidget(parent)
, ui(new Ui::Form_SaveParam) , ui(new Ui::Form_SaveParam)
, m_writeSettingsDlg(nullptr) , m_writeSettingsDlg(nullptr)
, m_qFileDialog(nullptr)
{ {
ui->setupUi(this); ui->setupUi(this);
@ -58,7 +57,6 @@ Form_SaveParam::Form_SaveParam(const SaveParam &saveParam, QWidget *parent)
Form_SaveParam::~Form_SaveParam() Form_SaveParam::~Form_SaveParam()
{ {
assert(nullptr == m_writeSettingsDlg); assert(nullptr == m_writeSettingsDlg);
assert(nullptr == m_qFileDialog);
delete ui; delete ui;
} }
@ -207,34 +205,19 @@ void Form_SaveParam::on_closeDevice()
{ {
if (nullptr != m_writeSettingsDlg) if (nullptr != m_writeSettingsDlg)
m_writeSettingsDlg->reject(); m_writeSettingsDlg->reject();
if (nullptr != m_qFileDialog)
m_qFileDialog->reject();
} }
void Form_SaveParam::on_btn_directory_clicked() void Form_SaveParam::on_btn_directory_clicked()
{ {
assert(nullptr == m_qFileDialog); QString save_dir = QFileDialog::getExistingDirectory(this, tr("Browse directory"), "");
m_qFileDialog = new QFileDialog(this); if (!save_dir.isEmpty())
m_qFileDialog->setFileMode(QFileDialog::Directory);
m_qFileDialog->setViewMode(QFileDialog::Detail);
m_qFileDialog->setWindowTitle("Browse directory");
m_qFileDialog->setDirectory(ui->lineEdit_directory->text());
if (m_qFileDialog->exec())
{ {
QString save_dir = m_qFileDialog->directory().absolutePath(); if (save_dir[save_dir.size() - 1] != '/')
if (!save_dir.isEmpty()) save_dir += "/";
{ char result[512] = {0};
if (save_dir[save_dir.size() - 1] != '/') HGBase_StandardiseFileName(save_dir.toStdString().c_str(), result, 512);
save_dir += "/"; ui->lineEdit_directory->setText(QString::fromStdString(result));
char result[512] = {0};
HGBase_StandardiseFileName(save_dir.toStdString().c_str(), result, 512);
ui->lineEdit_directory->setText(QString::fromStdString(result));
}
} }
delete m_qFileDialog;
m_qFileDialog = nullptr;
} }
void Form_SaveParam::on_btn_option_clicked() void Form_SaveParam::on_btn_option_clicked()

View File

@ -70,7 +70,6 @@ private:
Ui::Form_SaveParam *ui; Ui::Form_SaveParam *ui;
WriteParam m_writeParam; WriteParam m_writeParam;
Dialog_WriteSettings *m_writeSettingsDlg; Dialog_WriteSettings *m_writeSettingsDlg;
QFileDialog *m_qFileDialog;
}; };
#endif // FORM_SAVEPARAM_H #endif // FORM_SAVEPARAM_H

View File

@ -1471,6 +1471,11 @@ void MainWindow::on_pushButtonModify_clicked()
{ {
deviceType = v; deviceType = v;
} }
else
{
QMessageBox::information(this, tr("Tips"), sane_err_desc(status));
return;
}
if (deviceType != m_vScanParams[index].deviceType) if (deviceType != m_vScanParams[index].deviceType)
{ {