X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=3f338a12a09e1124cec927350878656c15828a8f;hp=c8c091d8938d5c863bd9cd1508df20f557ed146f;hb=8a67bd9e5199279ac976412a66b5f6cbfdfc17ea;hpb=e072efc8aa62ff67bc7270515159e2f71f43d9f0 diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index c8c091d8..3f338a12 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -150,6 +150,11 @@ void MainWindow::setup_ui() _menu_file->setTitle(QApplication::translate("MainWindow", "&File", 0, QApplication::UnicodeUTF8)); _menu_view->setTitle(QApplication::translate("MainWindow", "&View", 0, QApplication::UnicodeUTF8)); _menu_help->setTitle(QApplication::translate("MainWindow", "&Help", 0, QApplication::UnicodeUTF8)); + + // Setup _session events + connect(&_session, SIGNAL(capture_state_changed(int)), this, + SLOT(capture_state_changed(int))); + } void MainWindow::on_actionOpen_triggered() @@ -184,10 +189,23 @@ void MainWindow::on_actionAbout_triggered() void MainWindow::run_stop() { - _session.start_capture( - _sampling_bar->get_selected_device(), - _sampling_bar->get_record_length(), - _sampling_bar->get_sample_rate()); + switch(_session.get_capture_state()) { + case SigSession::Stopped: + _session.start_capture( + _sampling_bar->get_selected_device(), + _sampling_bar->get_record_length(), + _sampling_bar->get_sample_rate()); + break; + + case SigSession::Running: + _session.stop_capture(); + break; + } +} + +void MainWindow::capture_state_changed(int state) +{ + _sampling_bar->set_sampling(state != SigSession::Stopped); } } // namespace pv