]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.cpp
Snapshot: Renamed to Segment
[pulseview.git] / pv / mainwindow.cpp
index 97717b5abe3493fd16ec2f285cd11955c5ce18a3..cc0e0d25cdf550538df677ddf762aac93804cf1c 100644 (file)
@@ -98,18 +98,32 @@ MainWindow::MainWindow(DeviceManager &device_manager,
 void MainWindow::run_stop()
 {
        switch(session_.get_capture_state()) {
-       case SigSession::Stopped:
+       case Session::Stopped:
                session_.start_capture([&](QString message) {
                        session_error("Capture failed", message); });
                break;
 
-       case SigSession::AwaitingTrigger:
-       case SigSession::Running:
+       case Session::AwaitingTrigger:
+       case Session::Running:
                session_.stop_capture();
                break;
        }
 }
 
+void MainWindow::select_device(shared_ptr<Device> device)
+{
+       try {
+               session_.set_device(device);
+       } catch(const QString &e) {
+               QMessageBox msg(this);
+               msg.setText(e);
+               msg.setInformativeText(tr("Failed to Select Device"));
+               msg.setStandardButtons(QMessageBox::Ok);
+               msg.setIcon(QMessageBox::Warning);
+               msg.exec();
+       }
+}
+
 void MainWindow::setup_ui()
 {
        setObjectName(QString::fromUtf8("MainWindow"));
@@ -364,7 +378,7 @@ void MainWindow::restore_ui_settings()
        device = device_manager_.find_device_from_info(dev_info);
 
        if (device) {
-               session_.set_device(device);
+               select_device(device);
                update_device_list();
        }
 
@@ -497,7 +511,7 @@ void MainWindow::on_actionConnect_triggered()
        // If the user selected a device, select it in the device list. Select the
        // current device otherwise.
        if (dlg.exec())
-               session_.set_device(dlg.get_selected_device());
+               select_device(dlg.get_selected_device());
 
        update_device_list();
 }
@@ -556,7 +570,7 @@ void MainWindow::add_decoder(srd_decoder *decoder)
 
 void MainWindow::capture_state_changed(int state)
 {
-       sampling_bar_->set_capture_state((pv::SigSession::capture_state)state);
+       sampling_bar_->set_capture_state((pv::Session::capture_state)state);
 }
 
 void MainWindow::device_selected()