- _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);