From a43e83d2806b6c60dc8e66194aa12757d097e42f Mon Sep 17 00:00:00 2001 From: mvglasow Date: Sun, 15 Jun 2025 22:17:19 +0300 Subject: [PATCH] [traff_assessment_tool] Use path of last file (if any) for file dialog Signed-off-by: mvglasow --- .../traff_assessment_tool/trafficmodeinitdlg.cpp | 13 +++++++++---- traffxml/traff_assessment_tool/trafficmodeinitdlg.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/traffxml/traff_assessment_tool/trafficmodeinitdlg.cpp b/traffxml/traff_assessment_tool/trafficmodeinitdlg.cpp index 8560ead4a..e6eab99cf 100644 --- a/traffxml/traff_assessment_tool/trafficmodeinitdlg.cpp +++ b/traffxml/traff_assessment_tool/trafficmodeinitdlg.cpp @@ -4,6 +4,7 @@ #include "platform/settings.hpp" #include +#include #include @@ -20,12 +21,16 @@ TrafficModeInitDlg::TrafficModeInitDlg(QWidget * parent) : { m_ui->setupUi(this); + QString directory = {}; std::string lastDataFilePath; if (settings::Get(kDataFilePath, lastDataFilePath)) + { m_ui->dataFileName->setText(QString::fromStdString(lastDataFilePath)); + directory = QFileInfo(QString::fromStdString(lastDataFilePath)).absolutePath(); + } - connect(m_ui->chooseDataFileButton, &QPushButton::clicked, [this](bool) { - SetFilePathViaDialog(*m_ui->dataFileName, tr("Choose data file"), "*.xml"); + connect(m_ui->chooseDataFileButton, &QPushButton::clicked, [this, directory](bool) { + SetFilePathViaDialog(*m_ui->dataFileName, tr("Choose data file"), directory, "*.xml"); }); } @@ -42,9 +47,9 @@ void TrafficModeInitDlg::accept() } void TrafficModeInitDlg::SetFilePathViaDialog(QLineEdit & dest, QString const & title, - QString const & filter) + QString const & directory, QString const & filter) { - QFileDialog openFileDlg(nullptr, title, {} /* directory */, filter); + QFileDialog openFileDlg(nullptr, title, directory, filter); openFileDlg.exec(); if (openFileDlg.result() != QDialog::DialogCode::Accepted) return; diff --git a/traffxml/traff_assessment_tool/trafficmodeinitdlg.h b/traffxml/traff_assessment_tool/trafficmodeinitdlg.h index 6ad874e14..5377ee444 100644 --- a/traffxml/traff_assessment_tool/trafficmodeinitdlg.h +++ b/traffxml/traff_assessment_tool/trafficmodeinitdlg.h @@ -23,7 +23,7 @@ public: std::string GetDataFilePath() const { return m_dataFileName; } private: - void SetFilePathViaDialog(QLineEdit & dest, QString const & title, + void SetFilePathViaDialog(QLineEdit & dest, QString const & title, const QString & directory, QString const & filter = {}); public slots: void accept() override;