X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;fp=pv%2Fsession.cpp;h=840773d1aa7115bd4dcc7594496c776231bcdd15;hp=ea3fe07b4e312c8bece64035967edf4e6e5c692f;hb=2cd6be62cb3dbbc60f4af3a888b232b7d0437532;hpb=4d0f333acdcd747ffc542d77e679ce08af6031ae diff --git a/pv/session.cpp b/pv/session.cpp index ea3fe07b..840773d1 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -176,6 +176,17 @@ void Session::set_name(QString name) name_changed(); } +QString Session::path() const +{ + return path_; +} + +void Session::set_path(QString path) +{ + path_ = path; + set_name(QFileInfo(path).fileName()); +} + const vector< shared_ptr > Session::views() const { return views_; @@ -444,6 +455,8 @@ void Session::restore_settings(QSettings &settings) settings.endGroup(); } + + QString path; if ((device_type == "sessionfile") || (device_type == "inputfile")) { if (device_type == "sessionfile") { settings.beginGroup("device"); @@ -451,6 +464,7 @@ void Session::restore_settings(QSettings &settings) settings.endGroup(); if (QFileInfo(filename).isReadable()) { + path = filename; device = make_shared(device_manager_.context(), filename.toStdString()); } @@ -472,6 +486,9 @@ void Session::restore_settings(QSettings &settings) set_name(QString::fromStdString( dynamic_pointer_cast(device)->display_name(device_manager_))); + + if (!path.isEmpty()) + set_path(path); } } @@ -709,7 +726,7 @@ void Session::load_file(QString file_name, QString setup_file_name, start_capture([&, errorMessage](QString infoMessage) { MainWindow::show_session_error(errorMessage, infoMessage); }); - set_name(QFileInfo(file_name).fileName()); + set_path(file_name); } Session::capture_state Session::get_capture_state() const