X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fsession.cpp;h=fcd0e135b5a190972613e85ac79ada3f067b7023;hb=09f55d9665efb3b17ba7de4bae47be6989e884fe;hp=2e98c8f73f40c08a70f451c60716824a1b348bbb;hpb=efdec55aec1a137460fa362a381ed1904182bfed;p=pulseview.git 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