Skip to content

Commit

Permalink
Player: Fixed bug when loading deleted measurement
Browse files Browse the repository at this point in the history
The Player will not load the parent directory any more, when the measurement has been deleted.
  • Loading branch information
FlorianReimold committed Sep 15, 2021
1 parent 1f501a9 commit c65014d
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions app/play/play_gui/src/q_ecal_play.cpp
Expand Up @@ -293,7 +293,17 @@ bool QEcalPlay::loadMeasurementFromFileDialog()
auto filenames = open_dialog.selectedFiles();
if (!filenames.empty())
{
return loadMeasurement(filenames.front());
QString path_to_load;
if (QFile(filenames.front()).exists())
{
path_to_load = filenames.front();
}
else
{
path_to_load = QDir::toNativeSeparators(QFileInfo(filenames.front()).path());
}

return loadMeasurement(path_to_load);
}
}

Expand Down Expand Up @@ -321,17 +331,7 @@ bool QEcalPlay::loadMeasurement(const QString& path, bool suppress_blocking_dial
dlg.setValue(0);
dlg.setValue(1);

QString path_to_load;
if (QFile(path).exists())
{
path_to_load = path;
}
else
{
path_to_load = QDir::toNativeSeparators(QFileInfo(path).path());
}

QFuture<bool> success_future = QtConcurrent::run(&ecal_play_, &EcalPlay::LoadMeasurement, path_to_load.toStdString());
QFuture<bool> success_future = QtConcurrent::run(&ecal_play_, &EcalPlay::LoadMeasurement, path.toStdString());

while (!success_future.isFinished())
{
Expand All @@ -344,13 +344,13 @@ bool QEcalPlay::loadMeasurement(const QString& path, bool suppress_blocking_dial
if (success)
{
scenarios_modified_ = false;
emit measurementLoadedSignal(path_to_load);
emit measurementLoadedSignal(path);
emit publishersInitStateChangedSignal(false);

setStepReferenceChannel("");

// Save last measurment path
QDir dir(path_to_load);
QDir dir(path);
QSettings settings;
settings.setValue("last_measurement_folder", QDir::toNativeSeparators(dir.absolutePath()));

Expand Down Expand Up @@ -409,7 +409,7 @@ bool QEcalPlay::loadMeasurement(const QString& path, bool suppress_blocking_dial
QMessageBox error_message(
QMessageBox::Icon::Critical
, tr("Error")
, tr("Unable to load measurement:\n") + QDir::toNativeSeparators(path_to_load)
, tr("Unable to load measurement:\n") + QDir::toNativeSeparators(path)
, QMessageBox::Button::Ok
, caller);
error_message.setWindowIcon(icon);
Expand Down

0 comments on commit c65014d

Please sign in to comment.