fix: Can't auto load the default sesssion file

This commit is contained in:
dreamsourcelabTAI 2023-03-27 16:42:02 +08:00
parent 8bb1b87989
commit 1bf5e50f32
3 changed files with 26 additions and 1 deletions

View File

@ -1513,11 +1513,25 @@ namespace pv
{
QString ses_name = genSessionFileName(true);
bool bExist = false;
QFile sf(ses_name);
if (!sf.exists()){
dsv_info("Try to load the low version session file.");
ses_name = genSessionFileName(false);
}
else{
bExist = true;
}
if (!bExist)
{
QFile sf2(ses_name);
if (!sf2.exists()){
dsv_info("Try to load the default session file.");
ses_name = _file_bar->genDefaultSessionFile();
}
}
on_load_session(ses_name);
}

View File

@ -192,12 +192,21 @@ void FileBar::on_actionDefault_triggered()
"Cannot find default session file for this device!"), this);
return;
}
QString file_name = genDefaultSessionFile();
sig_load_session(file_name);
}
QString FileBar::genDefaultSessionFile()
{
QDir dir(GetResourceDir());
QString driver_name = _session->get_device()->driver_name();
QString mode_name = QString::number(_session->get_device()->get_work_mode());
QString file_name = dir.absolutePath() + "/" + driver_name + mode_name +".def.dsc";
sig_load_session(file_name);
return file_name;
}
void FileBar::on_actionStore_triggered()

View File

@ -44,6 +44,8 @@ public:
void update_view_status();
QString genDefaultSessionFile();
private:
void changeEvent(QEvent *event);
void retranslateUi();