X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=245889d65488e5c54f41eff9f9e4664c26b98c41;hp=99bd74823904079e1d507be7178afe7b03aedc3c;hb=268fd2b807aef342b5a4dfec9e6d27103fb7df94;hpb=323715c41a09a1aba08f4b716e9d93da58f0f3a8 diff --git a/pv/session.cpp b/pv/session.cpp index 99bd748..245889d 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -582,6 +582,15 @@ 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"); + if (QFileInfo::exists(setup_file_name) && QFileInfo(setup_file_name).isReadable()) { + QSettings settings_storage(setup_file_name, QSettings::IniFormat); + restore_setup(settings_storage); + } + main_bar_->update_device_list(); start_capture([&, errorMessage](QString infoMessage) { @@ -811,6 +820,11 @@ void Session::set_capture_state(capture_state state) { bool changed; + if (state == Running) + acq_time_.start(); + if (state == Stopped) + qDebug("Acquisition took %.2f s", acq_time_.elapsed() / 1000.); + { lock_guard lock(sampling_mutex_); changed = capture_state_ != state; @@ -1452,4 +1466,17 @@ void Session::on_data_saved() data_saved_ = true; } +#ifdef ENABLE_DECODE +void Session::on_new_decoders_selected(vector decoders) +{ + assert(decoders.size() > 0); + + shared_ptr signal = add_decode_signal(); + + if (signal) + for (const srd_decoder* d : decoders) + signal->stack_decoder(d); +} +#endif + } // namespace pv