X-Git-Url: http://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;fp=pv%2Fmainwindow.cpp;h=8646175e2b32f7a6b7f0a7ec7233f07d136d77fb;hp=b2a130a737a048f7b259b61e8fa72a2fa79fb9b8;hb=ae8dd8753ec0804f9c87938c13b082f8f39b05b0;hpb=3903edbd71789f8af1c3b133b5702bd1d66f9242 diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index b2a130a7..8646175e 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -79,6 +79,8 @@ MainWindow::MainWindow(DeviceManager &device_manager, QWidget *parent) : { setup_ui(); restore_ui_settings(); + connect(this, SIGNAL(session_error_raised(const QString, const QString)), + this, SLOT(on_session_error_raised(const QString, const QString))); } MainWindow::~MainWindow() @@ -193,6 +195,9 @@ shared_ptr MainWindow::add_view(views::ViewType type, qobject_cast(v.get()), SLOT(trigger_event(int, util::Timestamp))); + connect(&session, SIGNAL(session_error_raised(const QString, const QString)), + this, SLOT(on_session_error_raised(const QString, const QString))); + if (type == views::ViewTypeTrace) { views::trace::View *tv = qobject_cast(v.get()); @@ -691,8 +696,7 @@ void MainWindow::on_run_stop_clicked() if (any_running) s->stop_capture(); else - s->start_capture([&](QString message) { - show_session_error("Capture failed", message); }); + s->start_capture([&](QString message) {Q_EMIT session_error_raised("Capture failed", message);}); } else { shared_ptr session = last_focused_session_; @@ -702,8 +706,7 @@ void MainWindow::on_run_stop_clicked() switch (session->get_capture_state()) { case Session::Stopped: - session->start_capture([&](QString message) { - show_session_error("Capture failed", message); }); + session->start_capture([&](QString message) {Q_EMIT session_error_raised("Capture failed", message);}); break; case Session::AwaitingTrigger: case Session::Running: @@ -981,4 +984,8 @@ void MainWindow::on_close_current_tab() on_tab_close_requested(tab); } +void MainWindow::on_session_error_raised(const QString text, const QString info_text) { + MainWindow::show_session_error(text, info_text); +} + } // namespace pv