]> sigrok.org Git - pulseview.git/blobdiff - pv/mainwindow.cpp
MainWindow: Move show_session_error to signals
[pulseview.git] / pv / mainwindow.cpp
index b2a130a737a048f7b259b61e8fa72a2fa79fb9b8..8646175e2b32f7a6b7f0a7ec7233f07d136d77fb 100644 (file)
@@ -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<views::ViewBase> MainWindow::add_view(views::ViewType type,
                qobject_cast<views::ViewBase*>(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<views::trace::View*>(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> 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