X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsession.cpp;h=fcd0e135b5a190972613e85ac79ada3f067b7023;hp=2e98c8f73f40c08a70f451c60716824a1b348bbb;hb=5ccfc97e20bbea19b9bc37905dd4cf63ee1f6303;hpb=f30eb549fe91dde6a56f69c24f2f8169039c12a2 diff --git a/pv/session.cpp b/pv/session.cpp index 2e98c8f..fcd0e13 100644 --- a/pv/session.cpp +++ b/pv/session.cpp @@ -105,7 +105,8 @@ Session::Session(DeviceManager &device_manager, QString name) : default_name_(name), name_(name), capture_state_(Stopped), - cur_samplerate_(0) + cur_samplerate_(0), + data_saved_(true) { } @@ -172,6 +173,11 @@ shared_ptr Session::main_bar() const return main_bar_; } +bool Session::data_saved() const +{ + return data_saved_; +} + void Session::save_settings(QSettings &settings) const { map dev_info; @@ -851,6 +857,13 @@ void Session::sample_thread_proc(function error_handler) assert(0); } + // We now have unsaved data unless we just "captured" from a file + shared_ptr file_device = + dynamic_pointer_cast(device_); + + if (!file_device) + data_saved_ = false; + if (out_of_memory_) error_handler(tr("Out of memory, acquisition stopped.")); } @@ -1064,4 +1077,9 @@ void Session::data_feed_in(shared_ptr device, } } +void Session::on_data_saved() +{ + data_saved_ = true; +} + } // namespace pv