X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=a99ba35298c39080930e764adcb699e0feb6d707;hb=956a945e4d42d0d7718e6f1364d567f5e25ebf49;hp=77dc946213ef20850247fc0b5acf15f51b820df3;hpb=f2040dcb783986fd478e910a13b6c9bcf8a0a4be;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 77dc946..a99ba35 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -218,6 +218,9 @@ shared_ptr MainWindow::add_session() shared_ptr session = make_shared(device_manager_, name); + connect(session.get(), SIGNAL(add_view(const QString&, view::ViewType, Session*)), + this, SLOT(on_add_view(const QString&, view::ViewType, Session*))); + sessions_.push_back(session); shared_ptr main_view = @@ -252,6 +255,8 @@ void MainWindow::setup_ui() action_about_->setObjectName(QString::fromUtf8("actionAbout")); action_about_->setText(tr("&About...")); + setDockNestingEnabled(true); + // Set the title setWindowTitle(tr("PulseView")); } @@ -334,6 +339,15 @@ bool MainWindow::restoreState(const QByteArray &state, int version) return false; } +void MainWindow::on_add_view(const QString &title, view::ViewType type, + Session *session) +{ + // We get a pointer and need a reference + for (std::shared_ptr s : sessions_) + if (s.get() == session) + add_view(title, type, *s); +} + void MainWindow::on_actionViewStickyScrolling_triggered() { shared_ptr view = get_active_view();