X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=6d9ce830bdaf19ef8ee33ba651f0844516904778;hp=245889d65488e5c54f41eff9f9e4664c26b98c41;hb=6592e8fe068111b2dfae8b45699c2974681bc9d8;hpb=268fd2b807aef342b5a4dfec9e6d27103fb7df94 diff --git a/pv/session.cpp b/pv/session.cpp index 245889d..6d9ce83 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -525,7 +525,8 @@ Session::input_format_options(vector user_spec, return result; } -void Session::load_init_file(const string &file_name, const string &format) +void Session::load_init_file(const string &file_name, + const string &format, const string &setup_file_name) { shared_ptr input_format; map input_opts; @@ -549,12 +550,12 @@ void Session::load_init_file(const string &file_name, const string &format) input_format->options()); } - load_file(QString::fromStdString(file_name), input_format, input_opts); + load_file(QString::fromStdString(file_name), QString::fromStdString(setup_file_name), + input_format, input_opts); } -void Session::load_file(QString file_name, - shared_ptr format, - const map &options) +void Session::load_file(QString file_name, QString setup_file_name, + shared_ptr format, const map &options) { const QString errorMessage( QString("Failed to load file %1").arg(file_name)); @@ -582,10 +583,13 @@ void Session::load_file(QString file_name, return; } - // Auto-load the setup if one exists - QString setup_file_name = file_name; - setup_file_name.truncate(setup_file_name.lastIndexOf('.')); - setup_file_name.append(".pvs"); + // Use the input file with .pvs extension if no setup file was given + if (setup_file_name.isEmpty()) { + setup_file_name = file_name; + setup_file_name.truncate(setup_file_name.lastIndexOf('.')); + setup_file_name.append(".pvs"); + } + if (QFileInfo::exists(setup_file_name) && QFileInfo(setup_file_name).isReadable()) { QSettings settings_storage(setup_file_name, QSettings::IniFormat); restore_setup(settings_storage); @@ -821,7 +825,7 @@ void Session::set_capture_state(capture_state state) bool changed; if (state == Running) - acq_time_.start(); + acq_time_.restart(); if (state == Stopped) qDebug("Acquisition took %.2f s", acq_time_.elapsed() / 1000.);